Install and initialize Incus
This page gets a fresh Linux host ready for everyday Incus use.
Official docs:
- Install Incus: https://linuxcontainers.org/incus/docs/main/installing/
- Initial setup: https://linuxcontainers.org/incus/docs/main/tutorial/first_steps/
Before you start
You need:
- a Linux host with virtualization support;
- root or sudo access;
- enough disk space for instance images and volumes;
- a plan for storage and networking.
Check virtualization support:
Check kernel and OS:
Install Incus
Use your distribution packages when available.
Debian or Ubuntu style
If your distribution does not ship a current Incus package, follow the official install docs for your OS.
Add your user to the Incus admin group
If newgrp is not enough, log out and log back in.
Verify access:
Initialize Incus
For a simple single-host lab, the guided initializer is best:
Good starter choices:
- clustering: no;
- storage backend:
dirfor simplest labs,zfsif you have a dedicated disk/pool and want snapshots/clones; - network bridge: yes;
- default bridge name:
incusbr0; - IPv4 NAT: yes for easy outbound internet;
- IPv6: only if you use it;
- remote API access: no unless you need remote management.
Verify the result:
Launch a first container
Inside the container:
Clean up:
Launch a first VM
VMs take longer to boot than containers. Use a cloud image when you want cloud-init and the VM agent, then wait before using incus exec:
Clean up:
Enable remote API access only when needed
For a private admin network:
Then from the client machine:
Security notes:
- expose the API only on trusted networks or behind VPN/firewall rules;
- remove trust passwords after adding trusted clients;
- prefer certificate trust and explicit remotes.
Healthy host checklist
If these commands work, the host is ready for normal Incus administration.