Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 0 additions & 21 deletions docker-compose.prod.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,4 @@
services:
# MongoDB Database (optional - only used if not connecting to external MongoDB like Atlas)
mongo:
image: mongo:7
restart: unless-stopped
profiles:
- local-db # Only starts if 'local-db' profile is enabled
environment:
# Extract password from MONGODB_URL (format: mongodb://user:pass@host:port)
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: ${MONGODB_PASSWORD:-changeme}
volumes:
- mongo_data:/data/db
networks:
- trakrlog-network
healthcheck:
test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet
interval: 10s
timeout: 5s
retries: 5

# Go Backend + Frontend
app:
image: ghcr.io/trakrlog-com/trakrlog:latest
Expand Down Expand Up @@ -61,7 +41,6 @@ services:
- app

volumes:
mongo_data:
caddy_data:
caddy_config:

Expand Down
69 changes: 69 additions & 0 deletions docker-compse.mongo.prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
services:
# MongoDB Database
mongo:
image: mongo:7
restart: unless-stopped
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: ${MONGODB_PASSWORD:-changeme}
volumes:
- mongo_data:/data/db
networks:
- trakrlog-network
healthcheck:
test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet
interval: 10s
timeout: 5s
retries: 5

# Go Backend + Frontend
app:
image: ghcr.io/trakrlog-com/trakrlog:latest
pull_policy: always
restart: unless-stopped
environment:
PORT: 4000
# Using local MongoDB container
MONGODB_URL: mongodb://admin:${MONGODB_PASSWORD:-changeme}@mongo:27017
MONGODB_DATABASE: ${MONGODB_DATABASE:-trakrlog}
SESSION_SECRET: ${SESSION_SECRET}
GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID}
GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET}
GOOGLE_CALLBACK_URL: ${GOOGLE_CALLBACK_URL}
APP_ENV: production
networks:
- trakrlog-network
depends_on:
mongo:
condition: service_healthy
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:4000/api/health"]
interval: 30s
timeout: 10s
retries: 3

# Caddy Reverse Proxy
caddy:
image: caddy:2-alpine
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- caddy_config:/config
networks:
- trakrlog-network
depends_on:
- app

volumes:
mongo_data:
caddy_data:
caddy_config:

networks:
trakrlog-network:
driver: bridge