Pre-launch — Gluecron is in final validation. Public signups and git hosting for non-owner users open after launch review.
CodeIssuesDiscussionsWikiPull RequestsProjectsCommitsActionsReleasesContributorsPulse● GatesSecuritySettingsDeploymentsPipelineInsightsAgents✨ Explain✨ Ask AI✨ Workspace✨ Spec✨ Tests▓ Debt Map✨ NL Search🏛 Archaeology
claude/adoring-hopper-5x74bqclaude/affectionate-feynman-ykrf1hclaude/architecture-audit-design-wxprenclaude/build-status-update-3MXsfclaude/charming-meitner-mllb5rclaude/compare-gate-gluecron-s4mFQclaude/confident-faraday-tikcwbclaude/continue-work-XMTlIclaude/crontech-gluecron-deploy-7MIECclaude/crontech-platform-setup-SeKfwclaude/design-2026claude/ecstatic-ptolemy-jMdigclaude/enhance-github-integration-QNHdGclaude/fix-aa-loop-issue-PonMQclaude/fix-actions-and-processclaude/fix-desktop-errors-XqoW8claude/fix-red-workflowsclaude/fix-website-access-6FKJNclaude/gatetest-integration-hardeningclaude/github-audit-improvements-bDFr9claude/gluecron-launch-status-FoMRlclaude/hopeful-lamport-olfCTclaude/issue-to-pr-and-protectionsclaude/jolly-heisenberg-2sg1Qclaude/launch-preparation-QmTb6claude/new-session-xk1l7claude/plan-platform-architecture-kkN4yclaude/platform-analysis-roadmap-1nUGLclaude/platform-launch-assessment-8dWV8claude/polish-platform-release-AeDrUclaude/resume-previous-work-KzyLwclaude/review-crontech-handoff-qYEVqclaude/review-project-completeness-lHhS2claude/review-readme-docs-ulqPKclaude/serene-edison-rj87weclaude/setup-multi-repo-dev-BCwNQclaude/ship-fixes-and-tests-Jvz1cclaude/site-audit-competitive-pctlwgclaude/site-migration-vercel-XstpKclaude/standalone-product-repos-XHFTDcopilot/feat-smart-empty-states-keyboard-first-enhancementcopilot/feat-smart-morning-digest-review-context-restorecopilot/fix-and-process-workflowscopilot/update-ai-powered-code-reviewfeat/debt-mapfeat/push-policy-codeowners-hardeningfeat/smart-digest-contextfeat/stage-impactfeat/t1-secret-migrationfeat/u-polishfeat/w-self-hostfeat/w2-claude-configfix/agent-journey-orphan-sweepgatetest/auto-fix-1776586424172gatetest/auto-fix-1776586534814gatetest/auto-fix-1776590685143gatetest/auto-fix-1776590808199mainops/redeploy-retriggerstyle/dxt-cta-themeworktree-agent-a3377aad30d55da26worktree-agent-a7ef607b7ee1d6c74
LAUNCH_TODAY.md4.5 KB · 140 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# LAUNCH TODAY — exact steps to get GlueCron live

The app is deploy-ready. Tests pass (76/76). Boot verified. Migrations included. Dockerfile + Railway + Fly configs shipped.

You need **two secrets** and **one deploy command**. That's it.

---

## A. What you need (3 minutes)

1. **Neon Postgres database** — free tier at https://neon.tech
   - Create a project → copy the "pooled" connection string.
   - This becomes `DATABASE_URL`.
2. **Anthropic API key** — https://console.anthropic.com
   - Create a key → `ANTHROPIC_API_KEY` (optional: all AI features gracefully degrade without it, but you'll want this for the differentiator features).
3. **A deploy target** — pick one:
   - Railway (easiest, `railway.toml` already configured)
   - Fly.io (has `fly.toml` with persistent volume for git repos)
   - Any Docker host (Render, Koyeb, DO App Platform, a VPS — `Dockerfile` works anywhere)

---

## B. Railway (fastest path — ~5 minutes)

```bash
# 1. Install Railway CLI (one-time)
npm i -g @railway/cli

# 2. From the repo root
railway login
railway link              # create or pick a project
railway variables set DATABASE_URL="postgresql://..."
railway variables set ANTHROPIC_API_KEY="sk-ant-..."
railway up                # builds Dockerfile, runs db:migrate via releaseCommand, starts server
```

Railway gives you a live URL like `https://gluecron-production.up.railway.app`.

Add your custom domain (`gluecron.com`) in the Railway dashboard → Settings → Networking.

---

## C. Fly.io (persistent volume for git repos — ~8 minutes)

```bash
# 1. Install flyctl (one-time)
curl -L https://fly.io/install.sh | sh

# 2. From the repo root
fly auth login
fly launch --no-deploy    # accepts existing fly.toml
fly volumes create gluecron_repos --size 10 --region lhr
fly secrets set DATABASE_URL="postgresql://..."
fly secrets set ANTHROPIC_API_KEY="sk-ant-..."
fly deploy
```

Fly gives you `https://gluecron.fly.dev`. Point your domain with:
```bash
fly certs add gluecron.com
```

---

## D. Any Docker host

```bash
docker build -t gluecron .
docker run -d \
  -p 3000:3000 \
  -e DATABASE_URL="postgresql://..." \
  -e ANTHROPIC_API_KEY="sk-ant-..." \
  -v gluecron_repos:/app/repos \
  gluecron

# Run migrations once:
docker run --rm \
  -e DATABASE_URL="postgresql://..." \
  gluecron bun run db:migrate
```

---

## E. First-boot checklist (after deploy)

1. Visit `https://your-url/healthz``{"ok":true,...}`
2. Visit `https://your-url/readyz``{"ok":true}` (confirms DB connectivity)
3. Visit `https://your-url/register` → create the first admin account
4. Visit `https://your-url/new` → create a repo (auto-configures with green defaults)
5. Clone it: `git clone https://your-url/<owner>/<repo>.git` — confirms Smart HTTP works
6. Push a commit → post-receive hook fires GateTest + secret scan + webhook fan-out

---

## F. Custom domain (gluecron.com)

DNS:
- `A` or `CNAME` → your deploy host (Railway / Fly / Docker box)
- If using Railway, they issue the cert automatically
- If using Fly, run `fly certs add gluecron.com` after DNS is pointed
- If using a VPS, terminate TLS with Caddy / nginx / Cloudflare in front

---

## G. Post-launch hardening (day 1–3)

These are already shipped and will just start working:
- ✅ Rate limiting (`/api/*` 120/min, `/login` 20/min, `/register` 10/min)
- ✅ Health + readiness + metrics endpoints
- ✅ Request-ID tracing on every response
- ✅ Secret scanner on every push
- ✅ AI security review on every push (if `ANTHROPIC_API_KEY` set)
- ✅ Auto-repair engine (if `ANTHROPIC_API_KEY` set)
- ✅ CODEOWNERS auto-sync
- ✅ Notifications + dashboard + audit log

Observability you might want to add later (Block F in BUILD_BIBLE.md):
- Ship `/metrics` to Grafana / Datadog / Prometheus
- Wire error tracking (Sentry) — one-file addition
- Email digests (currently in-app only)

---

## H. What fails gracefully if you skip secrets

| Missing | Effect |
|---|---|
| `DATABASE_URL` | App boots, `/healthz` returns 200, any DB route returns 500. Don't deploy without it. |
| `ANTHROPIC_API_KEY` | All AI features return safe fallback strings. Site fully usable as a git host. |
| `GATETEST_API_KEY` | GateTest integration silently skipped. Local gates still run. |

---

## I. If anything goes wrong

- Check `/readyz` — tells you if DB is reachable.
- Check `/metrics` — process health snapshot.
- Container logs show every request with latency + status.
- Every request has `X-Request-Id` header — grep logs by that ID.
- `bun test` in the container proves the build is sound.