Compare commits

..

7 commits

Author SHA1 Message Date
61c40332b9 Give access to Avahi to resolve the .local mDNS domain
The nss-mdns plugin for the GNU Name Service Switch (or NSS)
functionality of the GNU C Library is necessary to resolve the .local
mDNS domain. The plugin talks to the Avahi daemon running on the host
to resolve the names.

https://github.com/containers/toolbox/issues/209
2020-11-15 23:11:40 +01:00
9ab10a6c9a extra-packages: Allow X11 clients to run as root
If an X11 client is started inside a 'su -' session, then xauth(1)
needs to be present so that pam_xauth.so can add a new XAUTHORITY
environment variable to the 'su -' session.

https://github.com/containers/toolbox/pull/572
2020-10-30 20:16:19 +01:00
0ff415dc53 extra-packages: Add gvfs-client
The gvfs-client package is necessary for GIO-based processes inside
toolbox containers to use the GVfs backend and volume monitor daemons,
and it comes preinstalled on Fedora Silverblue and Workstation.

https://github.com/containers/toolbox/pull/466
2020-06-15 19:53:37 +02:00
c771d69fe6 Update the label for tagging to reflect the project's new home
https://github.com/containers/toolbox/pull/293
2019-10-10 16:04:43 +02:00
2823d72c97 Install only flatpak-spawn, not the rest of flatpak-xdg-utils
https://github.com/debarshiray/toolbox/issues/147
2019-09-24 21:07:39 +02:00
29cd0e7058 Avoid losing useradd(8) by accident
The shadow-utils package was added to the base toolbox images to ensure
the presence of the useradd(8) command. Currently the package is
already pulled in by various dependencies. Therefore, it doesn't
increase the size of the base image, but serves as a safeguard against
any inadvertent changes.
2019-09-24 20:22:50 +02:00
Jens Petersen
308b8d8914 base image no longer uses coreutils-single
https://github.com/fedora-cloud/docker-brew-fedora/issues/58
2019-09-08 13:38:00 +08:00
5 changed files with 128 additions and 9 deletions

27
Dockerfile Normal file
View file

@ -0,0 +1,27 @@
FROM registry.fedoraproject.org/fedora:31
ENV NAME=fedora-toolbox VERSION=31
LABEL com.github.containers.toolbox="true" \
com.github.debarshiray.toolbox="true" \
com.redhat.component="$NAME" \
name="$FGC/$NAME" \
version="$VERSION" \
usage="This image is meant to be used with the toolbox command" \
summary="Base image for creating Fedora toolbox containers" \
maintainer="Debarshi Ray <rishi@fedoraproject.org>"
COPY README.md /
RUN sed -i '/tsflags=nodocs/d' /etc/dnf/dnf.conf
COPY missing-docs /
RUN dnf -y reinstall $(<missing-docs)
RUN rm /missing-docs
COPY extra-packages /
RUN dnf -y install $(<extra-packages)
RUN rm /extra-packages
RUN dnf clean all
CMD /bin/sh

41
README.md Normal file
View file

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

View file

@ -1,9 +0,0 @@
The fedora-toolbox OCI image for Fedora 39 onwards is no longer built using
OpenShift Build Service from the Dockerfile here. It's now being built using
Image Factory from fedora-kickstarts and pungi-fedora [1], as part of the
ToolbxReleaseBlocker Change [2] for Fedora 39.
[1] https://pagure.io/fedora-kickstarts/
https://pagure.io/pungi-fedora/
[2] https://fedoraproject.org/wiki/Changes/ToolbxReleaseBlocker

42
extra-packages Normal file
View file

@ -0,0 +1,42 @@
bash-completion
bzip2
diffutils
dnf-plugins-core
findutils
flatpak-spawn
fpaste
git
gnupg
gnupg2-smime
gvfs-client
hostname
iputils
jwhois
keyutils
krb5-libs
less
lsof
man-db
man-pages
mlocate
mtr
nss-mdns
openssh-clients
passwd
pigz
procps-ng
rsync
shadow-utils
sudo
tcpdump
time
traceroute
tree
unzip
vte-profile
wget
which
words
xorg-x11-xauth
xz
zip

18
missing-docs Normal file
View file

@ -0,0 +1,18 @@
acl
bash
chkconfig
curl
dbus-daemon
gawk
grep
gzip
libcap
openssl
p11-kit
pam
python3
rpm
rpm-plugin-systemd-inhibit
sed
systemd
tar