# Runbook: Deploy — 0pt > Mål: sätta 0pt.app på SIAX-flottan (Coolify) och avveckla Vercel i ordning. > Status 2026-08-10: `siax.config.json` deklarerar `target: coolify`; ingen > Coolify-app provisionerad; live-instansen körs fortfarande på Vercel. ## 1. Förutsättningar (blockerare för cutover) - [ ] Coolify-app provisionerad i `cloud.siax.io` (build_pack: dockerfile, repo `git.siax.io/sax3l/0pt`, gren `main`). - [ ] `COOLIFY_APP_ID` (appens UUID) ifylld i `.gitea/workflows/cd.yml`. - [ ] `COOLIFY_TOKEN`-secret satt på repot (Gitea → Settings → Actions → Secrets). - [ ] Env-secrets inlagda i Coolify-appen från Infisical-projektet `0pt` (se backup/restore + incident runbooks). - [ ] DNS-cutover planerad: `0pt.app` → Coolify-appens ingress (eller Caddy). ## 2. Deploy (när appen finns) 1. Push till `main` → `.gitea/workflows/cd.yml` POSTar till `https://cloud.siax.io/api/v1/deploy?uuid=$COOLIFY_APP_ID&force=false`. 2. Följ run i Gitea Actions; verifiera att den slutar grön. 3. Verifiera hälsa: `curl https://0pt.app/api/health` → `ok:true` och `db: configured` (när Postgres kopplats in). ## 3. Manuell redeploy (nöd) ```bash curl -fsS -X POST "https://cloud.siax.io/api/v1/deploy?uuid=&force=true" \ -H "Authorization: Bearer $COOLIFY_TOKEN" ``` ## 4. Vercel-avveckling (EFFER att Coolify kör stabilt) 1. Verifiera att ingen verklig trafik/data ligger bakom (2026-08-10: `/api/health` visar `db/queue: not_configured` — marknads-/dev-läge). 2. Peka DNS om till Coolify. 3. Behåll Vercel-projektet tills certifierad paritet (katalog, orderflöde, betalningar). 4. Avveckla först därefter.