Upgrading
Praxrr uses semantic versioning and Docker release channels. Plan upgrades so
your APP_BASE_PATH data, encrypted Arr credentials, and PCD links survive
the transition.
Release channels
Section titled “Release channels”| Channel | Docker tag | Trigger | Stability |
|---|---|---|---|
| Develop | :develop |
Every push to main |
Unstable |
| Beta | :beta |
v*-beta.* tag |
Testing |
| Stable | :latest |
v* tag (no -beta) |
Stable |
Version pins such as :v2.1.0 are also published for immutable deployments.
Stable releases target Wednesdays after at least one week in beta without major issues. See the development guide in the repository for tagging workflow.
Upgrade steps (Docker)
Section titled “Upgrade steps (Docker)”- Back up the
APP_BASE_PATHvolume (at minimumdata/praxrr.dbanddata/databases/). - Pull the new image tag:
docker compose pull praxrrdocker compose up -d- Watch container logs for migration output on first startup.
- Open the UI and confirm linked PCDs and Arr instances remain connected.
- Run Sync Preview on critical instances before applying changes.
Upgrade steps (binary)
Section titled “Upgrade steps (binary)”- Stop the running process.
- Back up
APP_BASE_PATH. - Replace the executable with the new build.
- Start Praxrr with the same environment variables (especially
ARR_CREDENTIAL_MASTER_KEYand version). - Verify migrations completed via logs.
Database migrations
Section titled “Database migrations”Praxrr runs SQLite migrations automatically during startup
(hooks.server.ts sequence: config → database → migrations → PCD → jobs).
- App schema changes live in
packages/praxrr-app/src/lib/server/db/migrations/. - Do not downgrade to an older Praxrr version after migrations advance without restoring a backup.
- PCD schema updates may require a compatible
PRAXRR_SCHEMA_REFor local schema path when developing against custom forks.
Credential key rotation
Section titled “Credential key rotation”When rotating ARR_CREDENTIAL_MASTER_KEY:
- Set
ARR_CREDENTIAL_PREVIOUS_KEYSto a JSON map of old version → base64 key. - Deploy the new
ARR_CREDENTIAL_MASTER_KEYandARR_CREDENTIAL_MASTER_KEY_VERSION. - Re-save or re-import Arr instance API keys if decryption errors appear in logs.
Never commit master keys to Git.
PCD compatibility
Section titled “PCD compatibility”After upgrading, pull linked PCD repositories so base ops match the expected schema. If type generation or sync fails, confirm your PCD fork matches the Praxrr release’s schema manifest.
Set PRAXRR_SCHEMA_REF to pin a known-good schema tag when running curated
stacks (for example latest or a release tag).
Rollback
Section titled “Rollback”If an upgrade fails:
- Stop Praxrr.
- Restore the backed-up
APP_BASE_PATHdirectory. - Redeploy the previous Docker tag or binary version.
- Investigate logs before retrying.
Next steps
Section titled “Next steps”- Configuration — environment reference
- Troubleshooting — post-upgrade errors
- Architecture Overview — startup sequence detail