115 lines
3.3 KiB
YAML
115 lines
3.3 KiB
YAML
---
|
|
|
|
version: "3"
|
|
|
|
services:
|
|
medwings-caddy:
|
|
container_name: medwings-caddy
|
|
restart: unless-stopped
|
|
build:
|
|
context: .
|
|
dockerfile: production.caddy.Dockerfile
|
|
args:
|
|
CUSTOM_UID: 1000
|
|
CUSTOM_GID: 1000
|
|
expose:
|
|
- "8000"
|
|
networks:
|
|
- medwings
|
|
- proxy
|
|
environment:
|
|
TZ: ${TIMEZONE}
|
|
volumes:
|
|
- /srv/medwings/static:/srv/static:ro
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.medwings.entrypoints=https"
|
|
- "traefik.http.routers.medwings.rule=Host(`medwings.lobbes.dev`)"
|
|
- "traefik.http.routers.medwings.middlewares=default@file"
|
|
- "traefik.http.routers.medwings.tls=true"
|
|
- "traefik.http.services.medwings.loadbalancer.server.port=8000"
|
|
- "traefik.docker.network=proxy"
|
|
medwings-django:
|
|
container_name: medwings-django
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- medwings-caddy
|
|
- ${PG_HOST}
|
|
build:
|
|
context: .
|
|
dockerfile: production.django.Dockerfile
|
|
args:
|
|
CUSTOM_UID: 1000
|
|
CUSTOM_GID: 1000
|
|
expose:
|
|
- "8000"
|
|
networks:
|
|
- medwings
|
|
environment:
|
|
TZ: ${TIMEZONE}
|
|
DJANGO_DEBUG_MODE: ${DJANGO_DEBUG_MODE}
|
|
DJANGO_SECRET_KEY: ${DJANGO_SECRET_KEY}
|
|
PG_NAME: ${PG_NAME}
|
|
PG_USER: ${PG_USER}
|
|
PG_PASSWORD: ${PG_PASSWORD}
|
|
PG_HOST: ${PG_HOST}
|
|
PG_PORT: ${PG_PORT}
|
|
WITHINGS_CLIENT_ID: ${WITHINGS_CLIENT_ID}
|
|
WITHINGS_CLIENT_SECRET: ${WITHINGS_CLIENT_SECRET}
|
|
GOTIFY_USER: ${GOTIFY_USER}
|
|
GOTIFY_PASSWORD: ${GOTIFY_PASSWORD}
|
|
GOTIFY_HOST: ${GOTIFY_HOST}
|
|
GOTIFY_PUBLIC_URL: ${GOTIFY_PUBLIC_URL}
|
|
volumes:
|
|
- /srv/medwings/static:/srv/static
|
|
medwings-postgres:
|
|
image: postgres:alpine
|
|
container_name: ${PG_HOST}
|
|
restart: unless-stopped
|
|
expose:
|
|
- ${PG_PORT}
|
|
networks:
|
|
- medwings
|
|
volumes:
|
|
- /srv/medwings/db:/var/lib/postgresql/data
|
|
environment:
|
|
POSTGRES_DB: ${PG_NAME}
|
|
POSTGRES_USER: ${PG_USER}
|
|
POSTGRES_PASSWORD: ${PG_PASSWORD}
|
|
TZ: ${TIMEZONE}
|
|
medwings-gotify:
|
|
image: gotify/server
|
|
container_name: medwings-gotify
|
|
restart: unless-stopped
|
|
expose:
|
|
- "80"
|
|
networks:
|
|
- medwings
|
|
- proxy
|
|
volumes:
|
|
- /srv/medwings/gotify:/app/data
|
|
environment:
|
|
TZ: ${TIMEZONE}
|
|
GOTIFY_SERVER_SSL_REDIRECTTOHTTPS: false
|
|
GOTIFY_DEFAULTUSER_NAME: ${GOTIFY_USER}
|
|
GOTIFY_DEFAULTUSER_PASS: ${GOTIFY_PASSWORD}
|
|
GOTIFY_SERVER_CORS_ALLOWORIGINS: "- \"medwings-django:8000\"\n- \"medwings-notifications.lobbes.dev\"\n- \"medwings.lobbes.dev\""
|
|
GOTIFY_SERVER_CORS_ALLOWMETHODS: "- \"GET\"\n- \"POST\""
|
|
GOTIFY_SERVER_CORS_ALLOWHEADERS: "- \"Authorization\"\n- \"content-type\""
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.medwings-notifications.entrypoints=https"
|
|
- "traefik.http.routers.medwings-notifications.rule=Host(`medwings-notifications.lobbes.dev`)"
|
|
- "traefik.http.routers.medwings-notifications.middlewares=default@file"
|
|
- "traefik.http.routers.medwings-notifications.tls=true"
|
|
- "traefik.http.services.medwings-notifications.loadbalancer.server.port=80"
|
|
- "traefik.docker.network=proxy"
|
|
|
|
networks:
|
|
medwings:
|
|
external: false
|
|
proxy:
|
|
external: true
|
|
|
|
...
|