Upgrading
This guide covers upgrades for all supported deployment paths.
Upgrade Principles (All Paths)
- Use immutable image tags.
- Back up database and storage before upgrading.
- Upgrade all running Strata instances to the same image tag.
- Migrations run automatically on startup.
1. Pre-Upgrade Backup
Database
PGPASSWORD=$DB_PASSWORD pg_dump \
-h $DB_HOST \
-U $DB_USERNAME \
-Fc strata_production \
> backup-$(date +%Y%m%d-%H%M%S).dump
Storage (Local Backend)
docker compose cp web:/rails/storage ./storage-backup-$(date +%Y%m%d)
If you use object storage (STORAGE_BACKEND=amazon|google|microsoft), use your provider backup/versioning controls.
2. Upgrade by Deployment Path
Quick Install / Single-Host Docker Compose
cd /path/to/strata
curl -fsSL https://strata.do/server/install.sh | bash
The installer preserves .env, updates compose config, pulls the selected image tag, and restarts services. Re-running the installer renames the background service from worker to job in docker-compose.yml (stop the old stack first if you have a running worker container).
Manual Host Deployment (VM / On-Prem)
- Set target image tag in
.env:
STRATA_VERSION=1.0.0
- Pull and restart:
docker compose pull
docker compose up -d
- Verify:
docker compose logs -f web job
curl http://<your-host-or-alb>/up
AWS ECS Manual Deployment
- Select target Strata image tag.
- Create new task definition revisions for web and job services.
- Update the web ECS service first, then the job service (force new deployment).
- Verify ALB
/upand application logs in CloudWatch for both services.
3. Rollback
Docker Compose (Quick Install / Manual Host)
- Set previous
STRATA_VERSIONin.env. - Restart:
docker compose pull
docker compose up -d
- If required, restore database and storage backups.
AWS ECS
- Revert the ECS service to the previous task definition revision.
- Verify ALB
/upand application logs. - If required, restore database and storage backups.
4. Multi-Node and HA Notes
- Upgrade in rolling order, keeping at least one healthy instance when possible.
- Keep
STRATA_SECRET_KEY_BASEand all Strata encryption keys identical across all nodes. - Ensure only one migration writer at a time (via normal rollout sequencing).