mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-15 00:01:10 +02:00
Some checks are pending
CD Mac Mini / Detect Changes (push) Waiting to run
CD Mac Mini / Deploy (push) Blocked by required conditions
CI / Detect Changes (push) Waiting to run
CI / Validate (push) Waiting to run
CI / Build mana-search (push) Blocked by required conditions
CI / Build mana-sync (push) Blocked by required conditions
CI / Build mana-api-gateway (push) Blocked by required conditions
CI / Build mana-crawler (push) Blocked by required conditions
Docker Validate / Validate Dockerfiles (push) Waiting to run
Docker Validate / Build calendar-web (push) Blocked by required conditions
Docker Validate / Build quotes-web (push) Blocked by required conditions
Docker Validate / Build todo-backend (push) Blocked by required conditions
Docker Validate / Build todo-web (push) Blocked by required conditions
Docker Validate / Build mana-auth (push) Blocked by required conditions
Docker Validate / Build mana-sync (push) Blocked by required conditions
Docker Validate / Build mana-media (push) Blocked by required conditions
Mirror to Forgejo / Push to Forgejo (push) Waiting to run
Phase-3-Rename des ehemaligen Multi-App-Monorepos zum eigenständigen Produkt-Repo. Verein heißt mana e.V., Plattform-Domain bleibt mana.how, apps/mana/ bleibt unverändert — nur der Repo-Container kriegt den neuen Namen "managarten" (Garten der mana-Apps). Geändert: - package.json#name + #description - README.md (Titel + erster Absatz) - TROUBLESHOOTING.md - alle Mac-Mini-Skripte (Pfade ~/projects/mana-monorepo → ~/projects/managarten) - COMPOSE_PROJECT_NAME-default in scripts/mac-mini/status.sh - .github/workflows/cd-macmini.yml + mirror-to-forgejo.yml - apps/docs (astro.config.mjs + content) - .claude/settings.local.json (Bash-Permission-Pfade) - alle docs/*.md Pfad-Referenzen - launchd plists, .env.macmini.example, infrastructure/ Forgejo-Repo + GitHub-Repo bereits via API umbenannt. Lokales Verzeichnis-Rename + Mac-Mini-Cutover folgen separat.
92 lines
2.6 KiB
Markdown
92 lines
2.6 KiB
Markdown
# 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
|
|
|
|
1. **Push to main** triggers CI workflow
|
|
2. CI detects changed services
|
|
3. Docker images are built for changed services
|
|
4. Images are pushed to GitHub Container Registry (ghcr.io)
|
|
|
|
### What happens automatically (Watchtower)
|
|
|
|
Watchtower runs as a Docker container and:
|
|
1. Checks GHCR for new images every 5 minutes
|
|
2. Pulls updated images
|
|
3. Recreates containers with new images
|
|
4. Cleans up old images
|
|
|
|
No manual action needed for regular deployments.
|
|
|
|
## Manual Deployment (if needed)
|
|
|
|
For immediate deployment without waiting for Watchtower:
|
|
|
|
```bash
|
|
ssh mana-server "cd ~/projects/managarten && ./scripts/mac-mini/deploy.sh"
|
|
```
|
|
|
|
## Monitoring
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
ssh mana-server
|
|
cd ~/projects/managarten
|
|
|
|
# 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](MAC_MINI_SERVER.md)** - Complete server setup, autostart, health checks
|
|
- **[LOCAL_DEVELOPMENT.md](LOCAL_DEVELOPMENT.md)** - Local development setup
|