Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Dockerfiles to use a modern distro and the offical package #658

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 15 additions & 26 deletions docker/Dockerfile.client
Original file line number Diff line number Diff line change
@@ -1,30 +1,19 @@
FROM centos:8 as base
FROM debian:bookworm-slim

# Use ADD to avoid having to install curl
ADD --chmod=644 https://github.com/MisterTea/debian-et/raw/master/et.gpg /etc/apt/trusted.gpg.d/et.gpg

# Use a run cache to speed up rebuilding and avoid having to remove the cache when we're done
RUN --mount=type=cache,mode=0755,target=/var/lib/apt/lists,sharing=locked \
--mount=type=cache,mode=0755,target=/var/cache/apt,sharing=locked \
rm -f /etc/apt/apt.conf.d/docker-clean && \
echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache && \
apt-get update -qq && \
apt-get install -y ca-certificates && \
echo "deb https://github.com/MisterTea/debian-et/raw/master/debian-source/ bookworm main" > /etc/apt/sources.list.d/et.list && \
apt-get update -qq && \
apt-get install -y et openssh-server

ENV BUILD_REPOS="epel-release centos-release-scl" \
BUILD_DEPS="cmake3 boost-devel libsodium-devel protobuf-devel \
protobuf-compiler gflags-devel protobuf-lite-devel git \
perl-IPC-Cmd perl-Data-Dumper libunwind-devel libutempter-devel \
devtoolset-11 devtoolset-11-libatomic-devel rh-git227"


WORKDIR /

RUN yum install -y $BUILD_REPOS && \
yum install -y $BUILD_DEPS && \
git clone --recurse-submodules https://github.com/MisterTea/EternalTerminal.git && \
cd EternalTerminal && \
mkdir build && \
cd build && \
bash -c "scl enable devtoolset-11 rh-git227 'cmake3 ../'" && \
bash -c "scl enable devtoolset-11 'make -j $(grep ^processor /proc/cpuinfo |wc -l) && make install'"

FROM centos:8

RUN yum install -y epel-release && \
yum install -y protobuf-lite libsodium libatomic libunwind

COPY --from=base /usr/bin/etserver /usr/bin/etterminal /usr/bin/htm /usr/bin/htmd /usr/bin/
COPY --from=base /EternalTerminal/etc/et.cfg /etc/et.cfg
COPY --chmod=755 container-entrypoint /bin/container-entrypoint

ENTRYPOINT ["/bin/container-entrypoint", "client"]
45 changes: 15 additions & 30 deletions docker/Dockerfile.server
Original file line number Diff line number Diff line change
@@ -1,34 +1,19 @@
FROM centos:8 as base
FROM debian:bookworm-slim

# Use ADD to avoid having to install curl
ADD --chmod=644 https://github.com/MisterTea/debian-et/raw/master/et.gpg /etc/apt/trusted.gpg.d/et.gpg

# Use a run cache to speed up rebuilding and avoid having to remove the cache when we're done
RUN --mount=type=cache,mode=0755,target=/var/lib/apt/lists,sharing=locked \
--mount=type=cache,mode=0755,target=/var/cache/apt,sharing=locked \
rm -f /etc/apt/apt.conf.d/docker-clean && \
echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache && \
apt-get update -qq && \
apt-get install -y ca-certificates && \
echo "deb https://github.com/MisterTea/debian-et/raw/master/debian-source/ bookworm main" > /etc/apt/sources.list.d/et.list && \
apt-get update -qq && \
apt-get install -y et openssh-server

ENV BUILD_REPOS="epel-release centos-release-scl" \
BUILD_DEPS="cmake3 boost-devel libsodium-devel protobuf-devel \
protobuf-compiler gflags-devel protobuf-lite-devel git \
perl-IPC-Cmd perl-Data-Dumper libunwind-devel libutempter-devel \
devtoolset-11 devtoolset-11-libatomic-devel rh-git227"


WORKDIR /

RUN yum install -y $BUILD_REPOS && \
yum install -y $BUILD_DEPS && \
git clone --recurse-submodules https://github.com/MisterTea/EternalTerminal.git && \
cd EternalTerminal && \
mkdir build && \
cd build && \
bash -c "scl enable devtoolset-11 rh-git227 'cmake3 ../'" && \
bash -c "scl enable devtoolset-11 'make -j $(grep ^processor /proc/cpuinfo |wc -l) && make install'"

FROM centos:8

RUN yum install -y epel-release && \
yum install -y protobuf-lite libsodium openssh-server libatomic libunwind

COPY --from=base /usr/bin/etserver /usr/bin/etterminal /usr/bin/htm /usr/bin/htmd /usr/bin/
COPY --from=base /EternalTerminal/etc/et.cfg /etc/et.cfg
COPY --chmod=755 container-entrypoint /bin/container-entrypoint

EXPOSE 2022 2222

ENTRYPOINT ["/bin/container-entrypoint", "server"]

CMD ["--cfgfile=/etc/et.cfg"]
5 changes: 5 additions & 0 deletions docker/container-entrypoint
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@
set -x

if [ "$1" == server ]; then
if [ ! -d /run/sshd ]; then
mkdir /run/sshd
chmod 0755 /run/sshd
fi

/usr/sbin/sshd
shift
exec etserver --logtostdout -v 1 "$@"
Expand Down
Loading