From f661343de07d81dda41e296313e23f8b8949b6a3 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 7 Mar 2026 21:02:41 +0100 Subject: [PATCH] Fix build: generate settings.json from env vars at runtime settings.json is gitignored (contains token). entrypoint.sh writes it from OUTLINE_URL / OUTLINE_TOKEN env vars on container start. Co-Authored-By: Claude Sonnet 4.6 --- .gitignore | 1 + Dockerfile | 4 +++- docker-compose.yml | 3 +++ entrypoint.sh | 15 +++++++++++++++ 4 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 entrypoint.sh diff --git a/.gitignore b/.gitignore index 9a8aa3e..5b0ff5a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # Secrets settings.json +.env # Export data (may contain sensitive content) outline_export/ diff --git a/Dockerfile b/Dockerfile index ed32d2f..c02fdc4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,7 +18,8 @@ RUN git config --global user.email "sync@local" && \ WORKDIR /work -COPY outline_sync.py webui.py settings.json ./ +COPY outline_sync.py webui.py entrypoint.sh ./ +RUN chmod +x entrypoint.sh # Initialise vault with both branches needed by outline_sync.py RUN git init /vault && \ @@ -31,4 +32,5 @@ RUN git init /vault && \ EXPOSE 8080 +ENTRYPOINT ["/work/entrypoint.sh"] CMD ["uvicorn", "webui:app", "--host", "0.0.0.0", "--port", "8080"] diff --git a/docker-compose.yml b/docker-compose.yml index 5892d5a..09a070c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,6 +5,9 @@ services: restart: unless-stopped networks: - domnet + environment: + - OUTLINE_URL=${OUTLINE_URL:-http://outline:3000} + - OUTLINE_TOKEN=${OUTLINE_TOKEN} ports: - "8181:8080" labels: diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..b6edbe7 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,15 @@ +#!/bin/sh +set -e + +# Generate settings.json from environment variables at container start. +# OUTLINE_URL and OUTLINE_TOKEN must be set (e.g. via docker-compose env / .env file). + +cat > /work/settings.json <