medqux.yaml
                        
                             · 1.7 KiB · YAML
                        
                    
                    
                      
                        Brut
                      
                      
                        
                          
                        
                    
                    
                
                
            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 |