diff --git a/Dockerfile b/Dockerfile index 22a852b..8f729de 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,16 @@ FROM registry.fedoraproject.org/fedora:26 MAINTAINER "Stef Walter" -ENV VERSION=125 RELEASE=1.6 +ENV VERSION=135 RELEASE=1 LABEL BZComponent="cockpit" \ Name="$FGC/cockpit" \ Version="$VERSION" \ Release="$RELEASE.$DISTTAG" \ Architecture="x86_64" -RUN dnf install -y cockpit-ws -# And the stuff that starts the container +RUN dnf install -y cockpit-ws cockpit-dashboard + RUN mkdir -p /container && ln -s /host/proc/1 /container/target-namespace ADD atomic-install /container/atomic-install ADD atomic-uninstall /container/atomic-uninstall @@ -22,8 +22,8 @@ RUN chmod -v +x /container/atomic-run # Make the container think it's the host OS version RUN rm -f /etc/os-release /usr/lib/os-release && ln -sv /host/etc/os-release /etc/os-release && ln -sv /host/usr/lib/os-release /usr/lib/os-release -LABEL INSTALL /usr/bin/docker run -ti --rm --privileged -v /:/host IMAGE /container/atomic-install -LABEL UNINSTALL /usr/bin/docker run -ti --rm --privileged -v /:/host IMAGE /container/atomic-uninstall +LABEL INSTALL /usr/bin/docker run --rm --privileged -v /:/host IMAGE /container/atomic-install +LABEL UNINSTALL /usr/bin/docker run --rm --privileged -v /:/host IMAGE /container/atomic-uninstall LABEL RUN /usr/bin/docker run -d --privileged --pid=host -v /:/host IMAGE /container/atomic-run --local-ssh # Look ma, no EXPOSE diff --git a/atomic-install b/atomic-install index abc4c61..15d2477 100644 --- a/atomic-install +++ b/atomic-install @@ -17,7 +17,7 @@ if [ ! -f /host/usr/bin/cockpit-bridge ]; then exit 1 fi if [ ! -d /host/usr/share/cockpit ]; then - echo "cockpit-run: cockpit-shell and other resources must be installed in the host" >&2 + echo "cockpit-run: cockpit-system and other resources must be installed in the host" >&2 exit 1 fi if [ -f /host/usr/libexec/cockpit-ws ]; then @@ -34,14 +34,17 @@ set -x sed -e '/pam_selinux/d' -e '/pam_sepermit/d' /etc/pam.d/cockpit > /host/etc/pam.d/cockpit # Make sure that we have required directories in the host -mkdir -p /host/etc/cockpit/ws-certs.d -chmod 755 /host/etc/cockpit/ws-certs.d -chown root:root /host/etc/cockpit/ws-certs.d +mkdir -p /host/etc/cockpit/ws-certs.d /host/etc/cockpit/machines.d +chmod 755 /host/etc/cockpit/ws-certs.d /host/etc/cockpit/machines.d +chown root:root /host/etc/cockpit/ws-certs.d /host/etc/cockpit/machines.d mkdir -p /host/var/lib/cockpit chmod 775 /host/var/lib/cockpit chown root:wheel /host/var/lib/cockpit +# For sharing ssh's known hosts with container +mkdir -p /etc/ssh + # Ensure we have certificates /bin/mount --bind /host/etc/cockpit /etc/cockpit /usr/sbin/remotectl certificate --ensure diff --git a/atomic-run b/atomic-run index 1ddddde..6a096d6 100644 --- a/atomic-run +++ b/atomic-run @@ -15,6 +15,7 @@ set +x /bin/mount --bind /host/usr/share/pixmaps /usr/share/pixmaps /bin/mount --bind /host/var /var +/bin/mount --bind /host/etc/ssh /etc/ssh # And run cockpit-ws exec /usr/bin/nsenter --net=/container/target-namespace/ns/net --uts=/container/target-namespace/ns/uts -- /usr/libexec/cockpit-ws "$@" diff --git a/atomic-uninstall b/atomic-uninstall index 06b49aa..5b4636f 100644 --- a/atomic-uninstall +++ b/atomic-uninstall @@ -16,7 +16,7 @@ if [ ! -f /host/usr/bin/cockpit-bridge ]; then exit 1 fi if [ ! -d /host/usr/share/cockpit ]; then - echo "cockpit-shell and other resources must be installed in the host" >&2 + echo "cockpit-system and other resources must be installed in the host" >&2 exit 1 fi if [ -f /host/usr/libexec/cockpit-ws ]; then