in your compose file. There are a few issues:
- volumes: two different volumes are mapped to the same internal path (/app/data)
- db does not require the maxmind_data mapping
- also mailcow_logs_viewer volume is not used.
- change the port to a static 8080:8080
i will update the docs
services:
db:
image: postgres:15-alpine
container_name: mailcow-logs-db
restart: unless-stopped
environment:
POSTGRES_USER: ${POSTGRES_USER:-mailcowlogs}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme}
POSTGRES_DB: ${POSTGRES_DB:-mailcowlogs}
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- mailcow-logs-network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-mailcowlogs}"]
interval: 10s
timeout: 5s
retries: 5
app:
image: ghcr.io/shlomiporush/mailcow-logs-viewer:latest
container_name: mailcow-logs-app
restart: unless-stopped
depends_on:
db:
condition: service_healthy
ports:
- "8080:8080"
volumes:
- ./data:/app/data
networks:
- mailcow-logs-network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/api/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
env_file:
- .env
networks:
mailcow-logs-network:
driver: bridge
volumes:
postgres_data:
driver: local
@DocFraggle
I removed APP_PORT variable because it was redundant and caused issues. The internal application port is fixed at 8080. the external mapping post on the host can be changed (e.g., XXXX:8080).