Skip to content

Docker Container Inventory

Comprehensive listing of all Docker containers running across HandyManny infrastructure.

VPS Servers

srv1139900 (31.97.211.9)

Primary production server hosting most applications and services.

SSH: ssh -i ~/.ssh/id_hostinger root@srv1139900.hstgr.cloud

Production Applications

Container NameImagePort(s)Traefik RouteStatus
expedientenode:18-alpine3000expediente.handymanny.cloudRunning
charos-expedientenode:18-alpine3000charos.handymanny.cloudRunning
u1st-expedientenode:18-alpine3001u1st.handymanny.cloudRunning
fftrackingnode:18-alpine3000fftracking.handymanny.cloudRunning
mission-controlnode:18-alpine3000mc.handymanny.cloudRunning
sales-mcpython:3.118001sales.handymanny.cloudRunning
wsi-mcpython:3.118002wsi.handymanny.cloudRunning
via-plannginx:alpine80via.handymanny.cloudRunning
via-plan-apipython:3.118000via.handymanny.cloud/apiRunning
consultinnginx:alpine80consultin.handymanny.cloudRunning
handymanny-landingnginx:alpine80handymanny.cloudRunning
documentationnginx:alpine80documentation.handymanny.cloudRunning

Database Containers

Container NameImagePort(s)Used ByBackup Schedule
expediente-dbpostgres:16-alpine5432ExpedienteDaily 2 AM
charos-dbpostgres:16-alpine5432CHAROSDaily 2 AM
u1st-dbpostgres:16-alpine5432U1STDaily 2 AM
fftracking-dbpostgres:16-alpine5432FFTrackingDaily 2 AM
mission-control-dbbetter-sqlite3 (embedded)N/AMission ControlDaily 2 AM
sales-mc-dbpostgres:16-alpine5432Sales MCDaily 2 AM
via-postgrestimescale/timescaledb:latest-pg165432VIA PlatformDaily 2 AM

Infrastructure Services

Container NameImagePort(s)PurposeWeb UI
traefiktraefik:v2.1080, 443, 8080Reverse proxy + SSL:8080 (internal)
headless-browserbrowserless/chrome3000Ocean tracking scrapingNo
n8nn8nio/n8n:latest5678Workflow automationn8n.srv1139900.hstgr.cloud

srv1379713 (187.77.195.95)

Secondary server for isolated workloads.

SSH: ssh -i ~/.ssh/id_hostinger root@187.77.195.95

Applications

Container NameImagePort(s)PurposeStatus
openclawpython:3.118000Telegram bot orchestratorRunning

Container Details

Expediente

Purpose: Main freight forwarding portal Stack: Next.js 14 + Prisma + PostgreSQL Resources:

  • CPU Limit: 1.0
  • Memory Limit: 512MB
  • Storage: 20GB

Environment Variables:

Health Check:

  • Endpoint: /api/health
  • Interval: 30s
  • Timeout: 10s

Logs: docker logs -f expediente


CHAROS Expediente

Purpose: CHAROS-branded multi-tenant portal Stack: Next.js 14 + Prisma + PostgreSQL Resources:

  • CPU Limit: 1.0
  • Memory Limit: 512MB

Brand Configuration:

  • NEXT_PUBLIC_BRAND_NAME=CHAROS
  • NEXT_PUBLIC_BRAND_COLOR=#DC2626
  • NEXT_PUBLIC_BRAND_LOGO=/logos/charos.png

Logs: docker logs -f charos-expediente


U1ST Expediente

Purpose: U1ST-branded multi-tenant portal Stack: Next.js 14 + Prisma + PostgreSQL Resources:

  • CPU Limit: 1.0
  • Memory Limit: 512MB

Brand Configuration:

  • NEXT_PUBLIC_BRAND_NAME=U1ST
  • NEXT_PUBLIC_BRAND_COLOR=#2563EB
  • NEXT_PUBLIC_BRAND_LOGO=/logos/u1st.png

Logs: docker logs -f u1st-expediente


FFTracking

Purpose: Freight forwarding tracking portal Stack: Next.js 14 + Prisma + PostgreSQL Features:

  • Shipment tracking
  • Booking management
  • Document uploads
  • Customer notifications

Logs: docker logs -f fftracking


Mission Control v3

Purpose: Unified operations dashboard Stack: React + Express.js + SQLite Features:

  • 23 dashboard sections
  • Real-time polling (30-60s)
  • Command palette (Ctrl+K)
  • Dark mode

Logs: docker logs -f mission-control


Sales Mission Control

Purpose: Sales analytics dashboard Stack: Python + Jinja2 + PostgreSQL Data Sources:

  • Salesforce
  • CargoWise
  • DataMyne

Features:

  • Customer intelligence with AI grading
  • Route analytics with map visualization
  • Profit/revenue analysis

Logs: docker logs -f sales-mc


WSI Mission Control

Purpose: WSI operations dashboard Stack: Python + Jinja2 Features:

  • Follow-up tasks
  • AN Audit status
  • AP Invoice tracking
  • Email recap

Logs: docker logs -f wsi-mc


VIA Platform

Purpose: Mexico convoy management platform Stack: FastAPI + PostgreSQL + TimescaleDB + HTML Features:

  • Convoy formation
  • Speed enforcement
  • NOM compliance
  • Terminal sequencing
  • Hazmat route planning

Containers:

  • via-plan (nginx frontend)
  • via-plan-api (FastAPI backend)
  • via-postgres (TimescaleDB)

API Endpoints: 46 total (via.handymanny.cloud/api/docs)

Logs:

  • Frontend: docker logs -f via-plan
  • API: docker logs -f via-plan-api
  • Database: docker logs -f via-postgres

n8n

Purpose: Workflow automation platform Stack: n8n official image Workflows: 63+ active workflows Categories:

  • Ocean tracking (16 workflows)
  • WSI/CargoWise operations (40 workflows)
  • AI bots (7 workflows)

Access: https://n8n.srv1139900.hstgr.cloudCredentials:

  • User: admin
  • Password: [REDACTED]

Logs: docker logs -f n8n


Traefik

Purpose: Reverse proxy and SSL termination Version: v2.10 Features:

  • Automatic HTTPS (Let's Encrypt)
  • SSL certificate management
  • Dynamic routing
  • Load balancing

Dashboard: Internal only (:8080)

Configuration:

  • Static: traefik.yml
  • Dynamic: Docker labels

Logs: docker logs -f traefik


Headless Browser

Purpose: Puppeteer/Playwright browser for web scraping Stack: browserless/chrome Used By:

  • Ocean tracking workflows
  • CHAROS trucking tracking

Features:

  • Anti-detection measures
  • Cookie/session management
  • Screenshot capability

Endpoint: http://headless-browser:3000 (internal)

Logs: docker logs -f headless-browser


OpenClaw

Purpose: Telegram bot orchestrator and daily sync Stack: Python 3.11 Features:

  • Daily briefings
  • Security patrols
  • Task notifications
  • Multi-bot coordination

Runs: Every 4 hours (Windows Scheduled Task)

Logs: docker logs -f openclaw


Docker Networks

root_default (srv1139900)

Type: Bridge network Subnet: 172.20.0.0/16

Containers:

  • All production apps
  • All databases
  • Traefik
  • headless-browser
  • n8n

Purpose: Internal communication between containers

traefik_default (srv1139900)

Type: External network Purpose: Traefik routing to containers

Volume Management

Named Volumes

VolumeContainerPurposeSize
expediente_postgres_dataexpediente-dbDatabase persistence~2GB
charos_postgres_datacharos-dbDatabase persistence~3GB
u1st_postgres_datau1st-dbDatabase persistence~1GB
fftracking_postgres_datafftracking-dbDatabase persistence~500MB
sales_mc_postgres_datasales-mc-dbDatabase persistence~1GB
via_postgres_datavia-postgresDatabase persistence~100MB
n8n_datan8nWorkflow + credentials~500MB
traefik_acmetraefikSSL certificates~50MB

Bind Mounts

Path (Host)Path (Container)ContainerPurpose
/root/expediente/appexpedienteApplication code
/root/charos-expediente/appcharos-expedienteApplication code
/root/mission-control/appmission-controlApplication code
/root/via-plan-deploy/usr/share/nginx/htmlvia-planStatic files

Resource Usage

Total Allocated:

  • CPU: ~15 cores
  • RAM: ~8GB
  • Disk: ~50GB

Per Container Limits:

  • Standard app: 1 CPU, 512MB RAM
  • Database: 0.5 CPU, 256MB RAM
  • Infrastructure: No limits (Traefik, n8n)

Container Health Monitoring

Health Check Endpoints

ContainerEndpointExpected Response
expediente/api/health200 OK
charos-expediente/api/health200 OK
fftracking/api/health200 OK
mission-control/api/health200 OK
sales-mc/health200 OK
via-plan-api/api/health200 OK
n8n/healthz200 OK

Monitoring Commands

bash
# Check all containers on VPS
ssh -i ~/.ssh/id_hostinger root@srv1139900.hstgr.cloud 'docker ps'

# Check specific container status
docker inspect [container-name] | grep Status

# Check container resource usage
docker stats [container-name]

# Check all container logs
for container in $(docker ps --format '{{.Names}}'); do
  echo "=== $container ==="
  docker logs --tail 20 $container
done

Maintenance Tasks

Daily

  • [Automated] Database backups (2 AM)
  • [Automated] Container health checks
  • [Automated] SSL certificate renewal checks

Weekly

  • [ ] Review container logs for errors
  • [ ] Check disk space on VPS
  • [ ] Verify all containers healthy

Monthly

  • [ ] Update Docker images
  • [ ] Clean old Docker images (docker system prune)
  • [ ] Review and optimize resource limits
  • [ ] Test backup restoration

Quarterly

  • [ ] Security audit of containers
  • [ ] Review Docker Compose configurations
  • [ ] Update base images (Node, Python, PostgreSQL)
  • [ ] Performance optimization

Common Commands

Start/Stop Containers

bash
# Start all containers in project
cd /root/[project] && docker compose up -d

# Stop all containers in project
cd /root/[project] && docker compose down

# Restart single container
docker restart [container-name]

# Restart all containers (preserve state)
docker compose restart

Logs & Debugging

bash
# Tail logs
docker logs -f [container-name]

# Last 100 lines
docker logs --tail 100 [container-name]

# Logs with timestamps
docker logs -f --timestamps [container-name]

# Enter container shell
docker exec -it [container-name] sh
# or for bash:
docker exec -it [container-name] bash

Resource Management

bash
# Check disk usage
docker system df

# Clean up unused resources
docker system prune -a --volumes

# Remove stopped containers
docker container prune

# Remove unused images
docker image prune -a

# Remove unused volumes (CAREFUL!)
docker volume prune

Database Operations

bash
# Backup PostgreSQL database
docker exec [db-container] pg_dump -U [user] [dbname] > backup.sql

# Restore PostgreSQL database
docker exec -i [db-container] psql -U [user] -d [dbname] < backup.sql

# Access PostgreSQL shell
docker exec -it [db-container] psql -U [user] -d [dbname]

# List databases
docker exec [db-container] psql -U postgres -c "\l"

Troubleshooting

Container Won't Start

  1. Check logs: docker logs [container-name]
  2. Inspect container: docker inspect [container-name]
  3. Check docker-compose.yml syntax
  4. Verify environment variables
  5. Check port conflicts: netstat -tulpn | grep [port]

Container Keeps Restarting

  1. Check exit code: docker inspect [container] | grep ExitCode
  2. Review startup logs
  3. Check database connectivity
  4. Verify all dependencies available

High Resource Usage

  1. Check stats: docker stats
  2. Review application logs
  3. Check for memory leaks
  4. Adjust resource limits in docker-compose.yml

Last Updated: 2026-02-28 Related: Deployment SOP, Infrastructure Overview

HandyManny Documentation System