app-store/apps/hedgedoc/docker-compose.yml

58 lines
2.2 KiB
YAML

version: "3.7"
services:
hedgedoc:
container_name: hedgedoc
image: quay.io/hedgedoc/hedgedoc:1.9.9
environment:
- CMD_DB_URL=postgres://hedgedoc:${HEDGEDOC_DB_PASSWORD}@hedgedoc-db:5432/hedgedoc
- CMD_DOMAIN=${APP_DOMAIN}
- CMD_URL_ADDPORT=${HEDGEDOC_ADDPORT}
volumes:
- ${APP_DATA_DIR}/data/hedgedoc-uploads:/hedgedoc/public/uploads
ports:
- ${APP_PORT}:3000
restart: always
depends_on:
- hedgedoc-db
networks:
- tipi_main_network
labels:
# Main
traefik.enable: true
traefik.http.middlewares.hedgedoc-web-redirect.redirectscheme.scheme: https
traefik.http.services.hedgedoc.loadbalancer.server.port: 3000
# Web
traefik.http.routers.hedgedoc-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.hedgedoc-insecure.entrypoints: web
traefik.http.routers.hedgedoc-insecure.service: hedgedoc
traefik.http.routers.hedgedoc-insecure.middlewares: hedgedoc-web-redirect
# Websecure
traefik.http.routers.hedgedoc.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.hedgedoc.entrypoints: websecure
traefik.http.routers.hedgedoc.service: hedgedoc
traefik.http.routers.hedgedoc.tls.certresolver: myresolver
# Local domain
traefik.http.routers.hedgedoc-local-insecure.rule: Host(`hedgedoc.${LOCAL_DOMAIN}`)
traefik.http.routers.hedgedoc-local-insecure.entrypoints: web
traefik.http.routers.hedgedoc-local-insecure.service: hedgedoc
traefik.http.routers.hedgedoc-local-insecure.middlewares: hedgedoc-web-redirect
# Local domain secure
traefik.http.routers.hedgedoc-local.rule: Host(`hedgedoc.${LOCAL_DOMAIN}`)
traefik.http.routers.hedgedoc-local.entrypoints: websecure
traefik.http.routers.hedgedoc-local.service: hedgedoc
traefik.http.routers.hedgedoc-local.tls: true
hedgedoc-db:
container_name: hedgedoc-db
image: postgres:13.4-alpine
restart: unless-stopped
environment:
- POSTGRES_USER=hedgedoc
- POSTGRES_PASSWORD=${HEDGEDOC_DB_PASSWORD}
- POSTGRES_DB=hedgedoc
volumes:
- ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data
networks:
- tipi_main_network