Compose-Format Files and Labels Reference
EasyRunner reads Compose-format files and converts them into Podman/systemd configuration for the web host. Compose means the Docker Compose file format in this reference, not the Docker Compose CLI tool.
Required Network for Public Services
- EasyRunner creates this network during web-host initialization. Public services attach to it so Caddy can reach them.
Attach public web services to this network so Caddy can route traffic to them.
Current Labels
| Label | Applied to | Meaning |
|---|---|---|
xyz.easyrunner.appNodeType |
Service entry | Service role. Common values: web, internal. |
xyz.easyrunner.appFramework |
Service entry | Routing/framework hint such as standardbackend or nextjs. |
xyz.easyrunner.appContainerInternalPort |
Service entry | Port the service listens on inside the container network. |
xyz.easyrunner.appBuildContext |
Service entry | Optional Flow A build context relative to the repo root. |
Terminology
These labels currently use app... names, but they configure service entries. Read them as service-level settings.
Service Examples
services:
web:
image: localhost/my-app:latest
networks:
- easyrunner_proxy_network
labels:
xyz.easyrunner.appNodeType: web # (1)!
xyz.easyrunner.appFramework: standardbackend
xyz.easyrunner.appContainerInternalPort: "3000" # (2)!
- Marks this service as publicly routable.
- Tells Caddy which internal container port to use.
Naming Guidance
- Set
name:to an app-specific value. Avoid generic names reused across multiple apps. - Use service names that describe the process, such as
web,api,worker, orredis. - Keep secrets out of Compose-format files; use App Secrets.