137 lines
6.8 KiB
YAML
137 lines
6.8 KiB
YAML
services:
|
|
frontend:
|
|
image: git.federspiel.tech/flfeders/fedeo/frontend:dev
|
|
restart: always
|
|
environment:
|
|
- NUXT_PUBLIC_API_BASE=https://app.fedeo.de/backend
|
|
- NUXT_PUBLIC_PDF_LICENSE=eyJkYXRhIjoiZXlKMElqb2laR1YyWld4dmNHVnlJaXdpWVhaMUlqb3hOemt3TmpNNU9UazVMQ0prYlNJNkltRndjQzVtWldSbGJ5NWtaU0lzSW00aU9pSXpOemt3Wm1Vek5UazBZbVU0TlRRNElpd2laWGh3SWpveE56a3dOak01T1RrNUxDSmtiWFFpT2lKemNHVmphV1pwWXlJc0luQWlPaUoyYVdWM1pYSWlmUT09Iiwic2lnbmF0dXJlIjoicWU4K0ZxQUJDNUp5bEJUU094Vkd5RTJMbk9UNmpyc2EyRStsN2tNNWhkM21KK2ZvVjYwaTFKeFdhZGtqSDRNWXZxQklMc0dpdWh5d2pMbUFjRHZuWGxOcTRMcXFLRm53dzVtaG1LK3lTeDRXbzVaS1loK1VZdFBzWUZjV3oyUHVGMmJraGJrVjJ6RzRlTGtRU09wdmJKY3JUZU1rN0N1VkN6Q1UraHF5T0ZVVXllWnRmaHlmcWswZEFFL0RMR1hvTDFSQXFjNkNkYU9FTDRTdC9Idy9DQnFieTE2aisvT3RxQUlLcy9NWTR6SVk3RTI3bWo4RUx5VjhXNkdXNXhqc0VUVzNKN0RRMUVlb3RhVlNLT29kc3pVRlhUYzVlbHVuSm04ZlcwM1ErMUhtSnpmWGoyS1dwM1dnamJDazZYSHozamFML2lOdUYvZFZNaWYvc2FoR3NnPT0ifQ==
|
|
networks:
|
|
- traefik
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=traefik"
|
|
- "traefik.port=3000"
|
|
- "traefik.http.middlewares.fedeo-frontend-redirect-web-secure.redirectscheme.scheme=https"
|
|
- "traefik.http.routers.fedeo-frontend.middlewares=fedeo-frontend-redirect-web-secure"
|
|
- "traefik.http.routers.fedeo-frontend.rule=Host(`app.fedeo.de`) && PathPrefix(`/`)"
|
|
- "traefik.http.routers.fedeo-frontend.entrypoints=web"
|
|
- "traefik.http.routers.fedeo-frontend.priority=1"
|
|
- "traefik.http.routers.fedeo-frontend-secure.rule=Host(`app.fedeo.de`) && PathPrefix(`/`)"
|
|
- "traefik.http.routers.fedeo-frontend-secure.entrypoints=web-secured"
|
|
- "traefik.http.routers.fedeo-frontend-secure.tls.certresolver=mytlschallenge"
|
|
- "traefik.http.routers.fedeo-frontend-secure.priority=1"
|
|
|
|
docs:
|
|
image: git.federspiel.tech/flfeders/fedeo/docs:dev
|
|
restart: always
|
|
networks:
|
|
- traefik
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=traefik"
|
|
- "traefik.port=3000"
|
|
- "traefik.http.middlewares.fedeo-docs-redirect-web-secure.redirectscheme.scheme=https"
|
|
- "traefik.http.middlewares.fedeo-docs-strip.stripprefix.prefixes=/docs"
|
|
- "traefik.http.routers.fedeo-docs.middlewares=fedeo-docs-redirect-web-secure"
|
|
- "traefik.http.routers.fedeo-docs.rule=Host(`app.fedeo.de`) && PathPrefix(`/docs`)"
|
|
- "traefik.http.routers.fedeo-docs.entrypoints=web"
|
|
- "traefik.http.routers.fedeo-docs.priority=120"
|
|
- "traefik.http.routers.fedeo-docs-secure.rule=Host(`app.fedeo.de`) && PathPrefix(`/docs`)"
|
|
- "traefik.http.routers.fedeo-docs-secure.entrypoints=web-secured"
|
|
- "traefik.http.routers.fedeo-docs-secure.tls.certresolver=mytlschallenge"
|
|
- "traefik.http.routers.fedeo-docs-secure.middlewares=fedeo-docs-strip"
|
|
- "traefik.http.routers.fedeo-docs-secure.priority=120"
|
|
|
|
backend:
|
|
image: git.federspiel.tech/flfeders/fedeo/backend:dev
|
|
restart: always
|
|
environment:
|
|
- INFISICAL_CLIENT_ID=a6838bd6-9983-4bf4-9be2-ace830b9abdf
|
|
- INFISICAL_CLIENT_SECRET=4e3441acc0adbffd324aa50e668a95a556a3f55ec6bb85954e176e35a3392003
|
|
- NODE_ENV=production
|
|
- WEB_PUSH_PUBLIC_KEY=${WEB_PUSH_PUBLIC_KEY:-}
|
|
- WEB_PUSH_PRIVATE_KEY=${WEB_PUSH_PRIVATE_KEY:-}
|
|
- WEB_PUSH_SUBJECT=${WEB_PUSH_SUBJECT:-mailto:admin@example.com}
|
|
- NODE_EXPORTER_URL=${NODE_EXPORTER_URL:-http://node-exporter:9100}
|
|
- TELEPHONY_ENABLED=${TELEPHONY_ENABLED:-false}
|
|
- TELEPHONY_ASTERISK_HTTP_URL=${TELEPHONY_ASTERISK_HTTP_URL:-}
|
|
- TELEPHONY_ASTERISK_WS_URL=${TELEPHONY_ASTERISK_WS_URL:-}
|
|
- TELEPHONY_SIP_DOMAIN=${TELEPHONY_SIP_DOMAIN:-localhost}
|
|
- TELEPHONY_ECHO_EXTENSION=${TELEPHONY_ECHO_EXTENSION:-600}
|
|
- TELEPHONY_EXTERNAL_PROVIDER=${TELEPHONY_EXTERNAL_PROVIDER:-}
|
|
- TELEPHONY_EXTERNAL_ENABLED=${TELEPHONY_EXTERNAL_ENABLED:-false}
|
|
- TELEPHONY_EXTERNAL_INBOUND_EXTENSION=${TELEPHONY_EXTERNAL_INBOUND_EXTENSION:-1001}
|
|
- TELEPHONY_ASTERISK_GENERATED_DIR=${TELEPHONY_ASTERISK_GENERATED_DIR:-/var/lib/fedeo/asterisk/generated}
|
|
- TELEPHONY_ASTERISK_AMI_HOST=${TELEPHONY_ASTERISK_AMI_HOST:-}
|
|
- TELEPHONY_ASTERISK_AMI_PORT=${TELEPHONY_ASTERISK_AMI_PORT:-5038}
|
|
- TELEPHONY_ASTERISK_AMI_USER=${TELEPHONY_ASTERISK_AMI_USER:-fedeo}
|
|
- TELEPHONY_ASTERISK_AMI_PASSWORD=${TELEPHONY_ASTERISK_AMI_PASSWORD:-fedeo-ami-dev}
|
|
volumes:
|
|
- ./telephony/generated:/var/lib/fedeo/asterisk/generated
|
|
networks:
|
|
- traefik
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=traefik"
|
|
- "traefik.port=3100"
|
|
- "traefik.http.middlewares.fedeo-backend-redirect-web-secure.redirectscheme.scheme=https"
|
|
- "traefik.http.middlewares.fedeo-backend-strip.stripprefix.prefixes=/backend"
|
|
- "traefik.http.routers.fedeo-backend.middlewares=fedeo-backend-redirect-web-secure"
|
|
- "traefik.http.routers.fedeo-backend.rule=Host(`app.fedeo.de`) && PathPrefix(`/backend`)"
|
|
- "traefik.http.routers.fedeo-backend.entrypoints=web"
|
|
- "traefik.http.routers.fedeo-backend-secure.rule=Host(`app.fedeo.de`) && PathPrefix(`/backend`)"
|
|
- "traefik.http.routers.fedeo-backend-secure.entrypoints=web-secured"
|
|
- "traefik.http.routers.fedeo-backend-secure.tls.certresolver=mytlschallenge"
|
|
- "traefik.http.routers.fedeo-backend-secure.middlewares=fedeo-backend-strip"
|
|
|
|
node-exporter:
|
|
image: prom/node-exporter:v1.8.2
|
|
restart: unless-stopped
|
|
command:
|
|
- --path.procfs=/host/proc
|
|
- --path.sysfs=/host/sys
|
|
- --path.rootfs=/rootfs
|
|
- --collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)
|
|
pid: host
|
|
volumes:
|
|
- /proc:/host/proc:ro
|
|
- /sys:/host/sys:ro
|
|
- /:/rootfs:ro,rslave
|
|
networks:
|
|
- traefik
|
|
|
|
traefik:
|
|
image: traefik:v2.11
|
|
restart: unless-stopped
|
|
container_name: traefik
|
|
command:
|
|
- "--api.insecure=false"
|
|
- "--api.dashboard=false"
|
|
- "--api.debug=false"
|
|
- "--providers.docker=true"
|
|
- "--providers.docker.exposedbydefault=false"
|
|
- "--providers.docker.network=traefik"
|
|
- "--entrypoints.web.address=:80"
|
|
- "--entrypoints.web-secured.address=:443"
|
|
- "--accesslog=true"
|
|
- "--accesslog.filepath=/logs/access.log"
|
|
- "--accesslog.bufferingsize=5000"
|
|
- "--accesslog.fields.defaultMode=keep"
|
|
- "--accesslog.fields.headers.defaultMode=keep"
|
|
- "--certificatesresolvers.mytlschallenge.acme.tlschallenge=true"
|
|
- "--certificatesresolvers.mytlschallenge.acme.email=moin@fedeo.de"
|
|
- "--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json"
|
|
ports:
|
|
- 80:80
|
|
- 443:443
|
|
volumes:
|
|
- "./traefik/letsencrypt:/letsencrypt"
|
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
|
- "./traefik/logs:/logs"
|
|
networks:
|
|
- traefik
|
|
|
|
networks:
|
|
traefik:
|
|
external: false
|