Files
Docker-Compose/Ticketing_Containers/pepperminto-enhanced/compose.yaml
T

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