107 lines
2.7 KiB
Docker
107 lines
2.7 KiB
Docker
FROM ubuntu:14.04
|
|
|
|
MAINTAINER TuRzAm
|
|
|
|
# Var for first config
|
|
# Server Name
|
|
ENV SESSIONNAME "Ark Docker"
|
|
# Map name
|
|
ENV SERVERMAP "TheIsland"
|
|
# Server password
|
|
ENV SERVERPASSWORD ""
|
|
# Admin password
|
|
ENV ADMINPASSWORD "adminpassword"
|
|
# Nb Players
|
|
ENV NBPLAYERS 70
|
|
# If the server is updating when start with docker start
|
|
ENV UPDATEONSTART 1
|
|
# if the server is backup when start with docker start
|
|
ENV BACKUPONSTART 1
|
|
# Tag on github for ark server tools
|
|
ENV GIT_TAG v1.5
|
|
# Server PORT (you can't remap with docker, it doesn't work)
|
|
ENV SERVERPORT 27015
|
|
# Steam port (you can't remap with docker, it doesn't work)
|
|
ENV STEAMPORT 7778
|
|
# if the server should backup after stopping
|
|
ENV BACKUPONSTOP 0
|
|
# If the server warn the players before stopping
|
|
ENV WARNONSTOP 0
|
|
# UID of the user steam
|
|
ENV UID 1000
|
|
# GID of the user steam
|
|
ENV GID 1000
|
|
|
|
# Install dependencies
|
|
RUN apt-get update &&\
|
|
apt-get install -y curl lib32gcc1 lsof git
|
|
|
|
# Enable passwordless sudo for users under the "sudo" group
|
|
RUN sed -i.bkp -e \
|
|
's/%sudo\s\+ALL=(ALL\(:ALL\)\?)\s\+ALL/%sudo ALL=NOPASSWD:ALL/g' /etc/sudoers \
|
|
/etc/sudoers
|
|
|
|
# Run commands as the steam user
|
|
RUN adduser \
|
|
--disabled-login \
|
|
--shell /bin/bash \
|
|
--gecos "" \
|
|
steam
|
|
# Add to sudo group
|
|
RUN 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
|
|
RUN chmod 777 /home/steam/run.sh
|
|
RUN chmod 777 /home/steam/user.sh
|
|
RUN mkdir /ark
|
|
|
|
|
|
# We use the git method, because api github has a limit ;)
|
|
RUN git clone https://github.com/FezVrasta/ark-server-tools.git /home/steam/ark-server-tools
|
|
WORKDIR /home/steam/ark-server-tools/
|
|
RUN git checkout $GIT_TAG
|
|
# Install
|
|
WORKDIR /home/steam/ark-server-tools/tools
|
|
RUN chmod +x install.sh
|
|
RUN ./install.sh steam
|
|
|
|
# Allow crontab to call arkmanager
|
|
RUN ln -s /usr/local/bin/arkmanager /usr/bin/arkmanager
|
|
|
|
# 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
|
|
|
|
RUN chown steam -R /ark && chmod 755 -R /ark
|
|
|
|
#USER steam
|
|
|
|
# download steamcmd
|
|
RUN mkdir /home/steam/steamcmd &&\
|
|
cd /home/steam/steamcmd &&\
|
|
curl http://media.steampowered.com/installer/steamcmd_linux.tar.gz | tar -vxz
|
|
|
|
|
|
# First run is on anonymous to download the app
|
|
# We can't download from docker hub anymore -_-
|
|
#RUN /home/steam/steamcmd/steamcmd.sh +login anonymous +quit
|
|
|
|
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"]
|