forked from Speedy37/docker-ark
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
71 lines (61 loc) · 1.9 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
62
63
64
65
66
67
68
69
70
71
FROM ubuntu:14.04
MAINTAINER TuRzAm
# Var for first config
ENV SESSIONNAME="Ark Docker" \
SERVERMAP="TheIsland" \
SERVERPASSWORD="" \
ADMINPASSWORD="adminpassword" \
NBPLAYERS=70 \
UPDATEONSTART=1 \
BACKUPONSTART=1 \
GIT_TAG=v1.6.23 \
SERVERPORT=27015 \
STEAMPORT=7778 \
BACKUPONSTOP=1 \
WARNONSTOP=1 \
UID=1000 \
GID=1000
# Install dependencies
RUN apt-get update \
&& apt-get install -y curl lib32gcc1 lsof git ssh \
&& sed -i.bkp -e \
's/%sudo\s\+ALL=(ALL\(:ALL\)\?)\s\+ALL/%sudo ALL=NOPASSWD:ALL/g' /etc/sudoers \
/etc/sudoers \
&& adduser \
--disabled-login \
--shell /bin/bash \
--gecos "" \
steam \
&& usermod -a -G sudo steam
# Copy & rights to folders
COPY run.sh /home/steam/run.sh
COPY user.sh /home/steam/user.sh
COPY crontab /home/steam/crontab
COPY arkmanager-user.cfg /home/steam/arkmanager.cfg
RUN touch /root/.bash_profile \
&& chmod 777 /home/steam/run.sh \
&& chmod 777 /home/steam/user.sh \
&& mkdir /ark \
&& git clone https://github.com/FezVrasta/ark-server-tools.git /home/steam/ark-server-tools \
&& cd /home/steam/ark-server-tools/ \
&& git checkout $GIT_TAG \
&& cd /home/steam/ark-server-tools/tools \
&& chmod +x install.sh \
&& ./install.sh steam \
&& ln -s /usr/local/bin/arkmanager /usr/bin/arkmanager \
&& chown steam -R /ark && chmod 755 -R /ark \
&& mkdir /home/steam/steamcmd \
&& cd /home/steam/steamcmd \
&& curl http://media.steampowered.com/installer/steamcmd_linux.tar.gz | tar -vxz
# Define default config file in /etc/arkmanager
COPY arkmanager-system.cfg /etc/arkmanager/arkmanager.cfg
# Define default config file in /etc/arkmanager
COPY instance.cfg /etc/arkmanager/instances/main.cfg
EXPOSE ${STEAMPORT} 32330 ${SERVERPORT}
# Add UDP
EXPOSE ${STEAMPORT}/udp ${SERVERPORT}/udp
VOLUME /ark
# Change the working directory to /arkd
WORKDIR /ark
# Update game launch the game.
ENTRYPOINT ["/home/steam/user.sh"]