mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 23:41:08 +02:00
Final cleanup of references missed in previous rename commits: - Dockerfiles: PUBLIC_MANA_CORE_AUTH_URL → PUBLIC_MANA_AUTH_URL - Go modules: github.com/manacore/* → github.com/mana/* (7 go.mod files) - launchd plists: com.manacore.* → com.mana.* (14 files renamed + content) - Image assets: *_Manacore_AI_Credits* → *_Mana_AI_Credits* (11 files) - .env.example files: ManaCore brand strings → Mana - .prettierignore: stale apps/manacore/* paths → apps/mana/* - Markdown docs (CLAUDE.md, /docs/*): mana-core-auth → mana-auth, etc. Excluded from rename: .claude/, devlog/, manascore/ (historical content), client testimonials, blueprints, npm package refs (@mana-core/*). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2.6 KiB
2.6 KiB
Deployment Guide
Overview
Production runs on a Mac Mini accessible via Cloudflare Tunnel at mana.how.
Push to main → CI builds Docker images → GHCR → Watchtower pulls & restarts
(automatic) (automatic, ~5 min)
Watchtower automatically checks for new Docker images every 5 minutes and updates running containers.
Quick Reference
| Environment | Location | Domain |
|---|---|---|
| Local Dev | Your machine | localhost |
| Production | Mac Mini | mana.how |
CI/CD Pipeline
What happens automatically
- Push to main triggers CI workflow
- CI detects changed services
- Docker images are built for changed services
- Images are pushed to GitHub Container Registry (ghcr.io)
What happens automatically (Watchtower)
Watchtower runs as a Docker container and:
- Checks GHCR for new images every 5 minutes
- Pulls updated images
- Recreates containers with new images
- Cleans up old images
No manual action needed for regular deployments.
Manual Deployment (if needed)
For immediate deployment without waiting for Watchtower:
ssh mana-server "cd ~/projects/mana-monorepo && ./scripts/mac-mini/deploy.sh"
Monitoring
# Check service status
ssh mana-server "./scripts/mac-mini/status.sh"
# View logs
ssh mana-server "docker logs -f mana-chat-backend"
# Health check
ssh mana-server "./scripts/mac-mini/health-check.sh"
Services & URLs
| Service | URL | Container |
|---|---|---|
| Dashboard | https://mana.how | mana-web |
| Auth API | https://auth.mana.how | mana-auth |
| Chat | https://chat.mana.how | chat-web |
| Chat API | https://chat-api.mana.how | chat-backend |
| Todo | https://todo.mana.how | todo-web |
| Todo API | https://todo-api.mana.how | todo-backend |
| Calendar | https://calendar.mana.how | calendar-web |
| Calendar API | https://calendar-api.mana.how | calendar-backend |
| Clock | https://clock.mana.how | clock-web |
| Clock API | https://clock-api.mana.how | clock-backend |
| Contacts | https://contacts.mana.how | contacts-web |
| Contacts API | https://contacts-api.mana.how | contacts-backend |
Rollback
ssh mana-server
cd ~/projects/mana-monorepo
# Rollback to specific image tag
docker compose -f docker-compose.macmini.yml pull <service>:<tag>
docker compose -f docker-compose.macmini.yml up -d <service>
Detailed Documentation
- MAC_MINI_SERVER.md - Complete server setup, autostart, health checks
- LOCAL_DEVELOPMENT.md - Local development setup