Commit56ea9a9unknown_key
deploy(standalone): wire Google OAuth env + add wget so healthcheck works
deploy(standalone): wire Google OAuth env + add wget so healthcheck works Two durability fixes for the self-hosted (docker-compose.standalone.yml) box: 1. Google sign-in: add GOOGLE_OAUTH_CLIENT_ID/SECRET/AUTO_CREATE/ALLOWED_DOMAINS to the gluecron service env allow-list in both compose files. Values come from the gitignored .env; without this wiring the env bootstrap never reaches the container, and the lines would vanish on every redeploy (git reset --hard). A config saved at /admin/google-oauth (DB) still wins. 2. Healthcheck: the compose healthcheck calls wget, which wasn't in the oven/bun image — so the app container was permanently 'unhealthy' and autoheal restart-looped it (that churn left an orphaned container behind). Install wget in the image so the healthcheck actually passes. https://claude.ai/code/session_01Gi3ZS4USc7ix2mgMALpz97
3 files changed+20−556ea9a96819dd36d71afeeb3566302fc59e185ca
3 changed files+20−5
ModifiedDockerfile+8−5View fileUnifiedSplit
@@ -2,13 +2,16 @@ FROM oven/bun:1.3 AS base
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
@@ -44,6 +44,14 @@ services:
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
@@ -17,6 +17,10 @@ services:
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