Add docker-compose file
This commit is contained in:
parent
a834207fee
commit
261b8cbed7
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -1,4 +1,5 @@
|
||||||
/graphics
|
/graphics
|
||||||
.DS_Store
|
.DS_Store
|
||||||
**/*.secret
|
|
||||||
**/*.pw
|
**/*.pw
|
||||||
|
**/*.secret
|
||||||
|
|
|
||||||
56
docker-compose.yml
Normal file
56
docker-compose.yml
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
services:
|
||||||
|
crabfit-api:
|
||||||
|
build:
|
||||||
|
context: ./api
|
||||||
|
# args:
|
||||||
|
# adaptor: sql-adaptor (default) | memory-adaptor | datastore-adaptor
|
||||||
|
# # datastore is for Google Datastore
|
||||||
|
secrets:
|
||||||
|
- crabfit database password
|
||||||
|
- crabfit cron key
|
||||||
|
environment:
|
||||||
|
DATABASE_PASSWORD_FILE: /run/secrets/crabfit database password
|
||||||
|
DATABASE_URL: psql://crabfit@crabfit-database:5432/crabfit
|
||||||
|
FRONTEND_URL: https://availability.techwork.zone
|
||||||
|
CRON_KEY_FILE: /run/secrets/crabfit cron key
|
||||||
|
labels:
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.routers.crabfit-api.rule: Host(`api.a10y.techwork.zone`)
|
||||||
|
traefik.http.routers.crabfit-api.tls: true
|
||||||
|
traefik.http.routers.crabfit-api.tls.certresolver: letsencrypt_standalone
|
||||||
|
networks:
|
||||||
|
- crabfit-internal
|
||||||
|
- public
|
||||||
|
crabfit-database:
|
||||||
|
image: postgres:17
|
||||||
|
secrets: [ 'crabfit database password' ]
|
||||||
|
environment:
|
||||||
|
POSTGRES_PASSWORD_FILE: /run/secrets/crabfit database password
|
||||||
|
POSTGRES_USER: crabfit
|
||||||
|
POSTGRES_DB: crabfit
|
||||||
|
volumes:
|
||||||
|
./mounts/database:/var/lib/postgresql/data
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "pg_isready"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 20s
|
||||||
|
retries: 3
|
||||||
|
networks: [ crabfit-internal ]
|
||||||
|
|
||||||
|
crabfit-frontend:
|
||||||
|
build:
|
||||||
|
context: ./frontend
|
||||||
|
labels:
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.routers.crabfit-frontend.rule: (Host(`a10y.techwork.zone`) || Host(`availability.techwork.zone`))
|
||||||
|
traefik.http.routers.crabfit-frontend.tls: true
|
||||||
|
traefik.http.routers.crabfit-frontend.tls.certresolver: letsencrypt_standalone
|
||||||
|
environment:
|
||||||
|
NEXT_PUBLIC_API_URL: https://api.a10y.techwork.zone
|
||||||
|
|
||||||
|
|
||||||
|
secrets:
|
||||||
|
crabfit database password:
|
||||||
|
file: ./postgres.pw
|
||||||
|
crabfit cron key:
|
||||||
|
file: ./cron.secret
|
||||||
Loading…
Reference in a new issue