Files
runtipi/apps/rego-tunnel-linux/source/Dockerfile
alexz 3da3578d08
Some checks failed
Test / test (push) Has been cancelled
Fix Cisco extraction path to /opt/cisco
2025-12-24 21:55:24 +00:00

71 lines
3.2 KiB
Docker
Executable File

FROM ubuntu:24.04
ENV DEBIAN_FRONTEND=noninteractive
ENV container=docker
# Install systemd and required packages
RUN apt-get update && apt-get install -y \
systemd systemd-sysv dbus dbus-x11 \
iproute2 iptables ca-certificates \
curl wget openssh-client \
x11vnc xvfb fluxbox novnc websockify xterm nano oathtool \
xauth libnss3 libatk1.0-0 libatk-bridge2.0-0 \
libx11-6 libx11-xcb1 libxcomposite1 libxrandr2 libgbm1 libxdamage1 \
libpango-1.0-0 fonts-liberation \
libegl1 libgl1 libopengl0 libdbus-1-3 libglib2.0-0 \
libxkbcommon0 libxkbcommon-x11-0 \
libxcb1 libxcb-cursor0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render0 libxcb-render-util0 libxcb-shm0 libxcb-xfixes0 libxcb-xinerama0 libxcb-randr0 libxcb-glx0 \
xdotool xclip \
libwebkit2gtk-4.1-0 libgtk-3-0 libxml2 libxss1 libcairo2 libgdk-pixbuf2.0-0 \
sudo && rm -rf /var/lib/apt/lists/*
RUN apt-get update && (apt-get install -y libasound2t64 || apt-get install -y libasound2) && rm -rf /var/lib/apt/lists/*
# Configure systemd - remove unnecessary units
RUN cd /lib/systemd/system/sysinit.target.wants/ && \
ls | grep -v systemd-tmpfiles-setup | xargs rm -f && \
rm -f /lib/systemd/system/multi-user.target.wants/* && \
rm -f /etc/systemd/system/*.wants/* && \
rm -f /lib/systemd/system/local-fs.target.wants/* && \
rm -f /lib/systemd/system/sockets.target.wants/*udev* && \
rm -f /lib/systemd/system/sockets.target.wants/*initctl* && \
rm -f /lib/systemd/system/basic.target.wants/* && \
rm -f /lib/systemd/system/anaconda.target.wants/* && \
rm -f /lib/systemd/system/plymouth* && \
rm -f /lib/systemd/system/systemd-update-utmp*
# Copy and extract pre-built Cisco Secure Client 5.1.14.145
COPY cisco-secureclient-5.1.14.145.tar.gz /tmp/
RUN mkdir -p /opt/cisco && \
tar -xzf /tmp/cisco-secureclient-5.1.14.145.tar.gz -C /opt/cisco && \
rm /tmp/cisco-secureclient-5.1.14.145.tar.gz
# Copy user data (hostscan, etc)
COPY cisco-userdata.tar.gz /tmp/
RUN tar -xzf /tmp/cisco-userdata.tar.gz -C /root && \
rm /tmp/cisco-userdata.tar.gz
# Create Cisco systemd service
RUN mkdir -p /etc/systemd/system && \
echo '[Unit]' > /etc/systemd/system/vpnagentd.service && \
echo 'Description=Cisco AnyConnect Secure Mobility Client Agent' >> /etc/systemd/system/vpnagentd.service && \
echo 'After=network.target' >> /etc/systemd/system/vpnagentd.service && \
echo '' >> /etc/systemd/system/vpnagentd.service && \
echo '[Service]' >> /etc/systemd/system/vpnagentd.service && \
echo 'Type=forking' >> /etc/systemd/system/vpnagentd.service && \
echo 'ExecStart=/opt/cisco/secureclient/bin/vpnagentd' >> /etc/systemd/system/vpnagentd.service && \
echo 'Restart=on-failure' >> /etc/systemd/system/vpnagentd.service && \
echo '' >> /etc/systemd/system/vpnagentd.service && \
echo '[Install]' >> /etc/systemd/system/vpnagentd.service && \
echo 'WantedBy=multi-user.target' >> /etc/systemd/system/vpnagentd.service && \
systemctl enable vpnagentd.service 2>/dev/null || true
COPY vpn-sso.sh /root/vpn-sso.sh
RUN chmod +x /root/vpn-sso.sh
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
VOLUME [ "/sys/fs/cgroup" ]
EXPOSE 8806
ENTRYPOINT ["/entrypoint.sh"]