# VPS Context — tech.onegroup.co.in **OS**: Ubuntu 24.04 LTS | **Disk**: 387GB (41GB used) | **Domain**: tech.onegroup.co.in ## Architecture All apps run as Docker Compose projects in `/docker/`. Caddy handles reverse proxy + auto-TLS on the `shared-proxy` Docker network. ``` Internet → Caddy (:80/:443, auto-TLS) ├── postiz.tech.onegroup.co.in → postiz-aho4-postiz-1:5000 ├── n8n.tech.onegroup.co.in → n8n-gyyi-n8n-1:5678 ├── skyvern.tech.onegroup.co.in → skyvern-2m2d-skyvern-1:8000 (/api/*) │ skyvern-2m2d-skyvern-ui-1:8080 (/) ├── listmonk.tech.onegroup.co.in → listmonk-7t1c-listmonk-1:9000 ├── evolution.tech.onegroup.co.in → evolution-api-fgxi-api-1:8080 ├── dograh.tech.onegroup.co.in → dograh-aau2-ui-1:3010 └── paperclip.tech.onegroup.co.in → paperclip-tqtp-paperclip-1:3100 ``` ## Applications ### 1. Caddy — `/docker/caddy/` Reverse proxy with automatic HTTPS (Let's Encrypt). Config: `Caddyfile`. Image: `caddy:2-alpine`. Connected to `shared-proxy` network. ### 2. Postiz — `/docker/postiz-aho4/` Social media scheduling app. Image: `ghcr.io/gitroomhq/postiz-app:latest`. - **Stack**: Next.js app + PostgreSQL 17 + Redis 7 + Temporal workflow engine + Elasticsearch 7.17 - **Temporal** has its own PostgreSQL 16 instance - **Integrations**: Facebook, LinkedIn OAuth - **Config**: `.env` file with JWT_SECRET, DB creds, OAuth keys ### 3. N8N — `/docker/n8n-gyyi/` Workflow automation platform. Image: `docker.n8n.io/n8nio/n8n`. - **Stack**: N8N + webhook support, runners enabled - **Timezone**: Asia/Kolkata - **Config**: `.env` file ### 4. Skyvern — `/docker/skyvern-2m2d/` Browser automation / RPA tool. Images: `public.ecr.aws/skyvern/skyvern:latest` + UI. - **Stack**: FastAPI + Streamlit UI + PostgreSQL 14 + headful Chromium - **Ports**: API (8000), WebSocket (9222), UI (8080), Metrics (9090), VNC (6080) - **AI**: OpenAI GPT-5 integration - **Config**: `.env` file with API keys ### 5. ListMonk — `/docker/listmonk-7t1c/` Email/newsletter platform. Image: `listmonk/listmonk:v6.0.0`. - **Stack**: ListMonk app + PostgreSQL 18 - **Timezone**: Asia/Kolkata - **Config**: `.env` file ### 6. Evolution API — `/docker/evolution-api-fgxi/` WhatsApp/messaging API. Image: `evoapicloud/evolution-api:latest`. - **Stack**: Evolution API + PostgreSQL 15 + Redis - **Features**: QR code auth (limit 30), message saving (contacts, chats, labels, history) - **DB client name**: evolution_hostinger - **Config**: `.env` file ### 7. Dograh — `/docker/dograh-aau2/` Voice AI platform. Images: `dograhai/dograh-api:latest` + `dograhai/dograh-ui:latest`. - **Stack**: FastAPI backend + Next.js UI + PostgreSQL 17 (pgvector) + Redis 7 + MinIO (S3-compatible storage) - **Features**: Voice audio storage in MinIO, vector embeddings via pgvector - **Config**: `.env` file with JWT, MinIO creds ### 8. Paperclip — `/docker/paperclip-tqtp/` Claude Code assistant platform (Hostinger). Image: `ghcr.io/hostinger/hvps-paperclip:b5776ae`. - **Stack**: Single container with Docker-in-Docker - **Features**: Accesses host Docker socket, runs Claude Code instances - **Admin**: apoorv@onecity.in - **Data**: `/docker/paperclip-tqtp/data/` (contains Claude Code project instances) - **Config**: `.env` file ## Docker Infrastructure - **Shared network**: `shared-proxy` (external, connects all apps to Caddy) - **Volumes**: 26+ named volumes for PostgreSQL (v14–18, pgvector), Redis, Elasticsearch, MinIO, app data - **Each project** has its own internal Docker network for inter-service communication ## System Services | Service | Status | Notes | |---------|--------|-------| | Docker | Active | Container runtime | | Caddy | Active | Reverse proxy (via Docker) | | SSH | Active | Port 22 | | Fail2ban | Active | Intrusion prevention | | og-postiz.service | Inactive | Legacy systemd unit for Postiz (unused, references missing user svc-postiz) | ## User Home — `/home/office/` - `.claude/` — Claude Code config, plugins (GitHub, Telegram, Supabase, Greptile MCP servers), credentials, sessions - `.mcp.json` — MCP config (Upstash, Context7) - `.ssh/` — SSH keys - No custom cron jobs configured ## Key Operations ```bash # Manage any app cd /docker/ && docker compose up -d cd /docker/ && docker compose down cd /docker/ && docker compose logs -f # Caddy reload after Caddyfile edit cd /docker/caddy && docker compose exec caddy caddy reload --config /etc/caddy/Caddyfile # View all running containers docker ps # Check disk usage df -h ```