internal_port but does not provide PORT to the container, so the server listens on its default 3000).
1
Add a Dockerfile
2
Modify and commit connection.yaml
The project must use a direct connector, with secrets replaced by
${VAR} environment references, for example:connection.yaml is gitignored by default. Once its secrets are ${VAR} placeholders, remove it from .gitignore and commit it — the container reads it at runtime.3
Deploy
- Using the Fly UI
- Using the Fly CLI
In the dashboard, click Launch an App, choose Launch an App from GitHub, and select the project’s repo, granting Fly access if prompted.Click Customize deploy and set:
- Internal port:
3000 - Memory: at least 512MB memory
- Environment Variables:
EVIDENCE_BASIC_USER,EVIDENCE_BASIC_PASSWORD, and every${VAR}referenced inconnection.yaml, hereSNOWFLAKE_USERandSNOWFLAKE_PRIVATE_KEY
Notes
- Ensure fly has enough memory or else you may get
Out of memory: Killed process (evidence)infly logs. Increase memory withfly scale memory 512or infly.toml.

