micrach/docker-compose.yml
2022-02-28 11:54:14 +02:00

59 lines
2.1 KiB
YAML

version: "3.7"
services:
app:
image: ghcr.io/yanislav-igonin/micrach-go/micrach:latest
networks:
- web
environment:
ENV: release
PORT: ${PORT}
IS_DB_SEEDED: ${IS_DB_SEEDED}
IS_RATE_LIMITER_ENABLED: ${IS_RATE_LIMITER_ENABLED}
THREADS_MAX_COUNT: ${THREADS_MAX_COUNT}
POSTGRES_URL: ${POSTGRES_URL}
THREAD_BUMP_LIMIT: ${THREAD_BUMP_LIMIT}
IS_CAPTCHA_ACTIVE: ${IS_CAPTCHA_ACTIVE}
GATEWAY_URL: ${GATEWAY_URL}
GATEWAY_API_KEY: ${GATEWAY_API_KEY}
GATEWAY_BOARD_ID: ${GATEWAY_BOARD_ID}
GATEWAY_BOARD_URL: ${GATEWAY_BOARD_URL}
GATEWAY_BOARD_DESCRIPTION: ${GATEWAY_BOARD_DESCRIPTION}
volumes:
- /root/micrach-go/uploads:/app/uploads
deploy:
mode: global
placement:
constraints:
- node.role == manager
update_config:
parallelism: 1
delay: 10s
restart_policy:
condition: on-failure
labels:
traefik.enable: "true"
traefik.docker.network: "web"
traefik.http.services.micrach.loadbalancer.server.port: ${PORT}
traefik.http.middlewares.micrach-https-redirect.redirectscheme.scheme: "https"
traefik.http.middlewares.prefixstripper.stripprefix.prefixes: "/${GATEWAY_BOARD_ID}"
traefik.http.middlewares.prefixstripper.stripprefix.forceSlash: "false"
traefik.http.routers.micrach.entrypoints: "http"
traefik.http.routers.micrach.rule: "Host(`micrach.igonin.dev`) && PathPrefix(`/${GATEWAY_BOARD_ID}`)"
traefik.http.routers.micrach.middlewares: "micrach-https-redirect"
traefik.http.routers.micrach.middlewares: "prefixstripper"
traefik.http.routers.micrach-secure.entrypoints: "https"
traefik.http.routers.micrach-secure.rule: "Host(`micrach.igonin.dev`) && PathPrefix(`/${GATEWAY_BOARD_ID}`)"
traefik.http.routers.micrach-secure.tls: "true"
traefik.http.routers.micrach-secure.service: "micrach"
traefik.http.routers.micrach-secure.middlewares: "prefixstripper"
networks:
web:
driver: overlay
external: true