chore: import upstream snapshot with attribution
container project - merge build / Invoke build (push) Successful in 1s
container project - merge build / Invoke build (push) Successful in 1s
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
FROM swift:6.3.2-noble
|
||||
|
||||
# Install system dependencies for Swift + OpenSSH + systemd + containerization
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
curl ca-certificates git sudo systemd systemd-sysv openssh-server \
|
||||
binutils gpg vim libc6-dev libcurl4-openssl-dev libedit2 libgcc-s1 \
|
||||
unzip gnupg2 libgcc-13-dev libstdc++-13-dev libncurses-dev \
|
||||
libpython3-dev libsqlite3-0 libstdc++6 libxml2-dev libz3-dev \
|
||||
pkg-config tzdata zlib1g-dev \
|
||||
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Passwordless sudo for all users
|
||||
RUN echo 'ALL ALL=(ALL:ALL) NOPASSWD: ALL' > /etc/sudoers.d/nopasswd \
|
||||
&& chmod 0440 /etc/sudoers.d/nopasswd
|
||||
|
||||
# Configure OpenSSH for local-only use:
|
||||
# - Both password and public key auth enabled (no brute-force risk on loopback)
|
||||
# - UseDNS no — skip reverse DNS lookup, avoids multi-second connect delay
|
||||
# - GSSAPIAuthentication no — skip GSSAPI negotiation, faster handshake
|
||||
RUN mkdir -p /var/run/sshd \
|
||||
&& ssh-keygen -A \
|
||||
&& sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config \
|
||||
&& sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config \
|
||||
&& sed -i 's/^#\?PubkeyAuthentication.*/PubkeyAuthentication yes/' /etc/ssh/sshd_config \
|
||||
&& echo 'UseDNS no' >> /etc/ssh/sshd_config \
|
||||
&& echo 'GSSAPIAuthentication no' >> /etc/ssh/sshd_config \
|
||||
&& systemctl enable ssh
|
||||
|
||||
RUN systemctl mask getty@.service systemd-logind.service \
|
||||
apt-daily.timer apt-daily-upgrade.timer fstrim.timer || true
|
||||
|
||||
EXPOSE 22
|
||||
STOPSIGNAL SIGRTMIN+3
|
||||
CMD ["/sbin/init"]
|
||||
Reference in New Issue
Block a user