-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathDockerfile
More file actions
102 lines (89 loc) · 3.09 KB
/
Copy pathDockerfile
File metadata and controls
102 lines (89 loc) · 3.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
FROM steamcmd/steamcmd:ubuntu-22
LABEL maintainer="https://github.com/Johnny-Knighten"
ARG PGID=0 \
PUID=0 \
PROTON_GE_VAR=wine-lutris \
PROTON_GE_VER=GE-Proton8-21 \
PROTON_GE_ARCH=x86_64
ENV DEBUG=False \
DRY_RUN=False \
TZ=America/New_York \
SKIP_FILE_VALIDATION=False \
SERVER_DIR="/ark-server/server" \
BACKUPS_DIR="/ark-server/backups" \
LOGS_DIR="/ark-server/logs" \
MAP="TheIsland_WP" \
GAME_PORT=7777 \
QUERY_PORT=27015 \
EXTRA_LAUNCH_OPTIONS= \
SERVER_PASSWORD= \
ADMIN_PASSWORD=adminpassword \
ENABLE_RCON=True \
RCON_PORT=27020 \
MAX_PLAYERS=70 \
SERVER_NAME="Ark Server" \
UPDATE_ON_BOOT=True \
MOD_LIST= \
NO_BATTLEYE=True \
EPIC_PUBLIC_IP= \
MULTI_HOME= \
ENABLE_PVE=False \
SCHEDULED_RESTART=False \
BACKUP_ON_SCHEDULED_RESTART=False \
RESTART_CRON="0 4 * * *" \
SCHEDULED_UPDATE=False \
BACKUP_BEFORE_UPDATE=False \
UPDATE_CRON="0 5 * * 0" \
BACKUP_ON_STOP=True \
SCHEDULED_BACKUP=False \
BACKUP_CRON="0 6 * * *" \
ZIP_BACKUPS=False \
RETAIN_BACKUPS= \
MANUAL_CONFIG=False \
CLUSTER_ID= \
CLUSTER_DIR="/ark-server/cluster" \
NO_TRANSFER_FROM_FILTERING=False
RUN set -x && \
apt-get update && \
apt-get install --no-install-recommends -y \
wget \
xz-utils \
xvfb \
supervisor \
cron \
tzdata \
zip \
unzip \
python3 && \
rm -rf /var/lib/apt/lists/*
WORKDIR /opt/glorious_eggroll
RUN PROTON_GE_FILE="$PROTON_GE_VAR-$PROTON_GE_VER-$PROTON_GE_ARCH" && \
wget -q "https://github.com/GloriousEggroll/wine-ge-custom/releases/download/$PROTON_GE_VER/$PROTON_GE_FILE.tar.xz" && \
tar -xvf "$PROTON_GE_FILE.tar.xz" && \
mkdir -p ~/.proton && \
mv "lutris-$PROTON_GE_VER-$PROTON_GE_ARCH" ./proton && \
rm -r "$PROTON_GE_FILE.tar.xz"
# Download and install XAudio2 DLL - Dependency Added in version 77.46
RUN wget "https://www.nuget.org/api/v2/package/Microsoft.XAudio2.Redist/1.2.11" -O xaudio2.nupkg && \
unzip xaudio2.nupkg -d xaudio2_extract && \
mkdir -p $SERVER_DIR/ShooterGame/Binaries/Win64/ && \
cp xaudio2_extract/build/native/release/bin/x64/xaudio2_9redist.dll $SERVER_DIR/ShooterGame/Binaries/Win64/xaudio2_9.dll && \
chmod 775 $SERVER_DIR/ShooterGame/Binaries/Win64/xaudio2_9.dll && \
chown 7777:7777 $SERVER_DIR/ShooterGame/Binaries/Win64/xaudio2_9.dll
RUN groupadd -g "$PGID" -o ark-sa && \
useradd -l -g "$PGID" -u "$PUID" -o --create-home ark-sa && \
usermod -a -G crontab ark-sa
COPY bin/ /usr/local/bin
COPY config_from_env_vars/ /usr/local/bin/config_from_env_vars
COPY supervisord.conf /usr/local/etc/supervisord.conf
RUN ["chmod", "-R", "+x", "/usr/local/bin"]
VOLUME [ "${SERVER_DIR}" ]
VOLUME [ "${BACKUPS_DIR}" ]
VOLUME [ "${LOGS_DIR}" ]
WORKDIR ${SERVER_DIR}
EXPOSE 7777/udp
EXPOSE 7778/udp
EXPOSE 27015/udp
EXPOSE 27020/tcp
ENTRYPOINT ["/usr/local/bin/system-bootstrap.sh"]
CMD []