Project Alpha 0.5.0 Database Reset
Version 0.5.0 deliberately has no in-place upgrade path from 0.4.x or earlier pre-release development schemas. Existing database contents are discarded. Project Alpha never removes a production volume automatically.
For local throwaway development stacks only, docker compose -f docker-compose.yml -f docker-compose.override.yml down -v is acceptable when you intentionally want to reset every local named volume and rebuild from the 0.5.0 baseline. Do not use down -v for pilot, staging, production, or any host that contains uploads, configuration, backups, or data you need to preserve.
Pilot Server
- Record the current Compose project name and confirm which volume or TrueNAS dataset contains only MySQL data. Do not remove uploads, configuration, backups, or the persisted encryption key.
-
Stop the stack:
docker compose down -
Inspect the candidate volume before deletion:
docker volume ls docker volume inspect <confirmed-project-alpha-db-volume> -
Remove only the confirmed
pa_db_datavolume:docker volume rm <confirmed-project-alpha-db-volume>For a TrueNAS host-path installation, stop the app and delete/recreate only the configured database dataset through the TrueNAS storage UI.
-
Pull/build 0.5.0 and deploy:
docker compose pull docker compose up -d docker compose ps -a docker compose logs migrate - Confirm
migrateexited successfully, web and cron are healthy/running, and the logs contain no password hash. - Open PA and complete first-time setup to create the initial administrator; recreate the client and application settings.
- Restart the stack and verify login, documents, cron, uploads, configuration, and backups still work.
- Verify the administrator can sign out and back in after a redeploy.
Second Server
Reset the second server only after the pilot passes every check. Use the identical image tags and repeat the same volume inspection, database-only removal, deployment, first-time setup, login, and restart checks.
docker compose down -v is intentionally not used for server rollouts because it also removes non-database named volumes.