diff --git a/Dockerfile b/Dockerfile index 64bffbc..b6aab3b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,30 @@ -FROM ghcr.io/gameservermanagers/steamcmd:latest -#FROM cm2network/steamcmd:steam +FROM docker.io/cm2network/steamcmd:latest -ARG DATA_DIR="/stationeers/game_data" -ARG SAVES_DIR +ARG APP_USER="gamer" +ARG APP_UID=568 +ARG APP_DIR="/home/steam/app" ARG APP_ID=600760 +ARG USER_DIR="/stationeers" -# Re-use the entrypoint script of the steamcmd image and map it to a sensible command s it can be used internally -#RUN ln -s /docker-entrypoint.sh /steamcmd +# Setup local user +USER root +RUN useradd --uid "$APP_UID" --user-group --create-home --home "$APP_DIR" --shell /sbin/nologin "$APP_USER" -#RUN steamcmd +force_install_dir "$DATA_DIR" +login anonymous +app_update 600760 +quit +# Install application and configure access rights +USER "$APP_USER" +RUN /home/steam/steamcmd/steamcmd.sh +force_install_dir "$APP_DIR" +login anonymous +app_update 600760 validate +quit +RUN chown -R "$APP_USER":"$APP_USER" "$APP_DIR"/* +# Link the saves folder to the user mount +RUN ln -sf "$USER_DIR" "$APP_DIR/saves" +# Game port EXPOSE 27016/udp +# Steam update port +EXPOSE 27015/udp -WORKDIR "$DATA_DIR" -ENTRYPOINT ["echo"] \ No newline at end of file +WORKDIR "$USER_DIR" +ENV PATH="$APP_DIR:$PATH" +ENTRYPOINT ["rocketstation_DedicatedServer.x86_64"] +# User should add their server commands as extra args to the docker run command +# User should mount /stationeers for their writable data folder \ No newline at end of file