Deploy an image
1
Open the deploy sheet
Go to Apps and click Deploy App. Under Deployment source, pick Docker image.
2
Name the image
Type the image reference in Image. A bare name means Docker Hub, and no tag means
:latest.3
Set the port only if you need to
Leave Container port empty and Symplax reads the port from the image’s
EXPOSE. Set it if your image declares no port, or more than one.4
Name it, pick a server, add variables
Choose the Target server, optionally a domain, and add environment variables. Click Start Deployment.
How the port is chosen
When you leave the port empty, Symplax inspects the pulled image:- One exposed TCP port: Symplax uses it and says so in the deploy log.
- Several exposed ports: the deploy stops and asks you to set the container port.
- No exposed port: the deploy stops and asks you to set the container port.
How the health check works
Symplax did not build your image, so it does not guess what a healthy response looks like. Unless you set a health check, it only checks that the container is running and accepting connections on its port before swapping it in. To check a real endpoint, set Health Check in Settings to a path and the status code it returns, for example/healthz and 200. Symplax then waits for that response before it switches traffic.
Updating the image
Click Redeploy to pull the same reference again and swap to it. If your reference is a moving tag such as:latest or :v2, this picks up whatever the tag points to now.
Settings that only make sense for a build, such as Root Directory, Dockerfile Path, Start Command and Build Command, are hidden for image apps. Auto-deploy on push does not apply, because there is no repository.
What still applies
Everything after the build works the same as for any app:- Environment variables, passed to the container at runtime.
- Domains and SSL.
- Release commands, run from the image before the new container starts.
- Cron jobs and uptime monitoring.
One image runs as one container. Symplax does not run multi-container setups. If you have a
docker-compose.yml with one app and its databases, see Monorepos.