2026-07-17 23:20:34 +02:00
|
|
|
up: ## start services
|
|
|
|
|
docker compose -f docker/docker-compose.yml up -d postgres redis meilisearch
|
|
|
|
|
down: ## stop services (data kept)
|
|
|
|
|
docker compose -f docker/docker-compose.yml down
|
|
|
|
|
reset-db: ## DESTRUCTIVE: wipe db + search + blobs, re-migrate
|
|
|
|
|
docker compose -f docker/docker-compose.yml down -v
|
|
|
|
|
rm -rf var/blobs && mkdir -p var/blobs
|
|
|
|
|
docker compose -f docker/docker-compose.yml up -d --wait postgres redis meilisearch
|
|
|
|
|
cd backend && alembic upgrade head
|
|
|
|
|
api:
|
|
|
|
|
uvicorn app.main:create_app --factory --reload --port 8000 --app-dir backend
|
2026-07-18 19:53:31 +02:00
|
|
|
worker: ## run both sync + jobs in one process (dev)
|
|
|
|
|
cd backend && WORKER_ROLE=all python -m workers.run
|
|
|
|
|
worker-sync: ## run only the account-sync supervisor
|
|
|
|
|
cd backend && WORKER_ROLE=sync python -m workers.run
|
|
|
|
|
worker-jobs: ## run only the arq job consumers (interactive + bulk)
|
|
|
|
|
cd backend && WORKER_ROLE=jobs python -m workers.run
|
2026-07-17 23:20:34 +02:00
|
|
|
web:
|
|
|
|
|
cd frontend && npm run dev
|
|
|
|
|
test:
|
|
|
|
|
cd backend && pytest -q && cd ../frontend && npx vitest run
|
|
|
|
|
mail-test: ## start throwaway IMAP/SMTP server
|
|
|
|
|
docker compose -f docker/docker-compose.yml up -d greenmail
|
2026-09-14 18:53:50 +02:00
|
|
|
|
|
|
|
|
# --- production (NAS / single-host Docker deploy; see docs/nas-install.md) ---
|
|
|
|
|
prod-init: ## generate docker/.env.prod + data dirs
|
|
|
|
|
./deploy/webmail.sh init
|
|
|
|
|
prod-up: ## start the production stack
|
|
|
|
|
./deploy/webmail.sh up
|
|
|
|
|
prod-down: ## stop the production stack (data kept)
|
|
|
|
|
./deploy/webmail.sh down
|
|
|
|
|
prod-status: ## what is running, versions, disk, backups
|
|
|
|
|
./deploy/webmail.sh status
|
|
|
|
|
prod-update: ## backup -> migrate -> roll -> health-gate (auto-rollback on failure)
|
|
|
|
|
./deploy/webmail.sh update
|
|
|
|
|
prod-backup: ## take a verified database dump now
|
|
|
|
|
./deploy/webmail.sh backup
|
|
|
|
|
prod-doctor: ## pre-flight checks on a deployment
|
|
|
|
|
./deploy/webmail.sh doctor
|
|
|
|
|
prod-images: ## build production images locally (no push)
|
|
|
|
|
docker build -f docker/Dockerfile.backend -t webmail/backend:local .
|
|
|
|
|
docker build -f docker/Dockerfile.frontend -t webmail/web:local .
|