56 lines
1.7 KiB
YAML
56 lines
1.7 KiB
YAML
services:
|
|
local-ical:
|
|
build: .
|
|
container_name: local-ical
|
|
restart: unless-stopped
|
|
depends_on:
|
|
postgresql:
|
|
condition: service_started
|
|
networks:
|
|
- traefik
|
|
- internal
|
|
labels:
|
|
'traefik.enable': 'true'
|
|
'traefik.docker.network': 'traefik'
|
|
'traefik.http.routers.ical-local.rule': 'Host(`cal.cloud.dmytros.dev`)'
|
|
'traefik.http.routers.ical-local.entrypoints': 'websecure'
|
|
'traefik.http.routers.ical-local.tls.certresolver': 'letsencrypt'
|
|
'traefik.http.routers.ical-local.service': 'ical-local-service'
|
|
'traefik.http.services.ical-local-service.loadbalancer.server.port': '3000'
|
|
postgresql:
|
|
image: docker.io/library/postgres:16-alpine
|
|
restart: unless-stopped
|
|
container_name: local-ical-db
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
|
|
start_period: 20s
|
|
interval: 30s
|
|
retries: 5
|
|
timeout: 5s
|
|
# ports:
|
|
# - '5432:5432'
|
|
volumes:
|
|
- ical-local-postges:/var/lib/postgresql/data
|
|
env_file:
|
|
- .env.db
|
|
networks:
|
|
- traefik
|
|
- internal
|
|
labels:
|
|
'traefik.enable': 'true'
|
|
'traefik.docker.network': 'traefik'
|
|
'traefik.http.routers.ical-local-db.rule': 'Host(`db.cal.cloud.dmytros.dev`)'
|
|
'traefik.http.routers.ical-local-db.entrypoints': 'websecure'
|
|
'traefik.http.routers.ical-local-db.tls.certresolver': 'letsencrypt'
|
|
'traefik.http.routers.ical-local-db.service': 'ical-local-db-service'
|
|
'traefik.http.services.ical-local-db-service.loadbalancer.server.port': '5432'
|
|
volumes:
|
|
ical-local-postges:
|
|
driver: local
|
|
networks:
|
|
traefik:
|
|
external: true
|
|
internal:
|
|
external: false
|
|
name: local-ical-network
|