Skip to content

Commit d708513

Browse files
authored
feat: quadlets and systemd service files for distrobox containers
1 parent 6252405 commit d708513

14 files changed

+249
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[Volume]
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
[Unit]
2+
Description=Bluefin CLI, leveraging Wolfi to provide you brew
3+
4+
[Container]
5+
Annotation=run.oci.keep_original_groups=1
6+
AutoUpdate=registry
7+
ContainerName=bluefin-cli-distrobox-quadlet
8+
Environment=SHELL=%s
9+
Environment=HOME=%h
10+
Environment=XDG_RUNTIME_DIR=%t
11+
Environment=USER=%u
12+
Environment=USERNAME=%u
13+
Environment=container=podman
14+
Exec=--verbose --name %u --user %U --group %G --home %h --init "0" --nvidia "1" --pre-init-hooks "" --additional-packages "" -- ""
15+
Image=ghcr.io/ublue-os/bluefin-cli:latest
16+
HostName=bluefin-cli-distrobox-quadlet.%l
17+
Network=host
18+
PodmanArgs=--entrypoint /usr/bin/entrypoint
19+
PodmanArgs=--ipc host
20+
PodmanArgs=--label com.github.containers.toolbox=true
21+
PodmanArgs=--label manager=distrobox
22+
PodmanArgs=--no-hosts
23+
PodmanArgs=--privileged
24+
PodmanArgs=--security-opt label=disable
25+
PodmanArgs=--security-opt apparmor=unconfined
26+
Ulimit=host
27+
User=root:root
28+
UserNS=keep-id
29+
Volume=/:/run/host:rslave
30+
Volume=/tmp:/tmp:rslave
31+
Volume=/usr/bin/distrobox-init:/usr/bin/entrypoint:ro
32+
Volume=/usr/bin/distrobox-export:/usr/bin/distrobox-export:ro
33+
Volume=/usr/bin/distrobox-host-exec:/usr/bin/distrobox-host-exec:ro
34+
Volume=%h:%h:rslave
35+
Volume=/dev:/dev:rslave
36+
Volume=/sys:/sys:rslave
37+
Volume=/dev/pts
38+
Volume=/dev/null:/dev/ptmx
39+
Volume=/sys/fs/selinux
40+
Volume=/var/log/journal
41+
Volume=/var/home/%u:/var/home/%u:rslave
42+
Volume=%t:%t:rslave
43+
Volume=/etc/hosts:/etc/hosts:ro
44+
Volume=/etc/resolv.conf:/etc/resolv.conf:ro
45+
Volume=bluefin-cli-Cellar.volume:/home/linuxbrew/.linuxbrew/Cellar
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
[Unit]
2+
Description=Fedora Toolbox for your distrobox fun
3+
4+
[Container]
5+
Annotation=run.oci.keep_original_groups=1
6+
AutoUpdate=registry
7+
ContainerName=fedora-distrobox-quadlet
8+
Environment=SHELL=%s
9+
Environment=HOME=%h
10+
Environment=XDG_RUNTIME_DIR=%t
11+
Environment=USER=%u
12+
Environment=USERNAME=%u
13+
Environment=container=podman
14+
Exec=--verbose --name %u --user %U --group %G --home %h --init "0" --nvidia "1" --pre-init-hooks "" --additional-packages "" -- ""
15+
Image=ghcr.io/ublue-os/fedora-toolbox:latest
16+
HostName=fedora-toolbox.%l
17+
Network=host
18+
PodmanArgs=--entrypoint /usr/bin/entrypoint
19+
PodmanArgs=--ipc host
20+
PodmanArgs=--label com.github.containers.toolbox=true
21+
PodmanArgs=--label manager=distrobox
22+
PodmanArgs=--no-hosts
23+
PodmanArgs=--privileged
24+
PodmanArgs=--security-opt label=disable
25+
PodmanArgs=--security-opt apparmor=unconfined
26+
Ulimit=host
27+
User=root:root
28+
UserNS=keep-id
29+
Volume=/:/run/host:rslave
30+
Volume=/tmp:/tmp:rslave
31+
Volume=/usr/bin/distrobox-init:/usr/bin/entrypoint:ro
32+
Volume=/usr/bin/distrobox-export:/usr/bin/distrobox-export:ro
33+
Volume=/usr/bin/distrobox-host-exec:/usr/bin/distrobox-host-exec:ro
34+
Volume=%h:%h:rslave
35+
Volume=/dev:/dev:rslave
36+
Volume=/sys:/sys:rslave
37+
Volume=/dev/pts
38+
Volume=/dev/null:/dev/ptmx
39+
Volume=/sys/fs/selinux
40+
Volume=/var/log/journal
41+
Volume=/var/home/%u:/var/home/%u:rslave
42+
Volume=%t:%t:rslave
43+
Volume=/etc/hosts:/etc/hosts:ro
44+
Volume=/etc/resolv.conf:/etc/resolv.conf:ro
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
[Unit]
2+
Description=Ubuntu Toolbox for your distrobox fun
3+
4+
[Container]
5+
Annotation=run.oci.keep_original_groups=1
6+
AutoUpdate=registry
7+
ContainerName=ubuntu-distrobox-quadlet
8+
Environment=SHELL=%s
9+
Environment=HOME=%h
10+
Environment=XDG_RUNTIME_DIR=%t
11+
Environment=USER=%u
12+
Environment=USERNAME=%u
13+
Environment=container=podman
14+
Exec=--verbose --name %u --user %U --group %G --home %h --init "0" --nvidia "1" --pre-init-hooks "" --additional-packages "" -- ""
15+
Image=ghcr.io/ublue-os/ubuntu-toolbox:latest
16+
HostName=ubuntu-toolbox.%l
17+
Network=host
18+
PodmanArgs=--entrypoint /usr/bin/entrypoint
19+
PodmanArgs=--ipc host
20+
PodmanArgs=--label com.github.containers.toolbox=true
21+
PodmanArgs=--label manager=distrobox
22+
PodmanArgs=--no-hosts
23+
PodmanArgs=--privileged
24+
PodmanArgs=--security-opt label=disable
25+
PodmanArgs=--security-opt apparmor=unconfined
26+
Ulimit=host
27+
User=root:root
28+
UserNS=keep-id
29+
Volume=/:/run/host:rslave
30+
Volume=/tmp:/tmp:rslave
31+
Volume=/usr/bin/distrobox-init:/usr/bin/entrypoint:ro
32+
Volume=/usr/bin/distrobox-export:/usr/bin/distrobox-export:ro
33+
Volume=/usr/bin/distrobox-host-exec:/usr/bin/distrobox-host-exec:ro
34+
Volume=%h:%h:rslave
35+
Volume=/dev:/dev:rslave
36+
Volume=/sys:/sys:rslave
37+
Volume=/dev/pts
38+
Volume=/dev/null:/dev/ptmx
39+
Volume=/sys/fs/selinux
40+
Volume=/var/log/journal
41+
Volume=/var/home/%u:/var/home/%u:rslave
42+
Volume=%t:%t:rslave
43+
Volume=/etc/hosts:/etc/hosts:ro
44+
Volume=/etc/resolv.conf:/etc/resolv.conf:ro
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
[Unit]
2+
Description=Wolfi Toolbox for your distrobox fun
3+
4+
[Container]
5+
Annotation=run.oci.keep_original_groups=1
6+
AutoUpdate=registry
7+
ContainerName=wofli-distrobox-quadlet
8+
Environment=SHELL=%s
9+
Environment=HOME=%h
10+
Environment=XDG_RUNTIME_DIR=%t
11+
Environment=USER=%u
12+
Environment=USERNAME=%u
13+
Environment=container=podman
14+
Exec=--verbose --name %u --user %U --group %G --home %h --init "0" --nvidia "1" --pre-init-hooks "" --additional-packages "" -- ""
15+
Image=ghcr.io/ublue-os/wolfi-toolbox:latest
16+
HostName=wolfi-toolbox.%l
17+
Network=host
18+
PodmanArgs=--entrypoint /usr/bin/entrypoint
19+
PodmanArgs=--ipc host
20+
PodmanArgs=--label com.github.containers.toolbox=true
21+
PodmanArgs=--label manager=distrobox
22+
PodmanArgs=--no-hosts
23+
PodmanArgs=--privileged
24+
PodmanArgs=--security-opt label=disable
25+
PodmanArgs=--security-opt apparmor=unconfined
26+
Ulimit=host
27+
User=root:root
28+
UserNS=keep-id
29+
Volume=/:/run/host:rslave
30+
Volume=/tmp:/tmp:rslave
31+
Volume=/usr/bin/distrobox-init:/usr/bin/entrypoint:ro
32+
Volume=/usr/bin/distrobox-export:/usr/bin/distrobox-export:ro
33+
Volume=/usr/bin/distrobox-host-exec:/usr/bin/distrobox-host-exec:ro
34+
Volume=%h:%h:rslave
35+
Volume=/dev:/dev:rslave
36+
Volume=/sys:/sys:rslave
37+
Volume=/dev/pts
38+
Volume=/dev/null:/dev/ptmx
39+
Volume=/sys/fs/selinux
40+
Volume=/var/log/journal
41+
Volume=/var/home/%u:/var/home/%u:rslave
42+
Volume=%t:%t:rslave
43+
Volume=/etc/hosts:/etc/hosts:ro
44+
Volume=/etc/resolv.conf:/etc/resolv.conf:ro
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[Volume]
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[Unit]
2+
Description=Bluefin-CLI, a wolfi container to provide you your brew
3+
Wants=bluefin-cli-Cellar
4+
5+
[Service]
6+
Type=oneshot
7+
ExecStart=/usr/bin/distrobox assemble create --replace -f /etc/distrobox/distrobox.ini -n bluefin-cli
8+
ExecStart=/usr/bin/distrobox enter bluefin-cli
9+
RemainAfterExit=true
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
[bluefin-cli]
2+
image=ghcr.io/ublue-os/bluefin-cli
3+
init=false
4+
pull=false
5+
nvidia=true
6+
volume=systemd-bluefin-cli-Cellar:/home/linuxbrew/.linuxbrew/Cellar
7+
init_hooks=""
8+
additional_packages=""
9+
pre_init_hooks=""
10+
start_now=true
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[Unit]
2+
Description=Fedora Toolbox for your distrobox fun
3+
4+
[Service]
5+
Type=oneshot
6+
ExecStart=/usr/bin/distrobox assemble create --replace -f /etc/distrobox/distrobox.ini -n fedora-toolbox
7+
ExecStart=/usr/bin/distrobox enter fedora-toolbox
8+
RemainAfterExit=true
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[fedora-toolbox]
2+
image=ghcr.io/ublue-os/fedora-toolbox:latest
3+
init=false
4+
pull=false
5+
nvidia=true
6+
init_hooks=""
7+
additional_packages=""
8+
pre_init_hooks=""
9+
start_now=true

0 commit comments

Comments
 (0)