-
Notifications
You must be signed in to change notification settings - Fork 35
/
Dockerfile
61 lines (52 loc) · 2.35 KB
/
Dockerfile
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
FROM cm2network/steamcmd:root
LABEL MAINTAINER="https://github.com/Hermsi1337/"
ARG ARK_TOOLS_VERSION="1.6.61a"
ARG IMAGE_VERSION="dev"
ENV IMAGE_VERSION="${IMAGE_VERSION}" \
SESSION_NAME="Dockerized ARK Server by github.com/hermsi1337" \
SERVER_MAP="TheIsland" \
SERVER_PASSWORD="YouShallNotPass" \
ADMIN_PASSWORD="Th155houldD3f1n3tlyB3Chang3d" \
MAX_PLAYERS="20" \
GAME_MOD_IDS="" \
UPDATE_ON_START="false" \
BACKUP_ON_STOP="false" \
PRE_UPDATE_BACKUP="true" \
WARN_ON_STOP="true" \
ARK_TOOLS_VERSION="${ARK_TOOLS_VERSION}" \
ARK_SERVER_VOLUME="/app" \
TEMPLATE_DIRECTORY="/conf.d" \
GAME_CLIENT_PORT="7777" \
UDP_SOCKET_PORT="7778" \
RCON_PORT="27020" \
SERVER_LIST_PORT="27015" \
STEAM_HOME="/home/${USER}" \
STEAM_USER="${USER}" \
STEAM_LOGIN="anonymous"
ENV ARK_TOOLS_DIR="${ARK_SERVER_VOLUME}/arkmanager"
RUN set -x && \
apt-get update && \
apt-get install -y perl-modules \
curl \
lsof \
libc6-i386 \
lib32gcc-s1 \
bzip2 \
gosu \
cron \
&& \
curl -L "https://github.com/arkmanager/ark-server-tools/archive/v${ARK_TOOLS_VERSION}.tar.gz" \
| tar -xvzf - -C /tmp/ && \
bash -c "cd /tmp/ark-server-tools-${ARK_TOOLS_VERSION}/tools && bash -x install.sh ${USER}" && \
ln -s /usr/local/bin/arkmanager /usr/bin/arkmanager && \
install -d -o ${USER} ${ARK_SERVER_VOLUME} && \
su ${USER} -c "bash -x ${STEAMCMDDIR}/steamcmd.sh +login anonymous +quit" && \
apt-get -qq autoclean && apt-get -qq autoremove && apt-get -qq clean && \
rm -rf /tmp/* /var/cache/*
COPY bin/ /
COPY conf.d ${TEMPLATE_DIRECTORY}
EXPOSE ${GAME_CLIENT_PORT}/udp ${UDP_SOCKET_PORT}/udp ${SERVER_LIST_PORT}/udp ${RCON_PORT}/tcp
VOLUME ["${ARK_SERVER_VOLUME}"]
WORKDIR ${ARK_SERVER_VOLUME}
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD []