FROM debian:unstable-slim as base RUN apt-get update && apt-get install -y \ && apt-get install -y git build-essential pkg-config libssl-dev libpcre2-dev libargon2-0-dev libsodium-dev libc-ares-dev libcurl4-openssl-dev \ && mkdir /opt/unrealircd \ && cd /opt/unrealircd \ && git clone https://github.com/unrealircd/unrealircd.git --depth 1 . \ && ./configure \ --with-showlistmodes \ --enable-ssl \ --with-bindir=/app/bin \ --with-datadir=/app/data \ --with-pidfile=/app/data/unrealircd.pid \ --with-confdir=/app/conf \ --with-modulesdir=/app/modules \ --with-logdir=/app/logs \ --with-cachedir=/app/cache \ --with-docdir=/app/doc \ --with-tmpdir=/app/tmp \ --with-privatelibdir=/app/lib \ --with-scriptdir=/app \ --with-nick-history=2000 \ --with-permissions=0600 \ --enable-dynamic-linking \ && make -j4 \ && make install \ && rm /app/source \ && rm -rf /opt/unrealircd \ && cd /app \ && useradd unrealircd \ && chown unrealircd:unrealircd -R /app \ && ldd /app/bin/unrealircd | tr -s '[:blank:]' '\n' | grep '^/' | xargs -I % sh -c 'mkdir -p $(dirname /app/deps%); cp % /app/deps%;' \ && apt-get purge --yes git build-essential pkg-config libssl-dev libpcre2-dev libargon2-0-dev libsodium-dev libc-ares-dev libcurl4-openssl-dev \ && apt-get autoremove --yes --purge \ && cp -r /app/deps/* / \ && rm -rf /app/deps / \ && rm -rf /var/lib/apt/lists/* USER unrealircd CMD /app/unrealircd start \ && until ! [ -f /app/data/unrealircd.pid ]; do sleep 60; done EXPOSE 6667 6697 6900