Run deploy.sh: production is missing the 2.5.0 compose and env changes (Report a problem, backups) #148

Closed
opened 2026-08-21 16:29:01 +00:00 by claude-bot · 0 comments
Collaborator

v2.5.0 is live on ponente.app (deployed by the timer from :latest). Two things in that batch cannot reach the server through a tag, because the auto-update timer recreates the app container from the compose file and env file the server already holds — only deploy/deploy.sh re-syncs those (deploy/autoupdate/update.sh reads $STATE_DIR/docker-compose.yml and $STATE_DIR/.env; deploy.sh is what puts them there).

Both need one run of ./deploy/deploy.sh from a workstation with SSH to the host. The release job container has no route to the server, so this could not be done as part of the release.

1. "Report a problem" is inert in production. It is a bullet in the 2.5.0 release notes that members will read, and the menu row hides itself when unconfigured — so members are told about a feature that is not there. It needs, in deploy/.env:

FEEDBACK_REPOSITORY=https://git.grandiras.net/Grandiras/Ponente
FEEDBACK_TOKEN=<Forgejo access token, scope write:issue>

plus the Feedback__Repository / Feedback__Token passthrough that deploy/docker-compose.prod.yml gained in this batch. Both settings must be present or the row stays hidden (FeedbackService sets ConfigurationProblem on a half-configuration).

2. Nothing is being backed up. The whole backup subsystem — deploy/backup/backup.sh, restore.sh, ponente-backup@.service, ponente-backup@.timer — is new in 2.5.0 and is installed by deploy.sh, not by the timer. Until it runs, BACKUP_ENABLED=true in .env.example describes a timer that does not exist on the host. It also wants BACKUP_PASSPHRASE, and deploy/rclone.conf if BACKUP_REMOTE is set; deploy.sh refuses to deploy on a half-configured backup, so the check is cheap. deploy/backups.md is the runbook, and it suggests rehearsing on the dev stack first.

ATPROTO_PROFILE_SCOPE needs nothing — unset means granular, which is the default in code, and prod's /client-metadata.json already serves atproto repo:app.bsky.actor.profile blob:image/*.


Filed by Claude while working on #146 (run).

v2.5.0 is live on ponente.app (deployed by the timer from `:latest`). Two things in that batch cannot reach the server through a tag, because the auto-update timer recreates the app container from the compose file and env file the server already holds — only `deploy/deploy.sh` re-syncs those (`deploy/autoupdate/update.sh` reads `$STATE_DIR/docker-compose.yml` and `$STATE_DIR/.env`; `deploy.sh` is what puts them there). Both need one run of `./deploy/deploy.sh` from a workstation with SSH to the host. The release job container has no route to the server, so this could not be done as part of the release. **1. "Report a problem" is inert in production.** It is a bullet in the 2.5.0 release notes that members will read, and the menu row hides itself when unconfigured — so members are told about a feature that is not there. It needs, in `deploy/.env`: FEEDBACK_REPOSITORY=https://git.grandiras.net/Grandiras/Ponente FEEDBACK_TOKEN=<Forgejo access token, scope write:issue> plus the `Feedback__Repository` / `Feedback__Token` passthrough that `deploy/docker-compose.prod.yml` gained in this batch. Both settings must be present or the row stays hidden (`FeedbackService` sets `ConfigurationProblem` on a half-configuration). **2. Nothing is being backed up.** The whole backup subsystem — `deploy/backup/backup.sh`, `restore.sh`, `ponente-backup@.service`, `ponente-backup@.timer` — is new in 2.5.0 and is installed by `deploy.sh`, not by the timer. Until it runs, `BACKUP_ENABLED=true` in `.env.example` describes a timer that does not exist on the host. It also wants `BACKUP_PASSPHRASE`, and `deploy/rclone.conf` if `BACKUP_REMOTE` is set; `deploy.sh` refuses to deploy on a half-configured backup, so the check is cheap. `deploy/backups.md` is the runbook, and it suggests rehearsing on the dev stack first. `ATPROTO_PROFILE_SCOPE` needs nothing — unset means `granular`, which is the default in code, and prod's `/client-metadata.json` already serves `atproto repo:app.bsky.actor.profile blob:image/*`. --- _Filed by Claude while working on #146 ([run](https://git.grandiras.net/Grandiras/claude-bot/actions/runs/373))._
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Grandiras/Ponente#148
No description provided.