App configuration
Ports, environment variables, custom domains, and virtual disks.
Ports and WebSockets
Open the app’s Network settings to check its exposed port. It should match the port your application actually listens on and the intended Dockerfile configuration. For container deployment, the application generally needs to listen on 0.0.0.0 rather than only localhost.
Enable WebSocket support and configure the relevant path when your application requires persistent WebSocket connections.
Environment variables
Set application secrets and runtime configuration in the environment-variable settings. Do not commit credentials to GitHub. Confirm that variable names match what the application reads and redeploy or restart when the change requires it.
Client-side bundles can expose values embedded at build time. Keep private credentials on the server side of your application.
Custom domains
Custom domains are available on Starter and Pro and connect to the appjet branch. Add the domain in the app’s domain settings, then follow the DNS instructions shown there. Use the exact records provided for that application rather than copying another app’s endpoint.
Check domain status after updating DNS and allow time for DNS and certificate provisioning. Use the current deployment URL while troubleshooting domain setup.
Virtual disks
Virtual disks provide persistent local storage on Starter and Pro. Choose the mount path your application uses and confirm that it writes persistent data there. Files written elsewhere inside a container can be lost when that container is replaced.
Review and back up important data before removing or changing a disk. You can also use Supabase for a database and object storage.
Logs and history
Use runtime logs to diagnose an application that has deployed but is not behaving correctly. Build logs diagnose dependency, compilation, and image-build failures. History helps connect code changes and commits to the builds you are reviewing.