[IMPLEMENT] Deploy upaas on mission.solio.tech #2

Open
opened 2026-03-24 13:25:03 +01:00 by sol · 1 comment
Owner

Goal

Deploy the upaas µPaaS on this server, accessible at https://mission.solio.tech, running as a dedicated Docker container.

Requirements

  • Build the Go app from the repo (sol/upaas, forked from sneak/upaas)
  • Run in a separate Docker container (own compose file, own data directory)
  • Expose on port 3457 (127.0.0.1 only — next free port after 3456/claude-proxy)
  • Configure nginx reverse proxy for mission.solio.tech with Let's Encrypt SSL
  • Data persisted at /var/lib/upaas on the host
  • Docker socket mounted into container for build/deploy functionality
  • Set a strong admin password and store in /root/.openclaw/workspace/archive/logins.md

Existing Infrastructure

  • nginx running on host (manages SSL, reverse proxy)
  • Other containers: openclaw-gateway (18789), oc-session-handler (3001), claude-proxy (3456), pinchtab (9867), obsidian (3000/3001), nextcloud (8080), mattermost (8065)
  • Port 3457 is free and should be used

Deliverables

  1. /root/upaas/docker-compose.yml — standalone compose file for the upaas container
  2. nginx config at /etc/nginx/sites-available/mission.solio.tech
  3. SSL cert obtained via certbot for mission.solio.tech
  4. Container running, health check passing
  5. Admin credentials saved to logins.md
  6. Webhook integration notes for connecting upaas with our Gitea repos

Verification

  • https://mission.solio.tech loads the upaas dashboard
  • Can log in with admin credentials
  • Can create a test app pointing at a sol/* repo
## Goal Deploy the upaas µPaaS on this server, accessible at https://mission.solio.tech, running as a dedicated Docker container. ## Requirements - Build the Go app from the repo (`sol/upaas`, forked from sneak/upaas) - Run in a **separate Docker container** (own compose file, own data directory) - Expose on port **3457** (127.0.0.1 only — next free port after 3456/claude-proxy) - Configure nginx reverse proxy for `mission.solio.tech` with Let's Encrypt SSL - Data persisted at `/var/lib/upaas` on the host - Docker socket mounted into container for build/deploy functionality - Set a strong admin password and store in `/root/.openclaw/workspace/archive/logins.md` ## Existing Infrastructure - nginx running on host (manages SSL, reverse proxy) - Other containers: openclaw-gateway (18789), oc-session-handler (3001), claude-proxy (3456), pinchtab (9867), obsidian (3000/3001), nextcloud (8080), mattermost (8065) - Port 3457 is free and should be used ## Deliverables 1. `/root/upaas/docker-compose.yml` — standalone compose file for the upaas container 2. nginx config at `/etc/nginx/sites-available/mission.solio.tech` 3. SSL cert obtained via certbot for mission.solio.tech 4. Container running, health check passing 5. Admin credentials saved to logins.md 6. Webhook integration notes for connecting upaas with our Gitea repos ## Verification - https://mission.solio.tech loads the upaas dashboard - Can log in with admin credentials - Can create a test app pointing at a sol/* repo <!-- xen-spawn-sig:5ea7a403831d8bfcb39f4576e954529c56edd41faa7a6cf1de08104d83df3bdb:1774355102 -->
Author
Owner

[DECOMPOSE -> PENDING_APPROVAL] Implementation plan for deploying upaas on mission.solio.tech

Discovery Summary

  • DNS: mission.solio.tech already resolves to 5.189.143.184 (this server) -- no DNS changes needed
  • Repo: sol/upaas has multi-stage Dockerfile (lint -> build -> runtime), Go 1.25, produces upaasd binary
  • App listens on port 8080 internally, configurable via PORT env
  • First-time setup creates admin user via /setup web page (username + password form, argon2 hashing)
  • Data persisted at UPAAS_DATA_DIR (default /var/lib/upaas) -- SQLite DB + session key
  • Docker socket needed for container management functionality
  • No docker-compose.yml in repo -- must create standalone
  • Host has nginx with sites-available/enabled pattern, certbot available, existing SSL certs for other *.solio.tech domains

Plan Summary (4 phases, ~1h 45min total)

Phase 1 -- Build and Run Container [45min]

  • Create /root/upaas/docker-compose.yml (build from git repo, map port 3457:8080, mount /var/lib/upaas + docker.sock)
  • Create /var/lib/upaas data directory
  • docker compose build and up

Phase 2 -- Nginx and SSL [30min]

  • Create nginx config at /etc/nginx/sites-available/mission.solio.tech (reverse proxy to 127.0.0.1:3457)
  • Enable site, reload nginx
  • certbot for SSL certificate

Phase 3 -- Admin Setup [15min]

  • Complete first-time /setup via web UI (create admin user)
  • Save credentials to logins.md

Phase 4 -- Verification and Documentation [15min]

  • Verify HTTPS, login, health check
  • Write webhook integration notes

Role Assignments

Phases 1-3: DevOps Automator (exact match)
Phase 4: Reality Checker (exact match)

Production Review: 4/4 PASS

  • Scalability: PASS
  • Efficiency: PASS
  • Production-Readiness: PASS (health check, restart policy, persistent volumes, env-based config)
  • Best Practices: PASS (all tasks under 90min, all trace to spec requirements)

Auto-Audit: 6/6 PASS

Simulation: READY (all inputs verified, DNS confirmed, tools available)

Status: PENDING_APPROVAL -- awaiting human review

Full plan at: PROJ-1202-upaas/PLAN.md

[DECOMPOSE -> PENDING_APPROVAL] Implementation plan for deploying upaas on mission.solio.tech ## Discovery Summary - DNS: mission.solio.tech already resolves to 5.189.143.184 (this server) -- no DNS changes needed - Repo: sol/upaas has multi-stage Dockerfile (lint -> build -> runtime), Go 1.25, produces upaasd binary - App listens on port 8080 internally, configurable via PORT env - First-time setup creates admin user via /setup web page (username + password form, argon2 hashing) - Data persisted at UPAAS_DATA_DIR (default /var/lib/upaas) -- SQLite DB + session key - Docker socket needed for container management functionality - No docker-compose.yml in repo -- must create standalone - Host has nginx with sites-available/enabled pattern, certbot available, existing SSL certs for other *.solio.tech domains ## Plan Summary (4 phases, ~1h 45min total) Phase 1 -- Build and Run Container [45min] - Create /root/upaas/docker-compose.yml (build from git repo, map port 3457:8080, mount /var/lib/upaas + docker.sock) - Create /var/lib/upaas data directory - docker compose build and up Phase 2 -- Nginx and SSL [30min] - Create nginx config at /etc/nginx/sites-available/mission.solio.tech (reverse proxy to 127.0.0.1:3457) - Enable site, reload nginx - certbot for SSL certificate Phase 3 -- Admin Setup [15min] - Complete first-time /setup via web UI (create admin user) - Save credentials to logins.md Phase 4 -- Verification and Documentation [15min] - Verify HTTPS, login, health check - Write webhook integration notes ## Role Assignments Phases 1-3: DevOps Automator (exact match) Phase 4: Reality Checker (exact match) ## Production Review: 4/4 PASS - Scalability: PASS - Efficiency: PASS - Production-Readiness: PASS (health check, restart policy, persistent volumes, env-based config) - Best Practices: PASS (all tasks under 90min, all trace to spec requirements) ## Auto-Audit: 6/6 PASS ## Simulation: READY (all inputs verified, DNS confirmed, tools available) ## Status: PENDING_APPROVAL -- awaiting human review Full plan at: PROJ-1202-upaas/PLAN.md <!-- openclaw-agent -->
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sol/upaas#2