-
Notifications
You must be signed in to change notification settings - Fork 0
Deployment
This page gives production-oriented deployment patterns. For install commands, start with Installation.
For most servers:
- Run Docker or a native service.
- Persist the data directory.
- Put the app behind HTTPS.
- Create the first owner.
- Configure a durable backup destination.
- Run and verify a backup.
- Schedule recurring backups.
- Practice restore against a non-production deployment.
Docker is the recommended path for normal self-hosting.
docker run -d \
--name convex-autobackup \
--restart unless-stopped \
-p 8976:8976 \
-v convex-autobackup-data:/data \
-e CONVEX_AUTOBACKUP_MASTER_KEY="$(openssl rand -base64 32)" \
kodydoty/convex-autobackup:latestOpen:
http://localhost:8976
services:
convex-autobackup:
image: kodydoty/convex-autobackup:latest
restart: unless-stopped
ports:
- "8976:8976"
environment:
CONVEX_AUTOBACKUP_MASTER_KEY: "${CONVEX_AUTOBACKUP_MASTER_KEY}"
volumes:
- convex-autobackup-data:/data
volumes:
convex-autobackup-data:Start:
CONVEX_AUTOBACKUP_MASTER_KEY="$(openssl rand -base64 32)" docker compose up -dStore the generated master key somewhere safe before rotating shells or servers.
Download the release bundle for your platform:
https://github.com/KodyDennon/ConvexAutoBackup/releases/tag/v0.1.0-beta.5
Run:
convex-autobackup superviseThe supervised process runs the web/API server and scheduler worker together. Advanced operators may run the worker separately:
convex-autobackup serve --bind 0.0.0.0:8976
convex-autobackup-worker --data-dir /data run --poll-seconds 30[Unit]
Description=ConvexAutoBackup
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
EnvironmentFile=/etc/convex-autobackup/env
ExecStart=/usr/local/bin/convex-autobackup supervise
Restart=always
RestartSec=5
User=convex-autobackup
Group=convex-autobackup
[Install]
WantedBy=multi-user.targetEnvironment file:
CONVEX_AUTOBACKUP_MASTER_KEY=...Production installs should use HTTPS. Example nginx shape:
server {
listen 443 ssl http2;
server_name backups.example.com;
location / {
proxy_pass http://127.0.0.1:8976;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}Keep the app bound to a private interface or firewall it so only the proxy can reach it.
- Record the currently running version.
- Back up the ConvexAutoBackup data directory.
- Pull the new image or install the new native bundle.
- Restart the service.
- Confirm
GET /api/v1/health. - Open the UI and confirm sign-in, setup inventory, and recent runs still load.
- Run a manual backup.
- Verify that backup.
- Stop the service.
- Restore the previous image or binary.
- Restore the previous data directory if the new version migrated state incompatibly.
- Start the service.
- Confirm health and run history.
Versioned deployment docs live here:
https://github.com/KodyDennon/ConvexAutoBackup/blob/main/docs/DEPLOYMENT.md
ConvexAutoBackup docs: Repository · Releases · Docker Hub · crates.io