Site
- Public deployment
- Signing up for a cloud service, see Will Vincent's summary of options
- Rolling out your own server.
- Integrating a remote database
- Syncing the remote database with a local version, or a partial segment of it
- Ensuring the backup mechanism works
- Checking the backup mechanism regularly
- Reviewing user interactions which ought to be guarded
- Cache mechanisms
- Rate limiting
- User spam
- File uploads
- Being more deliberate with secrets, e.g.
- Managing their existence
- Limiting hosts
- Establishing remote logs
- Focusing more on devops than the actual app created with
Command Runner
Requires: fly.toml
pre-configured, 1password
-based secret references
Deploy app + database with staged decrets
just fly <deployable> <config>
Inject a specific compose.yml with secrets
# just set_secrets
op inject -i ./deploy/env.fly.tpl -o ./deploy/.env.fly
fly secrets --app {{deployable}} import < ./deploy/.env.fly --stage
rm ./deploy/.env.fly
# just deploy
poetry export -f requirements.txt \
--without-hashes \
--output src/requirements.txt
fly deploy \
--app {{deployable}} \
--config ./deploy/{{config}}/fly.toml \
--dockerfile ./deploy/{{config}}/Dockerfile
Stage secrets pre-deploy
just set_secrets <deployable>
Deploy app with db
just deploy <deployable> <config>
Text Only
```sh title="Inject a specific compose.yml with secrets"
poetry export -f requirements.txt \
--without-hashes \
--output src/requirements.txt
fly deploy \
--app {{deployable}} \
--config ./deploy/{{config}}/fly.toml \
--dockerfile ./deploy/{{config}}/Dockerfile
```