These pages describe the intended behaviour of the gateway. The open-source release and the enterprise edition are being split out; details will be updated when the first release ships.
Docker
Running the container, mounting the bootstrap file, and persisting state.
Run
docker run -d --name solidway \
-p 8080:8080 \
-p 8081:8081 \
-v ./solidway.toml:/etc/solidway/solidway.toml:ro \
-v solidway-state:/var/lib/solidway \
solidway/gateway
Port 8080 serves traffic. Port 8081 serves the console — publish it only if you must,
and prefer reaching it over a tunnel.
Two mounts, two purposes
| Mount | Contents | Changes |
|---|---|---|
/etc/solidway/solidway.toml |
Listen address, public domain, console bind | Rarely, with a restart |
/var/lib/solidway |
Providers, credentials, routes, policy, alerts | Continuously, from the console |
The second one is the important one. It is the source of truth for routing, not a cache, so a container without it starts empty and a container that loses it loses every provider you configured.
Image properties
| Base | Distroless, no shell |
| User | Non-root |
| Architecture | linux/amd64, linux/arm64 |
| Entrypoint | /solidway --config /etc/solidway/solidway.toml |
Because there is no shell, docker exec will not give you a prompt. Use the logs, the
health endpoint, and the console.
Health
curl -fsS http://localhost:8080/health
/health reports liveness: the process is running. /ready reports readiness: the state
directory is readable and at least one provider is configured.
A failing /ready means the gateway will not forward traffic, which is the correct state
before anything has been configured in the console.
Backup
Back up the state volume. It holds credentials, so treat the backup as a secret.