website/content/docs/self-hosted/docker.md

60 lines
1.4 KiB
Markdown
Raw Normal View History

2021-07-21 15:49:53 +05:30
---
2022-08-01 22:26:08 +05:30
title: "Using Docker"
description: "Deploy mCaptcha using docker"
2021-07-21 15:49:53 +05:30
date: 2021-07-21 15:14
lastmod: 2021-07-21 15:14
draft: false
images: []
menu:
docs:
2022-08-01 19:16:21 +05:30
parent: "Self-Hosted"
2022-08-01 20:24:18 +05:30
weight: 533
2021-07-21 15:49:53 +05:30
toc: true
---
2022-08-01 22:26:08 +05:30
## With Docker
2021-07-21 15:49:53 +05:30
### 1. Configure
mcaptcha is highly configurable.
Configuration is applied/merged in the following order:
1. path to configuration file passed in via `MCAPTCHA_CONFIG`
2. `./config/default.toml`
3. `/etc/mcaptcha/config.toml`
4. environment variables.
See
[CONFIGURATION.md](https://github.com/mCaptcha/mCaptcha/tree/master/docs/CONFIGURATION.md)
for configurable options.
### 2. Run image
If you have already have a Postgres instance running, then:
```bash
docker run -p <host-machine-port>:<port-in-configuration-file> \
--add-host=database:<database-ip-addrss> \
-e RUST_LOG=debug \
-e DATABASE_URL="postgres://<db-user>:<db-password>@database:<db-port>/<db-name>" \
mcaptcha/mcaptcha:latest
```
If you don't have a Postgres instance running, you can either install
one using a package manager or launch one with docker. A [docker-compose
configuration]('../docker-compose.yml) is available that will launch both
a database instance mcaptcha instance.
## With docker-compose
1. Follow steps above to build docker image.
2. Set database password [docker-compose configuration]('../docker-compose.yml).
3. Launch network
```bash
docker-compose up -d
```