OKLABS Docker Infrastructure Documentation
Container Overview
This document provides a comprehensive overview of all Docker containers running in the OKLABS core-stack environment.
Service Architecture
Core Application Services
1. ProviderTrack (Shipment Tracking System)
Main App:
track(Container: d2e28ed1e9c9)- Image: track:latest
- Port: 8077:8000
- Status: Healthy
- Purpose: Main Django application for shipment tracking
- URL: https://track.oklabs.my.id
Background Workers:
- Celery Worker:
track-celery(Container: ef0456842189)- Status: Restarting (issue detected)
- Purpose: Asynchronous task processing
- Celery Beat:
track-celery-beat(Container: 2024affa2049)- Status: Restarting (issue detected)
- Purpose: Scheduled task execution
- Celery Worker:
Database:
track-db(Container: 1a387a39fbb3)- Image: postgres:15
- Status: Healthy
- Purpose: Primary database for ProviderTrack
Cache:
track-redis(Container: 556294dca089)- Image: redis:7
- Status: Healthy
- Purpose: Caching and session storage
2. CEISA Dashboard
- Container:
ceisa-dashboard(Container: 4cd075711f7d)- Image: ceisa-dashboard:latest
- Port: 5000:5000
- Purpose: Indonesian customs clearance dashboard
- URL: https://ceisa.oklabs.my.id (if configured)
Documentation & Knowledge Management
3. GitBook Documentation
- Container:
gitbook(Container: 6727dade0ac6)- Image: yanqd0/gitbook
- Port: 4000:4000, 35729 (live reload)
- Purpose: Central documentation hub
- URL: https://how.oklabs.my.id
4. Paperless Document Management
Main App:
paperless(Container: 1d074896199c)- Image: ghcr.io/paperless-ngx/paperless-ngx:latest
- Port: 8000:8000
- Status: Healthy
- Purpose: Document management and OCR
- URL: https://paperless.oklabs.my.id
Database:
paperless-db(Container: 80837ed72d52)- Image: postgres:15
- Purpose: Paperless database
Cache:
paperless-redis(Container: 01d5d2fd7485)- Image: redis:7
- Purpose: Paperless caching
Analytics & Business Intelligence
5. Apache Superset
Container:
bi-core(Container: a384a9f5f153)- Image: apache/superset
- Port: 8088:8088
- Status: Healthy
- Purpose: Data visualization and analytics
- URL: https://analytics.oklabs.my.id
Database:
superset-db(Container: 10985c29f603)- Image: postgres:15
- Purpose: Superset metadata database
IT Service Management
6. GLPI Asset Management
Main App:
glpi(Container: 122308a318a7)- Image: glpi/glpi:11.0.0-beta7
- Port: 8080:80
- Purpose: IT asset and help desk management
- URL: https://assets.oklabs.my.id
Database:
glpi-db(Container: 1086fd94b6fe)- Image: mysql:8.0
- Status: Healthy
- Purpose: GLPI database
Workflow Automation
7. n8n Automation
- Container:
n8n-core(Container: 9a0afae3378d)- Image: n8nio/n8n
- Port: 5678:5678
- Purpose: Workflow automation and integration
- URL: https://automation.oklabs.my.id
Monitoring & Management
8. Uptime Kuma
- Container:
uptime-core(Container: 50d18d556e35)- Image: louislam/uptime-kuma:1
- Port: 3001:3001
- Status: Healthy
- Purpose: System health monitoring and alerts
- URL: https://uptime.oklabs.my.id
9. Netdata
- Container:
netdata-core(Container: ca1b7cdbddd6)- Image: netdata/netdata
- Port: 19999:19999
- Status: Healthy
- Purpose: Real-time system metrics and monitoring
- URL: https://netdata.oklabs.my.id
10. Portainer
- Container:
portainer(Container: 2bd53dad5098)- Image: portainer/portainer-ce:latest
- Ports: 9000:9000, 9443:9443
- Purpose: Docker container management interface
- URL: https://portainer.oklabs.my.id
Service Summary Table
| Service | Container | Image | Port | Status | Purpose | URL |
|---|---|---|---|---|---|---|
| ProviderTrack | track | track:latest | 8077:8000 | ✅ Healthy | Shipment tracking API | track.oklabs.my.id |
| Track Celery | track-celery | track:latest | - | ⚠️ Restarting | Background tasks | - |
| Track Celery Beat | track-celery-beat | track:latest | - | ⚠️ Restarting | Scheduled tasks | - |
| Track Database | track-db | postgres:15 | 5432 | ✅ Healthy | Main database | - |
| Track Cache | track-redis | redis:7 | 6379 | ✅ Healthy | Redis cache | - |
| CEISA Dashboard | ceisa-dashboard | ceisa-dashboard:latest | 5000:5000 | ✅ Running | Customs dashboard | ceisa.oklabs.my.id |
| Documentation | gitbook | yanqd0/gitbook | 4000:4000 | ✅ Running | GitBook docs | how.oklabs.my.id |
| Document Mgmt | paperless | paperless-ngx:latest | 8000:8000 | ✅ Healthy | Document OCR/storage | paperless.oklabs.my.id |
| Paperless DB | paperless-db | postgres:15 | 5432 | ✅ Running | Paperless database | - |
| Paperless Cache | paperless-redis | redis:7 | 6379 | ✅ Running | Paperless cache | - |
| Analytics | bi-core | apache/superset | 8088:8088 | ✅ Healthy | Data visualization | analytics.oklabs.my.id |
| Superset DB | superset-db | postgres:15 | 5432 | ✅ Running | Superset database | - |
| Asset Mgmt | glpi | glpi/glpi:11.0.0-beta7 | 8080:80 | ✅ Running | IT asset management | assets.oklabs.my.id |
| GLPI Database | glpi-db | mysql:8.0 | 3306 | ✅ Healthy | GLPI database | - |
| Automation | n8n-core | n8nio/n8n | 5678:5678 | ✅ Running | Workflow automation | automation.oklabs.my.id |
| Monitoring | uptime-core | louislam/uptime-kuma:1 | 3001:3001 | ✅ Healthy | System monitoring | uptime.oklabs.my.id |
| Metrics | netdata-core | netdata/netdata | 19999:19999 | ✅ Healthy | Real-time metrics | netdata.oklabs.my.id |
| Container Mgmt | portainer | portainer/portainer-ce | 9000:9000, 9443:9443 | ✅ Running | Docker management | portainer.oklabs.my.id |
Critical Issues Detected
⚠️ Immediate Attention Required
Track Celery Worker (Container: ef0456842189)
- Status: Restarting continuously
- Impact: Background tasks (tracking updates, notifications) not processing
- Recommended Action: Check container logs and restart
Track Celery Beat (Container: 2024affa2049)
- Status: Restarting continuously
- Impact: Scheduled tasks (periodic tracking updates) not running
- Recommended Action: Check container logs and restart
Troubleshooting Commands
# Check Celery worker logs
docker logs track-celery
# Check Celery beat logs
docker logs track-celery-beat
# Restart Celery services
docker restart track-celery
docker restart track-celery-beat
# Check all container health
# Check all container health
docker ps
Network Architecture
External Access Ports
- 3001: Uptime Kuma monitoring
- 4000: GitBook documentation
- 5000: CEISA dashboard
- 5678: n8n automation
- 8000: Paperless document management
- 8077: ProviderTrack main application
- 8080: GLPI asset management
- 8088: Apache Superset analytics
- 9000/9443: Portainer management
- 19999: Netdata metrics
Internal Services
- PostgreSQL databases: Multiple instances on port 5432
- Redis caches: Multiple instances on port 6379
- MySQL database: GLPI on port 3306
Reverse Proxy Configuration (Caddy)
The following Caddy configuration should be used to route external domains:
# Documentation
how.oklabs.my.id {
reverse_proxy localhost:4000
}
# Main ProviderTrack API
track.oklabs.my.id {
reverse_proxy localhost:8077
}
# Monitoring
uptime.oklabs.my.id {
reverse_proxy localhost:3001
}
# Analytics
analytics.oklabs.my.id {
reverse_proxy localhost:8088
}
# Document Management
paperless.oklabs.my.id {
reverse_proxy localhost:8000
}
# Asset Management
assets.oklabs.my.id {
reverse_proxy localhost:8080
}
# Automation
automation.oklabs.my.id {
reverse_proxy localhost:5678
}
# Container Management
portainer.oklabs.my.id {
reverse_proxy localhost:9000
}
# System Metrics
netdata.oklabs.my.id {
reverse_proxy localhost:19999
}
# CEISA Dashboard
ceisa.oklabs.my.id {
reverse_proxy localhost:5000
}
Maintenance Procedures
Daily Checks
- Container Health:
docker ps- verify all containers are running - Service Status: Check uptime.oklabs.my.id for service availability
- Disk Space: Monitor storage usage across all volumes
- Log Rotation: Ensure logs aren't consuming excessive space
Weekly Tasks
- Update Containers: Pull latest images for security updates
- Database Backups: Verify backup procedures are working
- Performance Review: Check Netdata for resource utilization
- Security Scan: Review container vulnerabilities
Emergency Procedures
Container Restart
# Restart individual service
docker restart <container-name>
# Restart all services
docker restart $(docker ps -q)
Full System Recovery
# Navigate to docker-compose directory
cd /data/core-stack
# Bring down all services
docker-compose down
# Bring up all services
docker-compose up -d
Resource Requirements
CPU Usage
- High: ProviderTrack, Apache Superset, Netdata
- Medium: Paperless, GLPI, n8n
- Low: GitBook, Uptime Kuma, Portainer
Memory Usage
- High: PostgreSQL databases, Apache Superset
- Medium: ProviderTrack, Paperless, Redis
- Low: GitBook, monitoring tools
Storage Requirements
- Databases: Growing storage needs for PostgreSQL/MySQL
- Documents: Paperless file storage
- Logs: All containers generate logs
- Images: Docker image storage
Security Considerations
Network Security
- All services run in isolated Docker networks
- External access only through Caddy reverse proxy
- SSL/TLS termination at Caddy level
Data Protection
- Database credentials stored in environment variables
- Regular backups of critical data
- Container isolation prevents cross-service access
Access Control
- Individual authentication for each service
- SSH access restricted to authorized keys
- Container management through Portainer
Support & Troubleshooting
Common Issues
Container Won't Start
- Check logs:
docker logs <container-name> - Verify port conflicts
- Check disk space
- Check logs:
Service Unreachable
- Verify container is running
- Check Caddy configuration
- Test internal port access
Performance Issues
- Monitor with Netdata
- Check resource limits
- Review container logs
Contact Information
- Technical Support: ossie@somagede.com
- System Status: https://uptime.oklabs.my.id
- Documentation: https://how.oklabs.my.id
OKLABS Docker Infrastructure Documentation Last Updated: August 9, 2025