c5723db
# Toolbox — Unprivileged development environment
2bb7cf2
c5723db
[Toolbox](https://github.com/debarshiray/toolbox) is a tool that offers a
c5723db
familiar RPM based environment for developing and debugging software that runs
c5723db
fully unprivileged using [Podman](https://podman.io/).
2bb7cf2
c5723db
The toolbox container is a fully *mutable* container; when you see
c5723db
`yum install ansible` for example, that's something you can do inside your
c5723db
toolbox container, without affecting the base operating system.
c5723db
c5723db
This is particularly useful on
c5723db
[OSTree](https://ostree.readthedocs.io/en/latest/) based Fedora systems like
c5723db
[Silverblue](https://silverblue.fedoraproject.org/).  The intention of these
c5723db
systems is to discourage installation of software on the host, and instead
c5723db
install software as (or in) containers.
c5723db
1155d5e
However, this tool doesn't *require* using an OSTree based system — it
c5723db
works equally well if you're running e.g. existing Fedora Workstation or
c5723db
Server, and that's a useful way to incrementally adopt containerization.
2bb7cf2
c5723db
The toolbox environment is based on an [OCI](https://www.opencontainers.org/)
c5723db
image. On Fedora this is the `fedora-toolbox` image. This image is then
c5723db
customized for the current user to create a toolbox container that seamlessly
c5723db
integrates with the rest of the operating system.
c5723db
c5723db
## Usage
c5723db
c5723db
### Create your toolbox container:
2bb7cf2
```
c5723db
[user@hostname ~]$ toolbox create
c5723db
[user@hostname ~]$
2bb7cf2
```
2bb7cf2
This will create a container, and an image, called
c5723db
`fedora-toolbox-<your-username>:<version-id>` that's specifically customised
c5723db
for your host user.
2bb7cf2
c5723db
### Enter the toolbox:
2bb7cf2
```
c5723db
[user@hostname ~]$ toolbox enter
2bb7cf2
🔹[user@toolbox ~]$
2bb7cf2
```