# Number of CPUs to be allocated to the virtual machine. # Default: 2 cpu: 2 # Size of the disk in GiB to be allocated to the virtual machine. # NOTE: changing this has no effect after the virtual machine has been created. # Default: 60 disk: 60 # Size of the memory in GiB to be allocated to the virtual machine. # Default: 2 memory: 2 # Architecture of the virtual machine (x86_64, aarch64, host). # Default: host arch: host # Container runtime to be used (docker, containerd). # Default: docker runtime: docker # Kubernetes configuration for the virtual machine. kubernetes: enabled: false # Auto-activate on the Host for client access. # Setting to true does the following on startup # - sets as active Docker context (for Docker runtime). # - sets as active Kubernetes context (if Kubernetes is enabled). # Default: true autoActivate: false # Network configurations for the virtual machine. network: # Assign reachable IP address to the virtual machine. # NOTE: this is currently macOS only and ignored on Linux. # Default: false address: false # Custom DNS resolvers for the virtual machine. # # EXAMPLE # dns: [8.8.8.8, 1.1.1.1] # # Default: [] dns: [] # DNS hostnames to resolve to custom targets using the internal resolver. # This setting has no effect if a custom DNS resolver list is supplied above. # It does not configure the /etc/hosts files of any machine or container. # The value can be an IP address or another host. # # EXAMPLE # dnsHosts: # example.com: 1.2.3.4 dnsHosts: host.docker.internal: host.lima.internal # Network driver to use (slirp, gvproxy), (requires vmType `qemu`) # - slirp is the default user mode networking provided by Qemu # - gvproxy is an alternative to VPNKit based on gVisor https://github.com/containers/gvisor-tap-vsock # Default: gvproxy driver: gvproxy # Forward the host's SSH agent to the virtual machine. # Default: false forwardAgent: false # Docker daemon configuration that maps directly to daemon.json. # https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file. # NOTE: some settings may affect Colima's ability to start docker. e.g. `hosts`. # # EXAMPLE - disable buildkit # docker: # features: # buildkit: false # # EXAMPLE - add insecure registries # docker: # insecure-registries: # - myregistry.com:5000 # - host.docker.internal:5000 # # Colima default behaviour: buildkit enabled # Default: {} docker: {} # Virtual Machine type (qemu, vz) # NOTE: this is macOS 13 only. For Linux and macOS <13.0, qemu is always used. # # vz is macOS virtualization framework and requires macOS 13 # # Default: qemu vmType: qemu # Volume mount driver for the virtual machine (virtiofs, 9p, sshfs). # # virtiofs is limited to macOS and vmType `vz`. It is the fastest of the options. # # 9p is the recommended and the most stable option for vmType `qemu`. # # sshfs is faster than 9p but the least reliable of the options (when there are lots # of concurrent reads or writes). # # Default: virtiofs (for vz), sshfs (for qemu) mountType: 9p # The CPU type for the virtual machine (requires vmType `qemu`). # Options available for host emulation can be checked with: `qemu-system-$(arch) -cpu help`. # Instructions are also supported by appending to the cpu type e.g. "qemu64,+ssse3". # Default: host cpuType: host # For a more general purpose virtual machine, Ubuntu container is optionally provided # as a layer on the virtual machine. # The underlying virtual machine is still accessible via `colima ssh --layer=false` or running `colima` in # the Ubuntu session. # # Default: false layer: false # Custom provision scripts for the virtual machine. # Provisioning scripts are executed on startup and therefore needs to be idempotent. # # EXAMPLE - script exected as root # provision: # - mode: system # script: apk add htop vim # # EXAMPLE - script exected as user # provision: # - mode: user # script: | # [ -f ~/.provision ] && exit 0; # echo provisioning as $USER... # touch ~/.provision # # Default: [] provision: - mode: system script: | mkdir -p /tmp/docker-bins cd /tmp/docker-bins wget -qO- "https://download.docker.com/linux/static/{{dockerChannel}}/{{hostArch}}/docker-{{dockerVersion}}.tgz" | tar xvz --strip 1 mv -f /tmp/docker-bins/* /usr/bin/ # Modify ~/.ssh/config automatically to include a SSH config for the virtual machine. # SSH config will still be generated in ~/.colima/ssh_config regardless. # Default: true sshConfig: false # Configure volume mounts for the virtual machine. # Colima mounts user's home directory by default to provide a familiar # user experience. # # EXAMPLE # mounts: # - location: ~/secrets # writable: false # - location: ~/projects # writable: true # # Colima default behaviour: $HOME and /tmp/colima are mounted as writable. # Default: [] mounts: [] # Environment variables for the virtual machine. # # EXAMPLE # env: # KEY: value # ANOTHER_KEY: another value # # Default: {} env: {}