Phase 2: Single-VM production deploy (dev environment) #35

Closed
opened 2026-03-26 02:26:46 +00:00 by mik-tf · 1 comment
Member

Goal

Clean dev deployment on TFGrid single VM with embedded OSIS and persistent data. Matches freezone's single-VM pattern.

Depends on

Tasks

  • 2.1 Update Containerfiles — backend serves embedded OSIS, mounts /data volume for persistence
  • 2.2 Update docker-compose — drop hero_osis/hero_ledger services, add persistent data volume, single marketplace container + nginx frontend
  • 2.3 Branding config — create branding.toml template + instances/ directory (freezone pattern: zero code changes per deployment)
  • 2.4 Deploy to dev VM — make ship → single backend container + nginx frontend on dev-app.projectmycelium.org
  • 2.5 Run full test suite against dev — smoke (50) + API integration (24) + Playwright E2E (36) against live dev URL
  • 2.6 Seed demo data — Rhai seed script via container init or CLI command

Reference

  • Freezone single-VM: znzfreezone_deploy/docker-compose.prod.yml
  • Freezone branding: znzfreezone_deploy/instances/zanzibar/branding.toml
  • Current marketplace deploy: projectmycelium_marketplace_deploy/single-vm/

Acceptance criteria

  • dev-app.projectmycelium.org running embedded OSIS with persistent data (survives container restart)
  • Demo data seeded and browsable
  • All test suites pass against live dev URL
  • branding.toml controls app name, domain, colors, pricing
  • No external hero_osis or hero_ledger containers

Signed-off-by: mik-tf

## Goal Clean dev deployment on TFGrid single VM with embedded OSIS and persistent data. Matches freezone's single-VM pattern. ## Depends on - https://forge.ourworld.tf/mycelium_code/home/issues/34 (Phase 1: Embed OSIS) ## Tasks - [ ] **2.1** Update Containerfiles — backend serves embedded OSIS, mounts `/data` volume for persistence - [ ] **2.2** Update docker-compose — drop hero_osis/hero_ledger services, add persistent data volume, single marketplace container + nginx frontend - [ ] **2.3** Branding config — create `branding.toml` template + `instances/` directory (freezone pattern: zero code changes per deployment) - [ ] **2.4** Deploy to dev VM — `make ship` → single backend container + nginx frontend on `dev-app.projectmycelium.org` - [ ] **2.5** Run full test suite against dev — smoke (50) + API integration (24) + Playwright E2E (36) against live dev URL - [ ] **2.6** Seed demo data — Rhai seed script via container init or CLI command ## Reference - Freezone single-VM: `znzfreezone_deploy/docker-compose.prod.yml` - Freezone branding: `znzfreezone_deploy/instances/zanzibar/branding.toml` - Current marketplace deploy: `projectmycelium_marketplace_deploy/single-vm/` ## Acceptance criteria - `dev-app.projectmycelium.org` running embedded OSIS with persistent data (survives container restart) - Demo data seeded and browsable - All test suites pass against live dev URL - `branding.toml` controls app name, domain, colors, pricing - No external hero_osis or hero_ledger containers Signed-off-by: mik-tf
Author
Member

Completed. Single-VM Docker Compose running on dev with embedded OSIS, persistent data volume, branding config. 277 tests all pass. Part of v2.0.0 release.

— mik-tf

Completed. Single-VM Docker Compose running on dev with embedded OSIS, persistent data volume, branding config. 277 tests all pass. Part of v2.0.0 release. — mik-tf
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coopcloud_code/home#35
No description provided.