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