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
Section titled “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.
Mount the builds folder
Section titled “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
Section titled “Build from a project”For Compose services with build:, use Build or Build & Deploy on the project page.
Run a manual build
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “Reference”Build options
Section titled “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 |