3.1 KiB
3.1 KiB
🚀 DevOps Infrastructure Deployment Status
✅ Deployed Services (Phase 1)
| Service | Container ID | IP | Ports | Status | URL | Notes |
|---|---|---|---|---|---|---|
| Traefik | Auto | 10.10.30.18 | 8080 | ✅ Running | http://10.10.30.18:8080 | Gateway/Reverse Proxy |
| Gitea | 101 | 10.10.30.120 | 3000 | ✅ Running | http://10.10.30.120:3000 | Git + CI/CD + Packages (SQLite) |
| Docker Registry | b1e155e920e6 | 10.10.30.121 | 5000 | ✅ Running | http://10.10.30.121:5000 | Private Docker images |
| Registry UI | Auto | 10.10.30.121 | 8080 | ✅ Running | http://10.10.30.121:8080 | Registry web interface |
| Portainer | 065fd8cfa26b | 10.10.30.121 | 9000 | ✅ Running | http://10.10.30.121:9000 | Docker management |
| Portainer Agent | 3a2831b9a481 | 10.10.30.121 | 9001 | ✅ Running | - | Docker agent |
| Vault | Auto | 10.10.30.121 | 8200 | ✅ Running | http://10.10.30.121:8200 | Secrets management (token: myroot) |
🔧 Working Docker Commands
Registry with CORS fix:
docker run -d \
--name registry \
--restart=always \
-p 5000:5000 \
-v /opt/registry-data:/var/lib/registry \
-e REGISTRY_HTTP_HEADERS_ACCESS-CONTROL-ALLOW-ORIGIN='[http://10.10.30.121:8080]' \
-e REGISTRY_HTTP_HEADERS_ACCESS-CONTROL-ALLOW-METHODS='[HEAD,GET,OPTIONS,DELETE]' \
-e REGISTRY_HTTP_HEADERS_ACCESS-CONTROL-ALLOW-CREDENTIALS='[true]' \
-e REGISTRY_HTTP_HEADERS_ACCESS-CONTROL-ALLOW-HEADERS='[Authorization,Accept,Cache-Control]' \
registry:2.8
Registry UI:
docker run -d \
--name registry-ui \
--restart=always \
-p 8080:80 \
-e REGISTRY_TITLE="DevOps Docker Registry" \
-e REGISTRY_URL="http://10.10.30.121:5000" \
-e REGISTRY_SINGLE="true" \
joxit/docker-registry-ui:latest
Vault (dev mode):
docker run -d \
--name vault \
--restart=always \
-p 8200:8200 \
-e VAULT_DEV=1 \
-e VAULT_DEV_ROOT_TOKEN_ID=myroot \
hashicorp/vault:latest \
vault server -dev -dev-listen-address="0.0.0.0:8200"
⏳ Next Phase Services (To Deploy)
| Service | Planned IP | Ports | Purpose |
|---|---|---|---|
| Nexus | 10.10.30.40 | 8081 | Artifacts, PyPI/npm proxy |
| Prometheus | 10.10.30.70 | 9090 | Metrics collection |
| Grafana | 10.10.30.80 | 3000 | Monitoring dashboards |
🎯 Target Project: MikroTik Telegram Bot
Source: mikrotik_home/telegram_bot/
Goal: Full CI/CD pipeline for auto-deployment
📊 Infrastructure Resources
Proxmox Host:
- RAM: 62GB (plenty available)
- CPU: 16 cores
- Network: 10.10.30.0/24 (ProxmoxLAN)
- Gateway: 10.10.30.1
Current Usage: ~7GB RAM, ~12 CPU cores
🔑 Key Learnings
- SQLite better than MySQL for Gitea in LXC
- CORS headers required for Registry UI
- Community-scripts work well for base deployments
- Portainer Agent vs Server distinction important
- Registry UI better than Portainer registries (free)
- SonarQube requires PostgreSQL - complex for MVP
- Vault dev mode perfect for testing
- Gitea packages eliminate need for separate Nexus