> ## Documentation Index
> Fetch the complete documentation index at: https://docs.amika.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Presets

> Choose and manage Amika preset images.

Presets are Docker images with tools preinstalled for coding agent workflows.

## Available presets

### `coder` (default)

* Image: `amika/coder:latest`
* Base: Ubuntu 24.04
* Tools: Git, curl, zsh, build essentials, Python, Node.js 22, `pnpm`, TypeScript, `tsx`
* Agent CLIs: Claude Code, Codex, OpenCode

### `coder-dind`

* Image: `amika/coder-dind:latest`
* Base: Ubuntu 24.04
* Tools: Everything in `coder`, plus Docker-in-Docker (dind) support for
  running containerized services inside the sandbox
* Agent CLIs: Claude Code, Codex, OpenCode

Use `coder-dind` when the project runs containerized services locally
(Docker Compose, etc.). Otherwise prefer `coder`.

## Use a preset

```bash theme={null}
# Explicit preset
amika sandbox create --preset coder
amika sandbox create --preset coder-dind

# Default behavior (coder)
amika sandbox create

# Use preset in materialize
amika materialize --preset coder-dind --cmd "docker ps" --destdir /tmp/out
```

`--preset` and `--image` are mutually exclusive.

## Auto-build behavior

Preset images build automatically the first time you use them.

If you want to force a rebuild:

```bash theme={null}
docker rmi amika/coder:latest
```

The next command that uses `coder` rebuilds the image.

## Setup scripts

Both presets run `/usr/local/etc/amikad/setup/setup.sh` before the main command.

Use `--setup-script` to inject your setup logic when creating a sandbox:

```bash theme={null}
amika sandbox create --setup-script ./install-deps.sh
```

See [Sandbox configuration](/reference/sandbox-configuration) for details.

## Container directory layout

Preset images provision parallel `amikad` and `amika` directories inside the container:

* `/usr/lib/amikad` and `/usr/lib/amika`
* `/usr/local/etc/amikad` and `/usr/local/etc/amika`
* `/var/lib/amikad` and `/var/lib/amika`
* `/var/log/amikad` and `/var/log/amika`
* `/run/amikad` and `/run/amika`
* `/tmp/amikad` and `/tmp/amika`

Use `amikad` paths for Amika-managed daemon and system files. Use `amika` paths for user-managed Amika content.

The user-supplied setup hook remains at `/usr/local/etc/amikad/setup/setup.sh`.

## Reserved ports

Preset images reserve container ports **60899–60999** for Amika internal services (e.g. OpenCode web on 60998, amikad daemon on 60999). See [Sandbox configuration](/reference/sandbox-configuration#reserved-ports) for the full allocation table.

## Custom image prefix

Use `AMIKA_PRESET_IMAGE_PREFIX` to change naming for generated preset images.

```bash theme={null}
export AMIKA_PRESET_IMAGE_PREFIX=myregistry/amika
```

This changes `amika/coder:latest` to `myregistry/amika-coder:latest`.

## Agent credential auto-mounting

When you create a sandbox or run materialize, Amika auto-discovers and mounts supported credential files into the container.

This gives agents credentials inside the sandbox without modifying host source files. See [Sandbox configuration](/reference/sandbox-configuration#agent-credential-auto-mounting) for the full list of supported files.

## Related docs

* [Sandbox configuration](/reference/sandbox-configuration)
* [CLI reference](/reference/cli)
