Added latest and minimal Dockerfile
This commit is contained in:
parent
e3e7b279af
commit
485739b039
71
README.md
Normal file
71
README.md
Normal file
@ -0,0 +1,71 @@
|
||||
# Supported tags and respective `Dockerfile` links
|
||||
|
||||
* `minimal` [(minimal/Dockerfile)](https://github.com/Hackebein/docker-garrysmod/blob/master/minimal/Dockerfile)
|
||||
* `latest` [(latest/Dockerfile)](https://github.com/Hackebein/docker-garrysmod/blob/master/latest/Dockerfile)
|
||||
* ~~`full` [(full/Dockerfile)](https://github.com/Hackebein/docker-garrysmod/blob/master/full/Dockerfile).~~ coming soon
|
||||
|
||||
# What is Garry's Mod?
|
||||
|
||||
Garry's Mod is a physics sandbox. There aren't any predefined aims or goals. We give you the tools and leave you to play.
|
||||
|
||||
# Update Hooks
|
||||
|
||||
* on base image update (supported by Docker Hub)
|
||||
* on repository update (supported by Docker Hub)
|
||||
* ~~on steam repository content update (supported by [Huginn](https://github.com/Hackebein/docker-garrysmod/blob/master/huginn.json))~~ coming soon
|
||||
|
||||
# Quick Start
|
||||
|
||||
## Basic
|
||||
|
||||
docker run --expose 27015 hackebein/garrysmod
|
||||
|
||||
## Public
|
||||
|
||||
docker run --expose 27015 -e "GLST=..." hackebein/garrysmod
|
||||
|
||||
Get your [GLST](http://steamcommunity.com/dev/managegameservers) (`APPID: 4000`)
|
||||
|
||||
## Public with Workshop Collection
|
||||
|
||||
docker run --expose 27015 -e "GLST=..." -e "AUTHKEY=..." -e "WORKSHOPCOLLECTIONID=..." hackebein/garrysmod
|
||||
|
||||
Get your [AUTHKEY](http://steamcommunity.com/dev/apikey)
|
||||
|
||||
## Config
|
||||
|
||||
docker run --expose 27015 -e "GLST=..." -e "AUTHKEY=..." -e "WORKSHOPCOLLECTIONID=..." --volume ./mycfg:/opt/garrysmod/garrysmod/volume hackebein/garrysmod
|
||||
|
||||
Autoload `server.cfg` from volume.
|
||||
|
||||
## Additional Environment
|
||||
|
||||
PORT: Connection Port
|
||||
(`Default: 27015`)
|
||||
|
||||
TICKRATE: Tickrate of server, **Attention:** Change not recommended
|
||||
(`Default: 66`)
|
||||
|
||||
CLIENTPORT:
|
||||
(`Default: 27005`)
|
||||
|
||||
GAMEMODE:
|
||||
(`Default: sandbox`)
|
||||
|
||||
MAP: Map on Server start
|
||||
(`Default: gm_flatgrass`)
|
||||
|
||||
CONFIG: Server config, **Attention:** Change not recommended
|
||||
(`Default: server.cfg`)
|
||||
|
||||
MAXPLAYERS: Max players
|
||||
(`Default: 16`)
|
||||
|
||||
LOADURLIMG: URL for LOADURL default
|
||||
(`Default: <URL>`)
|
||||
|
||||
LOADURL: Loading screen URL
|
||||
(`Default: <LOADURLIMG Fullscreen>`)
|
||||
|
||||
CUSTOMPARAMETERS: additional parameters
|
||||
(`Default: `)
|
16
latest/Dockerfile
Normal file
16
latest/Dockerfile
Normal file
@ -0,0 +1,16 @@
|
||||
FROM hackebein/garrysmod:minimal
|
||||
MAINTAINER Lars Olzem <hackebein@gmail.com>
|
||||
|
||||
ARG BASEDIR=/opt/garrysmod
|
||||
|
||||
RUN /usr/games/steamcmd \
|
||||
+login anonymous \
|
||||
+force_install_dir $BASEDIR \
|
||||
# cstrike
|
||||
+app_update 232330 -validate -language en \
|
||||
# garrysmod
|
||||
+app_update 4020 -validate -language en \
|
||||
+quit && \
|
||||
rm -rf $BASEDIR/garrysmod/cfg/*
|
||||
|
||||
COPY cfg $BASEDIR/garrysmod/cfg
|
19
latest/cfg/mount.cfg
Normal file
19
latest/cfg/mount.cfg
Normal file
@ -0,0 +1,19 @@
|
||||
|
||||
//
|
||||
// Use this file to mount additional paths to the filesystem
|
||||
// DO NOT add a slash to the end of the filename
|
||||
//
|
||||
|
||||
"mountcfg"
|
||||
{
|
||||
"cstrike" "cstrike"
|
||||
//"hl1" ""
|
||||
//"hl1_hd" ""
|
||||
//"hl2" ""
|
||||
//"hl2mp" ""
|
||||
//"episodic" ""
|
||||
//"ep2" ""
|
||||
//"lostcoast" ""
|
||||
}
|
||||
|
||||
|
11
latest/cfg/mountdepots.txt
Normal file
11
latest/cfg/mountdepots.txt
Normal file
@ -0,0 +1,11 @@
|
||||
"gamedepotsystem"
|
||||
{
|
||||
"cstrike" "1"
|
||||
//"hl1" "1"
|
||||
//"hl1_hd" "1"
|
||||
//"hl2" "1"
|
||||
//"hl2mp" "1"
|
||||
//"episodic" "1"
|
||||
//"ep2" "1"
|
||||
//"lostcoast" "1"
|
||||
}
|
2
latest/cfg/server.cfg
Normal file
2
latest/cfg/server.cfg
Normal file
@ -0,0 +1,2 @@
|
||||
// Garry's Mod - Config
|
||||
exec ../volume/server.cfg
|
62
minimal/Dockerfile
Normal file
62
minimal/Dockerfile
Normal file
@ -0,0 +1,62 @@
|
||||
FROM hackebein/steamcmd:latest
|
||||
MAINTAINER Lars Olzem <hackebein@gmail.com>
|
||||
|
||||
ARG BASEDIR=/opt/garrysmod
|
||||
|
||||
ENV PORT="27015" \
|
||||
TICKRATE="66" \
|
||||
WORKSHOPCOLLECTIONID="" \
|
||||
#http://steamcommunity.com/dev/apikey
|
||||
AUTHKEY="" \
|
||||
CLIENTPORT="27005" \
|
||||
GAMEMODE="sandbox" \
|
||||
MAP="gm_flatgrass" \
|
||||
#http://steamcommunity.com/dev/managegameservers APPID: 4000
|
||||
GLST="" \
|
||||
CONFIG="server.cfg" \
|
||||
MAXPLAYERS="16" \
|
||||
LOADURLIMG="http://www.pixelstalk.net/wp-content/uploads/2016/03/Cracked-Screen-Background-cute.jpg" \
|
||||
LOADURL="data:text/html, <style>html, body{ padding:0;margin:0;background:#000 }</style><img src='${LOADURLIMG}' width='100%' height='100%'>" \
|
||||
CUSTOMPARAMETERS=""
|
||||
|
||||
RUN apt-get update -q && \
|
||||
apt-get install -yqq lib32tinfo5 && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
|
||||
RUN /usr/games/steamcmd \
|
||||
+login anonymous \
|
||||
+force_install_dir $BASEDIR \
|
||||
# garrysmod
|
||||
+app_update 4020 -validate -language en \
|
||||
+quit && \
|
||||
rm -rf $BASEDIR/garrysmod/cfg/*
|
||||
|
||||
COPY cfg $BASEDIR/garrysmod/cfg
|
||||
|
||||
VOLUME [ "$BASEDIR/garrysmod/volume" ]
|
||||
|
||||
WORKDIR $BASEDIR
|
||||
|
||||
EXPOSE 27015/udp 27015/tcp
|
||||
|
||||
ENTRYPOINT []
|
||||
CMD [ \
|
||||
"sh", \
|
||||
"-c", \
|
||||
"$BASEDIR/srcds_run \
|
||||
-game garrysmod \
|
||||
-strictportbind \
|
||||
-port ${PORT} \
|
||||
-tickrate ${TICKRATE} \
|
||||
+host_workshop_collection ${WORKSHOPCOLLECTIONID} \
|
||||
-authkey ${AUTHKEY} \
|
||||
+clientport ${CLIENTPORT} \
|
||||
+gamemode ${GAMEMODE} \
|
||||
+map ${MAP} \
|
||||
+sv_setsteamaccount ${GLST} \
|
||||
+servercfgfile ${CONFIG} \
|
||||
-maxplayers ${MAXPLAYERS} \
|
||||
+sv_loadingurl ${LOADURL} \
|
||||
${CUSTOMPARAMETERS}" \
|
||||
]
|
19
minimal/cfg/mount.cfg
Normal file
19
minimal/cfg/mount.cfg
Normal file
@ -0,0 +1,19 @@
|
||||
|
||||
//
|
||||
// Use this file to mount additional paths to the filesystem
|
||||
// DO NOT add a slash to the end of the filename
|
||||
//
|
||||
|
||||
"mountcfg"
|
||||
{
|
||||
//"cstrike" ""
|
||||
//"hl1" ""
|
||||
//"hl1_hd" ""
|
||||
//"hl2" ""
|
||||
//"hl2mp" ""
|
||||
//"episodic" ""
|
||||
//"ep2" ""
|
||||
//"lostcoast" ""
|
||||
}
|
||||
|
||||
|
11
minimal/cfg/mountdepots.txt
Normal file
11
minimal/cfg/mountdepots.txt
Normal file
@ -0,0 +1,11 @@
|
||||
"gamedepotsystem"
|
||||
{
|
||||
//"cstrike" "1"
|
||||
//"hl1" "1"
|
||||
//"hl1_hd" "1"
|
||||
//"hl2" "1"
|
||||
//"hl2mp" "1"
|
||||
//"episodic" "1"
|
||||
//"ep2" "1"
|
||||
//"lostcoast" "1"
|
||||
}
|
2
minimal/cfg/server.cfg
Normal file
2
minimal/cfg/server.cfg
Normal file
@ -0,0 +1,2 @@
|
||||
// Garry's Mod - Config
|
||||
exec ../volume/server.cfg
|
Loading…
Reference in New Issue
Block a user