Adding Docker files.
parent
f4eba1ee86
commit
d2701dd0e9
|
@ -0,0 +1,6 @@
|
|||
*.md
|
||||
|
||||
.git*
|
||||
|
||||
Dockerfile
|
||||
.dockerignore
|
|
@ -0,0 +1,50 @@
|
|||
FROM frolvlad/alpine-glibc:alpine-3.5_glibc-2.24
|
||||
|
||||
ARG TS3SERVER_URL="http://teamspeak.gameserver.gamed.de/ts3/releases/3.0.13.6/teamspeak3-server_linux_amd64-3.0.13.6.tar.bz2"
|
||||
ARG TS3SERVER_SHA384="c126cb43098c3ccd8f0eaaa871cc128ecda21261a1a862815ffc5bd6e8ed8dd45dff862a222ccfebe670a6dd5df4dfbb"
|
||||
|
||||
ADD ${TS3SERVER_URL} "/ts3server.tar.bz2"
|
||||
RUN \
|
||||
apk --no-cache add --virtual .build-deps \
|
||||
coreutils \
|
||||
tar \
|
||||
&& \
|
||||
\
|
||||
echo "Validating checksum..." && \
|
||||
TS3SERVER_ACTUAL_SHA384="$(sha384sum /ts3server.tar.bz2 | awk '{print $1}')" && \
|
||||
if [ "${TS3SERVER_ACTUAL_SHA384}" != "${TS3SERVER_SHA384}" ]; then echo "Invalid checksum: ${TS3SERVER_ACTUAL_SHA384} != ${TS3SERVER_SHA384}" >&2; exit 1; fi && \
|
||||
\
|
||||
mkdir -vp /opt/teamspeak3 && \
|
||||
tar -v -C /opt/teamspeak3 -xf /ts3server.tar.bz2 --strip 1 && \
|
||||
\
|
||||
rm -vr \
|
||||
/ts3server.tar.bz2 \
|
||||
&& \
|
||||
rm -vrf \
|
||||
/opt/teamspeak3/*.sh \
|
||||
/opt/teamspeak3/CHANGELOG \
|
||||
/opt/teamspeak3/doc \
|
||||
/opt/teamspeak3/redist \
|
||||
/opt/teamspeak3/serverquerydocs \
|
||||
/opt/teamspeak3/tsdns \
|
||||
/tmp/* \
|
||||
/var/tmp/* \
|
||||
&& \
|
||||
ls -lAh /opt/teamspeak3 && \
|
||||
apk --no-cache del .build-deps
|
||||
|
||||
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint
|
||||
RUN chmod +x /usr/local/bin/docker-entrypoint
|
||||
|
||||
RUN \
|
||||
for path in \
|
||||
files \
|
||||
logs \
|
||||
query_ip_blacklist.txt \
|
||||
query_ip_whitelist.txt \
|
||||
ts3server.sqlitedb; \
|
||||
do \
|
||||
ln -vsf "/data/${path}" "/opt/teamspeak3/${path}"; \
|
||||
done
|
||||
|
||||
ENTRYPOINT ["docker-entrypoint"]
|
|
@ -0,0 +1,21 @@
|
|||
#!/bin/sh -e
|
||||
|
||||
# files and directories that should exist beforehand
|
||||
mkdir -p \
|
||||
/data/files \
|
||||
/data/logs
|
||||
touch \
|
||||
/data/query_ip_blacklist.txt \
|
||||
/data/query_ip_whitelist.txt \
|
||||
/data/ts3server.sqlitedb
|
||||
|
||||
LD_LIBRARY_PATH="/opt/teamspeak3:${LD_LIBRARY_PATH}"
|
||||
export LD_LIBRARY_PATH
|
||||
|
||||
/opt/teamspeak3/ts3server "$@" &
|
||||
TS3SERVER_PID=$!
|
||||
|
||||
trap 'kill -2 ${TS3SERVER_PID}' INT
|
||||
trap 'kill -15 ${TS3SERVER_PID}' TERM
|
||||
|
||||
wait ${TS3SERVER_PID}
|
Loading…
Reference in New Issue