The configuration was committed but excluded twice over: .dockerignore listed .env, and the Dockerfile's explicit COPY lines never mentioned it. So the image built cleanly, the container started with no configuration at all, and exited on the first required setting - the same RuntimeError and the same Bad Gateway that committing .env was meant to fix. Silent in both directions. The build log shows every COPY succeeding, and the platform reports only a 502, because the process is gone before it can say anything. Nothing about "build completed" hints that the container has no configuration. Verified by reconstructing the image filesystem from the Dockerfile's COPY lines with .dockerignore applied, then booting from it with an empty environment: /app/.env is present, SIGNIN_PASSWORDS.txt is not, and /, /docs and /api/health all answer 200. That reconstruction is the check the earlier "boots from .env alone" testing was missing - it ran on the host, where .env sits next to app/ whether the image would have contained it or not. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
5.3 KiB
5.3 KiB