-
Notifications
You must be signed in to change notification settings - Fork 0
Deployment
Covers staging, production, and per-surface release for ɳTasks.
Version Lock: All version bumps require an approved release plan. Do NOT bump version fields or create tags without explicit approval.
-
Source of truth:
apps/mobile/package.jsonversion:field (mobile) -
SPORT F01 and
.claude/docs/MASTER-VERSIONS.mdmust match — update both on every bump - Patch bumps within a Build wave are auto-authorized; minor/major require explicit user instruction
The backend runs as Docker Compose managed by make. Same process for staging and production — swap the compose overlay.
cd backend
cp .env.example .env.staging # fill in staging values
make staging-up # docker compose + staging overlay (Traefik HTTPS)
make health # verify all services healthycd backend
cp .env.example .env.prod # fill in production values
make prod-up # docker compose + production overlay (HTTPS + backups + limits)
make healthFor the hosted task.nself.org demo, the same stack runs via web/backend (see PPI).
The web SaaS is built and deployed from web/ in this repo. Auto-deployed: merges to main trigger a Vercel deployment (Vercel git integration, unity-dev team).
cd web
pnpm build # must exit 0 before pushingPreview deploy (before merging):
vercel deploy --token $VERCEL_TOKENProduction: automatic on merge to main via Vercel git integration.
cd apps/mobile
pnpm lint && pnpm typecheck && pnpm test # all must pass
eas build --platform android --profile production
eas build --platform ios --profile production
eas submit --platform android --latest
eas submit --platform ios --latestEAS profiles: apps/mobile/eas.json (development, preview, production).
| Platform | Credential | Storage |
|---|---|---|
| Android | ANDROID_KEYSTORE + passwords | EAS secrets + ~/.claude/vault.env
|
| iOS | App Store Connect API key | EAS secrets + ~/.claude/vault.env
|
Never commit .jks, .p12, .pem, .mobileprovision files.
| Platform | App ID | Store |
|---|---|---|
| Android | org.nself.tasks |
Google Play |
| iOS | org.nself.tasks |
App Store |
| Web | task.nself.org |
Vercel (unity-dev team) |
cd apps/desktop
pnpm tauri build # produces .dmg / .msi / .debDistribute via GitHub Releases.
Package isolation is solved and the app builds locally; no EAS release build has been triggered yet. See apps/tv/SPIKE.md.
cd apps/tv
eas build --platform ios --profile production # tvOS, not yet run- Update
apps/mobile/package.jsonversion - Update
web/package.jsonversion (if releasing web) - Update root
package.jsonversion (must match mobile) - Update
.claude/docs/MASTER-VERSIONS.md(ntask entry) - Update
~/Sites/nself/.opencode/phases/sport/F01-MASTER-VERSIONS.md - Commit:
chore(release): bump ntask to vX.Y.Z - Tag:
git tag vX.Y.Z && git push origin vX.Y.Z - Create GitHub Release with changelog entries
# From repo root
pnpm version-check # Verify root + mobile versions match
# Mobile gates
cd apps/mobile
pnpm lint && pnpm typecheck && pnpm test # must all pass
# Web SaaS gates (separate repo)
cd web
pnpm build # must exit 0- Backend-Setup: backend setup walkthrough
- Backend-Architecture: service map
- Changelog: version history
- Home: wiki home
Getting Started
- Getting-Started
- Quickstart-Guide
- Self-Hosting
- RN-Setup
- Web-SPA
- Desktop
- TV
- Backend-Setup
- Backend-Troubleshooting
Features & Apps
CLI & Agents
Backend
Architecture
Deployment
Reference
External