Docker Environment & Standards
Docker Environment & Standards
Section titled “Docker Environment & Standards”Salitech containerizes services on production-01 using Docker and Docker Compose. This ensures reproducibility, isolated dependencies, and clean teardowns.
Operating Guidelines
Section titled “Operating Guidelines”1. Project Directory Convention
Section titled “1. Project Directory Convention”Each service stack resides in its own subfolder under /opt/:
- Compose file:
/opt/<service>/docker-compose.yml - Environment config:
/opt/<service>/.env(permissions600) - Data volumes:
/opt/<service>/dataor named Docker volumes
2. Network & Port Binding Principle
Section titled “2. Network & Port Binding Principle”To prevent unintentional internet exposure:
- Service containers must never publish ports directly to
0.0.0.0unless explicitly intended as an edge proxy. - All exposed ports must bind to the local loopback interface:
ports:- "127.0.0.1:5678:5678"
- Public routing and TLS termination are handled strictly by Caddy on the host.
3. Restart Policies
Section titled “3. Restart Policies”All production services must specify an automatic restart policy:
restart: unless-stoppedActive Containers Overview
Section titled “Active Containers Overview”| Service | Directory | Container Name | Internal Port | Host Binding |
|---|---|---|---|---|
| n8n | /opt/n8n |
n8n |
5678 |
127.0.0.1:5678 |
| Umami | /opt/umami |
umami |
3000 |
127.0.0.1:3001 |
| Umami Postgres | /opt/umami |
umami-db (internal) |
5432 |
Internal Compose network |
| Firecrawl | /opt/firecrawl |
firecrawl |
unknown |
Stopped / Retained |
Common Management Commands
Section titled “Common Management Commands”# Check running containersdocker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
# Inspect logs of a specific stackcd /opt/n8n && docker compose logs -f --tail=100
# Restart a servicecd /opt/umami && docker compose restart