38 lines
988 B
YAML
38 lines
988 B
YAML
version: "3.3"
|
|
|
|
services:
|
|
pg:
|
|
image: postgres:latest
|
|
environment:
|
|
POSTGRES_USER: '${POSTGRES_USER}'
|
|
POSTGRES_DB: '${POSTGRES_DB}'
|
|
POSTGRES_PASSWORD: '${POSTGRES_PASSWORD}'
|
|
|
|
# allow prisma client to push changes from outside docker etc
|
|
# ufw blocks this from being publicly accessible
|
|
ports:
|
|
- '45432:5432'
|
|
volumes:
|
|
- "./db:/var/lib/postgresql/data"
|
|
|
|
api:
|
|
image: node:16
|
|
working_dir: /opt/mcrates/api
|
|
entrypoint: npm start
|
|
environment:
|
|
DATABASE_URL: 'postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@pg:5432/${POSTGRES_DB}?schema=public'
|
|
DISCORD_TOKEN: '${DISCORD_TOKEN}'
|
|
DISCORD_ENABLED: 'true'
|
|
volumes:
|
|
- "./api:/opt/mcrates/api"
|
|
|
|
nginx:
|
|
image: nginx:latest
|
|
volumes:
|
|
- './nginx/matescrates.au.nginx.conf:/etc/nginx/conf.d/default.conf'
|
|
- './client/build:/srv/matescrates'
|
|
- '/etc/letsencrypt:/etc/letsencrypt'
|
|
ports:
|
|
- '80:80'
|
|
- '443:443'
|