medqux.yaml
· 1.7 KiB · YAML
Raw
services:
postgres:
image: postgres:17-alpine
container_name: Mediqux-DB
environment:
POSTGRES_DB: mediqux
POSTGRES_USER: mediquxuser
POSTGRES_PASSWORD: mediquxpass
volumes:
- /volume1/docker/mediqux/db:/var/lib/postgresql/data:rw
healthcheck:
test: ["CMD-SHELL", "pg_isready -U mediquxuser -d mediqux"]
interval: 10s
timeout: 5s
retries: 5
backend:
image: ghcr.io/dmjoh/mediqux/mediqux-backend:latest
container_name: Mediqux-BACKEND
environment:
NODE_ENV: production
DB_HOST: postgres
DB_PORT: 5432
DB_NAME: mediqux
DB_USER: mediquxuser
DB_PASSWORD: mediquxpass
JWT_SECRET: dOxZYTTZgXKMHkqLBIQVImayQXAVWdzGBPuFJKggzcgvgPJPXpWzqzKaUOIOGGIr
FRONTEND_URL: mediqux.mariushosting.synology.me
MAX_FILE_SIZE: 500MB
UPLOAD_PATH: /app/uploads
PUID: 1026
PGID: 100
ports:
- 3019:3000
volumes:
- /volume1/docker/mediqux/uploads:/app/uploads:rw
depends_on:
postgres:
condition: service_healthy
restart: on-failure:5
healthcheck:
test: ["CMD", "node", "-e", "require('http').get('http://localhost:3000/api/health', (res) => process.exit(res.statusCode === 200 ? 0 : 1))"]
interval: 30s
timeout: 10s
retries: 3
frontend:
image: ghcr.io/dmjoh/mediqux/mediqux-frontend:latest
container_name: Mediqux_frontend
environment:
MEDIQUX_API_URL: mediquxapi.mariushosting.synology.me/api
ports:
- 3018:80
depends_on:
- backend
restart: on-failure:5
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:80"]
interval: 30s
timeout: 10s
retries: 3
| 1 | services: |
| 2 | postgres: |
| 3 | image: postgres:17-alpine |
| 4 | container_name: Mediqux-DB |
| 5 | environment: |
| 6 | POSTGRES_DB: mediqux |
| 7 | POSTGRES_USER: mediquxuser |
| 8 | POSTGRES_PASSWORD: mediquxpass |
| 9 | volumes: |
| 10 | - /volume1/docker/mediqux/db:/var/lib/postgresql/data:rw |
| 11 | healthcheck: |
| 12 | test: ["CMD-SHELL", "pg_isready -U mediquxuser -d mediqux"] |
| 13 | interval: 10s |
| 14 | timeout: 5s |
| 15 | retries: 5 |
| 16 | |
| 17 | backend: |
| 18 | image: ghcr.io/dmjoh/mediqux/mediqux-backend:latest |
| 19 | container_name: Mediqux-BACKEND |
| 20 | environment: |
| 21 | NODE_ENV: production |
| 22 | DB_HOST: postgres |
| 23 | DB_PORT: 5432 |
| 24 | DB_NAME: mediqux |
| 25 | DB_USER: mediquxuser |
| 26 | DB_PASSWORD: mediquxpass |
| 27 | JWT_SECRET: dOxZYTTZgXKMHkqLBIQVImayQXAVWdzGBPuFJKggzcgvgPJPXpWzqzKaUOIOGGIr |
| 28 | FRONTEND_URL: mediqux.mariushosting.synology.me |
| 29 | MAX_FILE_SIZE: 500MB |
| 30 | UPLOAD_PATH: /app/uploads |
| 31 | PUID: 1026 |
| 32 | PGID: 100 |
| 33 | ports: |
| 34 | - 3019:3000 |
| 35 | volumes: |
| 36 | - /volume1/docker/mediqux/uploads:/app/uploads:rw |
| 37 | depends_on: |
| 38 | postgres: |
| 39 | condition: service_healthy |
| 40 | restart: on-failure:5 |
| 41 | healthcheck: |
| 42 | test: ["CMD", "node", "-e", "require('http').get('http://localhost:3000/api/health', (res) => process.exit(res.statusCode === 200 ? 0 : 1))"] |
| 43 | interval: 30s |
| 44 | timeout: 10s |
| 45 | retries: 3 |
| 46 | |
| 47 | frontend: |
| 48 | image: ghcr.io/dmjoh/mediqux/mediqux-frontend:latest |
| 49 | container_name: Mediqux_frontend |
| 50 | environment: |
| 51 | MEDIQUX_API_URL: mediquxapi.mariushosting.synology.me/api |
| 52 | ports: |
| 53 | - 3018:80 |
| 54 | depends_on: |
| 55 | - backend |
| 56 | restart: on-failure:5 |
| 57 | healthcheck: |
| 58 | test: ["CMD", "curl", "-f", "http://localhost:80"] |
| 59 | interval: 30s |
| 60 | timeout: 10s |
| 61 | retries: 3 |