Skip to main content
This section is the runbook for shipping and operating Tuturuuu. It documents the deployment surfaces that exist in this repository today, the workflows that own them, and the commands the team should use when something needs to be built, released, or recovered.

Deployment Surfaces

SurfaceSource of truthDelivery target
Web apps (apps/web, apps/nova, apps/rewise, apps/calendar, apps/finance, apps/meet, apps/tasks, apps/track, apps/shortener).github/workflows/vercel-*.yamlVercel preview and production deployments
Database schema (apps/database).github/workflows/supabase-staging.yaml, .github/workflows/supabase-production.yamlSupabase staging and production projects
Self-hosted web runtime (apps/web)apps/web/Dockerfile, docker-compose.web.yml, docker-compose.web.prod.yml, scripts/docker-web.jsDocker dev stacks and production blue/green deployments
Discord utilities (apps/discord).github/workflows/discord-modal-deploy.ymlModal
Mobile artifacts (apps/mobile).github/workflows/mobile-build-*.yamlBuild artifacts for Android, iOS, macOS, Windows
Shared packages (packages/*).github/workflows/release-*.yamlnpm, GitHub Packages, JSR

Read This In Order

  1. Environments & Release Flow
  2. Web Docker Deployment
  3. GitHub Actions Runbook
  4. Secrets & Configuration

Core Principles

  • GitHub Actions is the canonical automation layer for hosted deployments and database migrations.
  • tuturuuu.ts can disable individual workflows; ci-check.yml enforces that toggle before a job does real work.
  • Vercel handles hosted web deployments. Supabase migrations run as separate workflows with explicit staging and production gates.
  • Self-hosted web deployment is Docker-based, and blue/green rollout is the supported rebuild-before-restart path.
  • Secrets live in GitHub Actions secrets/variables or local env files such as apps/web/.env.local. They do not belong in the repo.

Operational Flow

What Changed Recently

  • apps/web now supports both in-place Docker production deploys and blue/green deploys.
  • docker-setup-check.yaml validates Docker parity, renders both compose files, and builds both the dev and production web images.
  • Production Redis in Docker now requires a token, but scripts/docker-web.js satisfies that automatically by generating and injecting the value unless you explicitly opt out with --without-redis.
If you are changing deployment behavior, update this section and add any new page to apps/docs/docs.json.