1+ services :
2+ cogigo_db :
3+ container_name : cogigo_db
4+ image : postgres:18.1
5+ environment :
6+ POSTGRES_USER : postgres
7+ POSTGRES_PASSWORD : postgres
8+ POSTGRES_DB : postgres
9+ healthcheck :
10+ test : [ "CMD-SHELL", "pg_isready -U postgres -d postgres" ]
11+ interval : 5s
12+ timeout : 3s
13+ retries : 20
14+ volumes :
15+ - ' cogigo_data:/var/lib/postgresql/18/docker'
16+ networks :
17+ - proxy
18+ adminer :
19+ container_name : adminer
20+ image : adminer:latest
21+ networks :
22+ - proxy
23+ restart : unless-stopped
24+ environment :
25+ ADMINER_DEFAULT_SERVER : postgres
26+ labels :
27+ - " traefik.enable=true"
28+ - " traefik.http.routers.adminer.entrypoints=http"
29+ - " traefik.http.routers.adminer.rule=Host(`adminer.cogito-ntnu.no`)"
30+ - " traefik.http.routers.adminer.service=adminer"
31+ - " traefik.http.middlewares.adminer-https-redirect.redirectscheme.scheme=https"
32+ - " traefik.http.routers.adminer.middlewares=adminer-https-redirect"
33+ - " traefik.http.routers.adminer-secure.entrypoints=https"
34+ - " traefik.http.routers.adminer-secure.rule=Host(`adminer.cogito-ntnu.no`)"
35+ - " traefik.http.routers.adminer-secure.tls=true"
36+ - " traefik.http.routers.adminer-secure.tls.certresolver=cloudflare"
37+ - " traefik.http.routers.adminer-secure.service=adminer"
38+ - " traefik.http.services.adminer.loadbalancer.server.port=8080"
39+
40+ cogito_backend :
41+ container_name : cogito_backend
42+ image : ghcr.io/cogitontnu/cogi-go:latest
43+ entrypoint : ["/bin/sh","-lc"]
44+ command : " ./main"
45+ environment :
46+ ENVIRONMENT : " PRODUCTION"
47+ SQL_HOST : cogigo_db
48+ SQL_PORT : 5432
49+ SQL_USER : postgres
50+ SQL_PASSWORD : postgres
51+ SQL_DATABASE : postgres
52+ networks :
53+ - proxy
54+ labels :
55+ - " traefik.enable=true"
56+ - " traefik.http.routers.backend.entrypoints=http"
57+ - " traefik.http.routers.backend.rule=Host(`backend.cogito-ntnu.no`)"
58+ - " traefik.http.routers.backend.service=cogito"
59+ - " traefik.http.middlewares.backend-https-redirect.redirectscheme.scheme=https"
60+ - " traefik.http.routers.backend.middlewares=backend-https-redirect"
61+ - " traefik.http.routers.backend-secure.entrypoints=https"
62+ - " traefik.http.routers.backend-secure.rule=Host(`backend.cogito-ntnu.no`)"
63+ - " traefik.http.routers.backend-secure.tls=true"
64+ - " traefik.http.routers.backend-secure.tls.certresolver=cloudflare"
65+ - " traefik.http.routers.backend-secure.service=cogito"
66+ - " traefik.http.services.cogito.loadbalancer.server.port=8080"
67+ depends_on :
68+ cogigo_db :
69+ condition : service_healthy
70+
71+ volumes :
72+ cogigo_data : {}
73+
74+ networks :
75+ proxy :
76+ external : true
0 commit comments