Add settings.json and Dockerfile COPY — implement missing PR #2 changes#3
Conversation
Co-authored-by: saurabh-khanna <54084054+saurabh-khanna@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Adds a committed Etherpad settings.json and ensures it is baked into the container image so configuration no longer resets on redeploys (addressing the missing implementation from PR #2).
Changes:
- Add a full
settings.jsonconfiguration for the Etherpad instance (title/skin/db/auth/rate limits/etc.). - Update the
DockerfiletoCOPYthe repository’ssettings.jsoninto/opt/etherpad-lite/settings.json.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
settings.json |
Introduces the intended persistent Etherpad configuration (env-var-driven DB creds, UI defaults, auth/user stubs). |
Dockerfile |
Bakes the committed settings.json into the Etherpad image to prevent resets on redeploy. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "password": "${ADMIN_PASSWORD:null}", | ||
| "is_admin": true | ||
| }, | ||
| "user": { | ||
| "password": "${USER_PASSWORD:null}", |
There was a problem hiding this comment.
The default password fallback ${ADMIN_PASSWORD:null} / ${USER_PASSWORD:null} will evaluate to the literal string "null" when the env var is missing, which creates a well-known weak credential if the deployment is misconfigured. Prefer having no default (so startup/login fails clearly) or choose a non-guessable default and document that ADMIN_PASSWORD/USER_PASSWORD must be set in the deployment environment.
| "password": "${ADMIN_PASSWORD:null}", | |
| "is_admin": true | |
| }, | |
| "user": { | |
| "password": "${USER_PASSWORD:null}", | |
| "password": "${ADMIN_PASSWORD}", | |
| "is_admin": true | |
| }, | |
| "user": { | |
| "password": "${USER_PASSWORD}", |
PR #2 ("Add persistent settings.json for Etherpad") was merged but its sole commit was an empty "Initial plan" —
settings.jsonwas never created andDockerfilewas never updated. Settings were still being wiped on every Appliku redeploy.Changes
settings.json— Adds full Etherpad config committed to the repo:"title": "Invisible Notes", dark mode enabled${DB_*}env-var placeholders (set in Appliku dashboard)${ADMIN_PASSWORD}/${USER_PASSWORD}env varsDockerfile— Adds theCOPYthat was always the point of this work:Without this
COPY, the base image's defaultsettings.jsonoverwrites any edits on every redeploy. With it, the committed config is baked into the image and survives redeployments.🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.