--- services: ferdium-server: image: ferdium/ferdium-server:{{FERDIUM_VERSION}} restart: unless-stopped depends_on: - mariadb environment: - NODE_ENV={{FERDIUM_NODEENV}} - APP_URL={{FERDIUM_URL}} - DB_CONNECTION={{FERDIUM_DATABASE}} - DB_HOST={{FERDIUM_DBHOST}} - DB_PORT={{FERDIUM_DBPORT}} - DB_USER={{MARIADB_USER}} - DB_PASSWORD={{MARIADB_PASSWORD}} - DB_DATABASE={{MARIADB_DATABASE}} - DB_SSL={{FERDIUM_DBSSL}} - MAIL_CONNECTION={{FERDIUM_MAIL}} - SMTP_HOST={{FERDIUM_MAILHOST}} - SMTP_PORT={{FERDIUM_MAILPORT}} - MAIL_SSL={{FERDIUM_MAILSSL}} - MAIL_USERNAME={{FERDIUM_MAILUSER}} - MAIL_PASSWORD={{FERDIUM_MAILPASS}} - MAIL_SENDER={{FERDIUM_MAILSENDER}} - IS_CREATION_ENABLED={{FERDIUM_RECIPESCREATION}} - IS_DASHBOARD_ENABLED={{FERDIUM_DASHBOARD}} - IS_REGISTRATION_ENABLED={{FERDIUM_REGISTRATION}} - CONNECT_WITH_FRANZ={{FERDIUM_FRANZ}} - DATA_DIR=/data - JWT_USE_PEM=true labels: ### Section Træfik - traefik.enable={{TRAEFIK_ENABLED}} - traefik.docker.network={{TRAEFIK_NETWORK}} ## HTTP - traefik.http.routers.http-{{TRAEFIK_ROUTER}}.entrypoints=http # redirect to HTTPS only - traefik.http.routers.http-{{TRAEFIK_ROUTER}}.middlewares={{TRAEFIK_HTTP_MIDDLEWARES}} - traefik.http.routers.http-{{TRAEFIK_ROUTER}}.rule={{TRAEFIK_MATCHRULE}} ## HTTPS - traefik.http.routers.https-{{TRAEFIK_ROUTER}}.entrypoints=https # configure the exposed service - traefik.http.routers.https-{{TRAEFIK_ROUTER}}.middlewares={{TRAEFIK_HTTPS_MIDDLEWARES}} - traefik.http.routers.https-{{TRAEFIK_ROUTER}}.rule={{TRAEFIK_MATCHRULE}} # enable TLS and its certificate provider - traefik.http.routers.https-{{TRAEFIK_ROUTER}}.tls={{TRAEFIK_TLSENABLED}} - traefik.http.routers.https-{{TRAEFIK_ROUTER}}.tls.certresolver={{TRAEFIK_CERTRESOLVER}} # specify a service so a custom port can be used - traefik.http.services.{{TRAEFIK_SERVICE}}.loadbalancer.server.port={{TRAEFIK_SERVICE_PORT}} ### Section Diun - diun.enable={{FERDIUM_DIUN_ENABLE}} - diun.watch_repo={{FERDIUM_DIUN_WATCHREPO}} - diun.sort_tags={{FERDIUM_DIUN_SORTALGO}} - diun.include_tags={{FERDIUM_DIUN_INCLUDE}} - diun.exclude_tags={{FERDIUM_DIUN_EXCLUDE}} networks: - internal - traefik volumes: - {{FERDIUM_DATA}}:/data - {{FERDIUM_RECIPES}}:/app/recipes mariadb: image: mariadb:{{MARIADB_VERSION}} restart: unless-stopped environment: - MARIADB_ROOT_PASSWORD={{MARIADB_ROOT_PASSWORD}} - MARIADB_USER={{MARIADB_USER}} - MARIADB_PASSWORD={{MARIADB_PASSWORD}} - MARIADB_DATABASE={{MARIADB_DATABASE}} labels: ### Section Diun - diun.enable={{MARIADB_DIUN_ENABLE}} - diun.watch_repo={{MARIADB_DIUN_WATCHREPO}} - diun.sort_tags={{MARIADB_DIUN_SORTALGO}} - diun.include_tags={{MARIADB_DIUN_INCLUDE}} - diun.exclude_tags={{MARIADB_DIUN_EXCLUDE}} networks: - internal volumes: - {{MARIADB_DATA}}:/var/lib/mysql networks: internal: traefik: external: true name: {{TRAEFIK_NETWORK}}