64 lines
1.6 KiB
YAML
64 lines
1.6 KiB
YAML
services:
|
|
takerofnotes:
|
|
container_name: takerofnotes
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.prod
|
|
image: takerofnotes-cms:latest
|
|
restart: unless-stopped
|
|
env_file: .env
|
|
environment:
|
|
DATABASE_CLIENT: ${DATABASE_CLIENT}
|
|
DATABASE_HOST: takerofnotesDB
|
|
DATABASE_NAME: ${DATABASE_NAME}
|
|
DATABASE_USERNAME: ${DATABASE_USERNAME}
|
|
DATABASE_PORT: ${DATABASE_PORT}
|
|
JWT_SECRET: ${JWT_SECRET}
|
|
ADMIN_JWT_SECRET: ${ADMIN_JWT_SECRET}
|
|
DATABASE_PASSWORD: ${DATABASE_PASSWORD}
|
|
NODE_ENV: ${NODE_ENV}
|
|
volumes:
|
|
- ./.env:/opt/app/.env
|
|
- ./public/uploads:/opt/app/public/uploads
|
|
depends_on:
|
|
- takerofnotesDB
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- node
|
|
- "-e"
|
|
- "fetch('http://127.0.0.1:1337/admin').then((r) => {if (r.status !== 200) throw new Error(r.status)})"
|
|
timeout: 5s
|
|
interval: 5s
|
|
retries: 3
|
|
|
|
takerofnotesDB:
|
|
container_name: takerofnotesDB
|
|
platform: linux/amd64
|
|
restart: unless-stopped
|
|
env_file: .env
|
|
image: postgres:14.5-alpine
|
|
environment:
|
|
POSTGRES_USER: ${DATABASE_USERNAME}
|
|
POSTGRES_PASSWORD: ${DATABASE_PASSWORD}
|
|
POSTGRES_DB: ${DATABASE_NAME}
|
|
volumes:
|
|
- takerofnotes-data:/var/lib/postgresql/data/
|
|
|
|
takerofnotesAdminer:
|
|
container_name: takerofnotesAdminer
|
|
image: adminer
|
|
restart: unless-stopped
|
|
environment:
|
|
- ADMINER_DEFAULT_SERVER=takerofnotesDB
|
|
depends_on:
|
|
- takerofnotesDB
|
|
|
|
volumes:
|
|
takerofnotes-data:
|
|
|
|
networks:
|
|
takerofnotes:
|
|
name: takerofnotes
|
|
driver: bridge
|