-
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
974 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
FROM --platform=$TARGETOS/$TARGETARCH debian:bullseye-slim | ||
|
||
LABEL author="David Wolfe (Red-Thirten)" maintainer="[email protected]" | ||
|
||
LABEL org.opencontainers.image.source="https://github.com/parkervcp/yolks" | ||
LABEL org.opencontainers.image.licenses=MIT | ||
|
||
## Update base packages and install dependencies | ||
ENV DEBIAN_FRONTEND=noninteractive | ||
RUN dpkg --add-architecture i386 \ | ||
&& apt-get update \ | ||
&& apt-get upgrade -y \ | ||
&& apt-get install -y \ | ||
curl \ | ||
tzdata \ | ||
locales \ | ||
iproute2 \ | ||
gettext-base \ | ||
ca-certificates \ | ||
numactl \ | ||
libssl-dev \ | ||
lib32gcc-s1 \ | ||
libsdl2-2.0-0 \ | ||
libsdl2-2.0-0:i386 \ | ||
libstdc++6 \ | ||
libstdc++6:i386 \ | ||
lib32stdc++6 \ | ||
libnss-wrapper \ | ||
libnss-wrapper:i386 \ | ||
libtbb2 \ | ||
libtbb2:i386 \ | ||
tini | ||
|
||
## Configure locale | ||
RUN update-locale lang=en_US.UTF-8 \ | ||
&& dpkg-reconfigure --frontend noninteractive locales | ||
|
||
## Prepare NSS Wrapper for the entrypoint as a workaround for Arma 3 requiring a valid UID | ||
ENV NSS_WRAPPER_PASSWD=/tmp/passwd NSS_WRAPPER_GROUP=/tmp/group | ||
RUN touch ${NSS_WRAPPER_PASSWD} ${NSS_WRAPPER_GROUP} \ | ||
&& chgrp 0 ${NSS_WRAPPER_PASSWD} ${NSS_WRAPPER_GROUP} \ | ||
&& chmod g+rw ${NSS_WRAPPER_PASSWD} ${NSS_WRAPPER_GROUP} | ||
ADD passwd.template /passwd.template | ||
|
||
## Setup user and working directory | ||
RUN useradd -m -d /home/container -s /bin/bash container | ||
USER container | ||
ENV USER=container HOME=/home/container | ||
WORKDIR /home/container | ||
|
||
## Copy over entrypoint.sh and set permissions | ||
COPY --chown=container:container ./entrypoint.sh /entrypoint.sh | ||
RUN chmod +x /entrypoint.sh | ||
|
||
## Start with Tini to pass future stop signals correctly | ||
STOPSIGNAL SIGINT | ||
ENTRYPOINT ["/usr/bin/tini", "-g", "--"] | ||
CMD ["/entrypoint.sh"] |
Oops, something went wrong.