80 lines
2.5 KiB
YAML
80 lines
2.5 KiB
YAML
services:
|
|
postgres:
|
|
image: postgres:17.6-alpine
|
|
container_name: pepperminto_postgres
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_USER: pepperminto
|
|
POSTGRES_PASSWORD: pepperminto
|
|
POSTGRES_DB: pepperminto
|
|
volumes:
|
|
- /srv/docker/pepperminto/pepperminto_postgres:/var/lib/postgresql/data
|
|
expose:
|
|
- 5432
|
|
networks:
|
|
- peppermint
|
|
|
|
pepperminto:
|
|
image: pepperminto-custom:latest
|
|
container_name: pepperminto
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- postgres
|
|
env_file: .env
|
|
environment:
|
|
DB_USERNAME: pepperminto
|
|
DB_PASSWORD: pepperminto
|
|
DB_HOST: postgres
|
|
SECRET: ${SECRET}
|
|
UPLOADS_DIR: /app/uploads
|
|
DATABASE_URL: postgresql://pepperminto:pepperminto@postgres:5432/pepperminto
|
|
ports:
|
|
- "3121:3000"
|
|
- "3122:3001"
|
|
volumes:
|
|
- /srv/docker/pepperminto/pepperminto_uploads:/app/uploads
|
|
networks:
|
|
- traefik_network
|
|
- peppermint
|
|
labels:
|
|
### Traefik Labels
|
|
- traefik.enable=true
|
|
- traefik.docker.network=traefik_network
|
|
- traefik.http.services.${SERVICE_NAME}.loadbalancer.server.port=3000
|
|
- traefik.http.routers.${SERVICE_NAME}-https.tls=true
|
|
- traefik.http.routers.${SERVICE_NAME}-https.tls.certresolver=cloudflare
|
|
- traefik.http.routers.${SERVICE_NAME}-https.entrypoints=websecure
|
|
- traefik.http.routers.${SERVICE_NAME}-https.rule=Host(`${SERVICE_NAME}.${DOMAIN_NAME}`)
|
|
### Monitor with uptime-kuma
|
|
- kuma.monitoring.group.name=Docker Containers
|
|
- kuma.${SERVICE_NAME}.docker.parent_name=monitoring
|
|
- kuma.${SERVICE_NAME}.docker.name=${SERVICE_NAME}
|
|
- kuma.${SERVICE_NAME}.docker.type=docker
|
|
- kuma.${SERVICE_NAME}.docker.docker_container=${SERVICE_NAME}
|
|
- kuma.${SERVICE_NAME}.docker.docker_host=1
|
|
- 'kuma.${SERVICE_NAME}.docker.tag_names=[{"name": "docker_tag"}]'
|
|
|
|
knowledge-base:
|
|
image: delilahsaturn/pepperminto-knowledge-base:latest
|
|
container_name: pepperminto_knowledge_base
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- pepperminto
|
|
env_file: .env
|
|
environment:
|
|
API_URL: http://pepperminto:3001
|
|
BASE_URL: https://support.${DOMAIN_NAME}
|
|
DASHBOARD_URL: https://portal.${DOMAIN_NAME}
|
|
KNOWLEDGE_BASE_URL: https://support.${DOMAIN_NAME}
|
|
NODE_ENV: production
|
|
ports:
|
|
- "3124:3000"
|
|
networks:
|
|
- peppermint
|
|
|
|
networks:
|
|
traefik_network:
|
|
external: true
|
|
peppermint:
|
|
name: peppermint_network
|
|
driver: bridge |