Pre-launch — Gluecron is in final validation. Public signups and git hosting for non-owner users open after launch review.
Commit6a672fdunknown_key

Merge pull request #120 from ccantynz-alt/claude/adoring-hopper-5x74bq

Merge pull request #120 from ccantynz-alt/claude/adoring-hopper-5x74bq

deploy(standalone): wire Google OAuth env + add wget so healthcheck w…
CC LABS App committed on June 16, 2026Parents: 56bff1a 56ea9a9
3 files changed+2056a672fd627f5c06f1335e348c71edecf92d03193
3 changed files+20−5
ModifiedDockerfile+8−5View fileUnifiedSplit
22WORKDIR /app
33
44# Install git (required for ALL git operations — clone, push, branch/tree
5# listing, diffs) and zip (used to package the Claude Desktop .dxt bundle at
6# build time). Verify git landed: a missing binary here must fail the build
7# loudly rather than ship an image that 500s on every repo page.
5# listing, diffs), zip (used to package the Claude Desktop .dxt bundle at
6# build time), and wget (the compose healthcheck calls it — without it the
7# container is permanently "unhealthy" and autoheal restart-loops it).
8# Verify git landed: a missing binary here must fail the build loudly rather
9# than ship an image that 500s on every repo page.
810RUN apt-get update \
9 && apt-get install -y --no-install-recommends git ca-certificates zip \
11 && apt-get install -y --no-install-recommends git ca-certificates zip wget \
1012 && rm -rf /var/lib/apt/lists/* \
11 && git --version
13 && git --version \
14 && wget --version | head -1
1215
1316# Install dependencies
1417COPY package.json bun.lock ./
Modifieddocker-compose.standalone.yml+8−0View fileUnifiedSplit
4444 - APP_BASE_URL=https://gluecron.com
4545 - SSH_PORT=0
4646 - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
47 # "Sign in with Google" — values come from .env (gitignored). Wiring them
48 # here is what makes the env bootstrap reach the container and survive
49 # redeploys; a config saved at /admin/google-oauth (DB) still takes
50 # precedence over these.
51 - GOOGLE_OAUTH_CLIENT_ID=${GOOGLE_OAUTH_CLIENT_ID:-}
52 - GOOGLE_OAUTH_CLIENT_SECRET=${GOOGLE_OAUTH_CLIENT_SECRET:-}
53 - GOOGLE_OAUTH_AUTO_CREATE=${GOOGLE_OAUTH_AUTO_CREATE:-}
54 - GOOGLE_OAUTH_ALLOWED_DOMAINS=${GOOGLE_OAUTH_ALLOWED_DOMAINS:-}
4755 expose:
4856 - "3000"
4957 volumes:
Modifieddocker-compose.yml+4−0View fileUnifiedSplit
1717 - GLUECRON_WEBHOOK_SECRET=${GLUECRON_WEBHOOK_SECRET}
1818 - CRONTECH_EVENT_TOKEN=${CRONTECH_EVENT_TOKEN}
1919 - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
20 - GOOGLE_OAUTH_CLIENT_ID=${GOOGLE_OAUTH_CLIENT_ID:-}
21 - GOOGLE_OAUTH_CLIENT_SECRET=${GOOGLE_OAUTH_CLIENT_SECRET:-}
22 - GOOGLE_OAUTH_AUTO_CREATE=${GOOGLE_OAUTH_AUTO_CREATE:-}
23 - GOOGLE_OAUTH_ALLOWED_DOMAINS=${GOOGLE_OAUTH_ALLOWED_DOMAINS:-}
2024 - EMAIL_PROVIDER=${EMAIL_PROVIDER:-log}
2125 - EMAIL_FROM=${EMAIL_FROM}
2226 - RESEND_API_KEY=${RESEND_API_KEY}
2327