Image Builds
Build container images from Compose projects or a build workspace, locally or with Depot.
Arcane builds container images from a Dockerfile, for a Compose project’s build: services or by hand in the Build Workspace. Builds run on the local Docker host or on Depot, a hosted remote build service.
Configure build settings
Open Settings → Builds and set:
- Builds Directory: absolute path inside the Arcane container that the workspace opens.
- Default Provider: Local Docker or Depot.
- Build Timeout: between 60 and 14,400 seconds.
- Depot Project ID and Depot Token: set both to enable Depot.
A blank Depot token on save keeps the saved one.
Mount the builds folder
The Build Workspace reads build contexts from Builds Directory (/builds by default) inside the Arcane container. In Arcane’s compose.yaml, mount a host folder such as /srv/arcane/builds:/builds, or a named volume such as arcane-builds:/builds declared under the top-level volumes: key.
Build from a project
For Compose services with build:, use Build or Build & Deploy on the project page.
Depot builds and pushed builds need an explicit image: name on each service. Generated local-only tags can’t be pushed.
Run a manual build
- Open Images → Builds.
- In the left panel, choose a context folder.
- In Build Configuration, name the image (see Name the image).
- Optionally expand Advanced for Dockerfile path, target stage, platforms, build args, labels, cache, and runtime options.
- Pick a provider.
- Choose Push, Load, or both.
- Click Build and watch the live output.
Name the image
A build that only loads locally uses the free-form Image Tags field: one or more full references, separated by commas or newlines.
With Push on, which includes every Depot build, choose:
- Registry: one of your enabled container registries.
- Repository name: one of the repository names saved on that registry.
- Tag: free text, such as
1.0.0.
Arcane shows the resulting host/repository:tag as a read-only Image reference above the build button. Changing the registry clears the repository, and a repository not in that registry’s list is rejected.
| Message | What to do |
|---|---|
| No repository names configured for this registry | Add repository names in your registry settings. |
| No enabled registries | Add or enable a container registry. |
| No permission to list registries | Ask an admin for registry read access. |
Rebuild from history
The Build History tab lists every build with its status, provider, time, and duration. Open a row to see its configuration and output, and click Rebuild to load that configuration into the form.
Build providers
| Provider | Where it builds | Push and Load |
|---|---|---|
| Local Docker | The Docker host running Arcane. | You choose. With neither selected, the image is loaded. |
| Depot | Depot’s hosted build machines. | Push is always on and Load is always off. |
The default provider comes from Settings → Builds, and you can override it for each manual build. If Depot isn’t configured, Arcane uses Local Docker.
Reference
Build options
Push sends the image to a registry; Load adds it to the local Docker images. Arcane rejects options the provider doesn’t support:
| Option | Meaning | Local Docker | Depot |
|---|---|---|---|
| Platforms | Target CPU architectures, such as linux/amd64. | One platform | Many |
| Cache To | Where to export the build cache, such as a registry ref. | No | Yes |
| Entitlements | Extra BuildKit permissions, such as network.host. | No | Yes |
| Privileged | Runs build steps with elevated privileges. | No | Yes |
| Network, Isolation, Shm size, Ulimits, Extra Hosts | Runtime settings for RUN steps. | Yes | No |