Compare commits

..

54 Commits

Author SHA1 Message Date
Achim Klittich
f5f1e7f614 Update alpine image to 3.18 2023-09-18 08:58:15 +02:00
Joachim Schiele
e1cd2cd1de Changing update 3.13.7 to a different rebuilt binary 2022-06-30 12:31:42 +02:00
Joachim Schiele
c52801da0f Updating to 3.13.7 2022-06-22 15:45:43 +02:00
Niels Werensteijn
ab76b77f97 Added version 3.13.6 of TeamSpeak server (alpine) 2021-06-14 14:19:45 +02:00
Niels Werensteijn
cdd39f87a2 Added version 3.13.5 of TeamSpeak server (alpine) 2021-05-19 09:43:24 +02:00
Niels Werensteijn
70c8c710d0 fix allow/block list 2021-05-19 09:42:35 +02:00
Niels Werensteijn
c85cee93fe Make docker build work for windows as well 2021-05-19 09:30:24 +02:00
Niels Werensteijn
e811d7a6a1 Added libpq to installed libraries to enable postgresql support 2021-01-04 09:20:52 +01:00
Niels Werensteijn
5539fed973 Added version 3.13.3 of TeamSpeak server (alpine) 2020-12-17 10:41:22 +01:00
Niels Werensteijn
f3fdade4d0 Added version 3.13.2 of TeamSpeak server (alpine) 2020-11-19 09:45:21 +01:00
mxhowson
a52ac9bfb7
Merge pull request #64 from MrPanKrecik/patch-1
Added version 3.13.0
2020-11-10 11:51:55 +00:00
MrPanKrecik
427cacf642
Added version 3.13.0 2020-11-10 02:06:21 +01:00
nwerensteijn
889987e7de
Merge pull request #53 from daisukixci/master
Fix #50 Fix variable unset for docker secret usage
2020-04-08 08:29:59 +02:00
Niels Werensteijn
dd1e68d645 Added version 3.12.1 2020-04-03 13:50:38 +02:00
daisukixci
b684e97681
Fix unsets 2020-03-21 20:34:50 +01:00
Tobias Ehrig
4fc46f2faa
Bump to 3.12.0 (#52) 2020-03-20 17:25:50 +01:00
Conrad
aa2d0346ef Fixed typo in LICENSE (#44) 2020-01-22 09:19:57 +01:00
Maximilian Münchow
12ce1ade4f fixed su-exec: /opt/ts3server/entrypoint.sh: Permission denied without using chmod 2020-01-20 10:42:41 +01:00
Maximilian Münchow
9669420ec3 Added version 3.11.0 2020-01-15 09:55:29 +01:00
Maximilian Münchow
666bbe0180 explicitly update file mode with a+rx for entrypoint.sh, because when building directly from git, it would only set u=rx for it. 2019-12-18 10:25:09 +01:00
Maximilian Münchow
33fca5e21e added TS3SERVER_QUERY_SKIPBRUTEFORCECHECK and TS3SERVER_HINTS_ENABLED. 2019-12-11 10:58:41 +01:00
Maxim Makarov
0f7beacc93 machine_id support (#41) 2019-12-11 10:56:45 +01:00
Maximilian Münchow
7058dd2656 added 3.10.2 2019-11-22 22:52:06 +01:00
Maximilian Münchow
4b200eadeb added 3.10.1 2019-11-18 12:05:14 +01:00
Maximilian Münchow
89fefa84a7 use install instead of mkdir/chown/chmod 2019-11-18 11:59:19 +01:00
Maximilian Münchow
cfb7288d6c removed chmod as requested 2019-11-11 14:33:42 +01:00
Maximilian Münchow
a4a389ced1 added 3.10.0 2019-11-08 07:51:12 +01:00
Maximilian Münchow
819635babc updated alpine to 3.10 2019-08-29 22:28:39 +02:00
keigel2001
9f9de4f6be Change default for TS3SERVER_QUERY_IP, TS3SERVER_FILETRANSFER_IP, TS3SERVER_VOICE_IP, TS3SERVER_QUERY_SSH_IP to empty (#32)
* Change default for TS3SERVER_QUERY_IP, TS3SERVER_FILETRANSFER_IP, TS3SERVER_VOICE_IP, TS3SERVER_QUERY_SSH_IP to empty

* Change mix of tabs and spaces to 4 spaces

* Change to inline-syntax

* Fix heredoc, trim whitespaces and remove empty lines
2019-08-13 09:58:28 +02:00
Maximilian Münchow
523adc3de1
Merge pull request #33 from mrworta/patch-1
Explicitly set permission on entrypoint.sh
2019-08-12 08:41:28 +02:00
mrworta
86b42cc459
Explicitly set permission on entrypoint.sh
Resulting image would not start without if, for example, you're building using a build pipeline.
2019-08-06 00:26:19 +02:00
Maximilian Münchow
ef39847a37 added 3.9.1 2019-07-05 02:32:51 +02:00
Maximilian Münchow
db6b99c5a1 added missing = for TS3SERVER_QUERY_SSH_PORT 2019-07-05 02:32:42 +02:00
Maximilian Münchow
91cd35c860
Merge pull request #20 from UncleSnycs/master
ip and port configuration with environment vars
2019-07-04 15:35:39 +02:00
Maximilian Münchow
d88fc3e791
Merge pull request #27 from Taraj2/master
Add serveradmin_password to env
2019-07-04 15:33:06 +02:00
Krzysiek
2fcbea914c Add serveradmin_password to env 2019-07-03 10:47:00 +02:00
Maximilian Münchow
2aa15dba1f added 3.9.0 2019-06-25 07:55:50 +02:00
Maximilian Münchow
b216589f4f added 3.8.0 2019-05-28 14:17:11 +02:00
Maximilian Münchow
d0c8785270 added 3.7.1 2019-03-29 10:08:30 +01:00
Fabian Dietl
f419f8638d
added query_ssh_port and query_ssh_ip 2019-03-21 16:54:33 +01:00
Maximilian Münchow
90183e0bdc added 3.7.0 2019-03-20 09:59:03 +01:00
Fabian Dietl
79c3e92b62 fixed environment syntax 2019-03-17 16:26:37 +01:00
Fabian Dietl
f0952d8f0b
ip and port configuration with environment vars
Allow to change the following ts3server.ini properties with environment variables:
query_ip: Default: 0.0.0.0 | Environment Variable: TS3SERVER_QUERY_IP
query_port: Default: 10011 | Environment Variable: TS3SERVER_QUERY_PORT

filetransfer_ip: Default: 0.0.0.0 | Environment Variable: TS3SERVER_FILETRANSFER_IP
filetransfer_port: Default: 30033 | Environment Variable: TS3SERVER_FILETRANSFER_PORT

voice_ip: Default: 0.0.0.0 | Environment Variable: TS3SERVER_VOICE_IP
default_voice_port: Default: 9987 | Environment Variable: TS3SERVER_DEFAULT_VOICE_PORT
2019-03-17 15:32:02 +01:00
Maximilian Münchow
65f88d8354 added 3.6.1 2019-01-30 09:53:13 +01:00
Maximilian Münchow
0eda21bab6
Merge pull request #15 from GwtLabs/patch-1
Env variable to uppercase
2019-01-30 09:50:35 +01:00
Maximilian Münchow
ad73b4d497 added 3.6.0
changed source from 'http://dl.4players.de' to 'https://files.teamspeak-services.com'
2019-01-22 08:59:47 +01:00
Maximilian Münchow
74b8d3b3c0 added 3.5.1 2018-12-18 17:16:54 +01:00
GwtLabs
3de3cc1624
Env variable to uppercase 2018-12-11 18:45:33 +01:00
Maximilian Münchow
39bf86017d added 3.5.0 2018-10-29 18:51:43 +01:00
Maximilian Münchow
ca34caf6fd added 3.4.0 2018-09-11 00:38:48 +02:00
Maximilian Münchow
4d4ead5c57 added 3.3.1 2018-08-20 15:29:40 +02:00
Maximilian Münchow
ed11a8e865 added 3.3.0 2018-08-01 17:58:39 +02:00
Maximilian Münchow
bd986e3ee6 added new server parameters. 2018-06-29 03:08:53 +02:00
Maximilian Münchow
1da75dc61e added 3.2.0 2018-05-14 09:15:04 +02:00
4 changed files with 89 additions and 68 deletions

2
.gitattributes vendored Normal file
View File

@ -0,0 +1,2 @@
**/*.sh text eol=lf
**/*.sh text eol=lf

View File

@ -1135,7 +1135,7 @@ TeamSpeak.com
data security and thus in particular for the protection of your personal
data against dangers with the data transmission and the gaining of
knowledge by third parties. These measures are adjusted regularly by
TeamSpeak to the state-of-the-at technology.
TeamSpeak to the state-of-the-art technology.
17.2 TeamSpeak will provide you information at all times regarding the data
security in the company. Please send your enquiry to privacy@teamspeak.com
or to the data referred to in the imprint of the TeamSpeak Websites.

View File

@ -1,29 +1,26 @@
FROM alpine:3.7
FROM alpine:3.18
RUN apk add --no-cache ca-certificates libstdc++ su-exec
RUN apk add --no-cache ca-certificates libstdc++ su-exec libpq
RUN set -eux; \
addgroup -g 9987 ts3server; \
adduser -u 9987 -Hh /var/ts3server -G ts3server -s /sbin/nologin -D ts3server; \
mkdir -p /var/ts3server /var/run/ts3server; \
chown ts3server:ts3server /var/ts3server /var/run/ts3server; \
chmod 777 /var/ts3server /var/run/ts3server
addgroup -g 9987 ts3server; \
adduser -u 9987 -Hh /var/ts3server -G ts3server -s /sbin/nologin -D ts3server; \
install -d -o ts3server -g ts3server -m 775 /var/ts3server /var/run/ts3server /opt/ts3server
ENV PATH "${PATH}:/opt/ts3server"
ARG TEAMSPEAK_CHECKSUM=283964521e2299e39378ce23d58b8b019dc124a114008f9be21d0d7c5cc15080
ARG TEAMSPEAK_URL=http://dl.4players.de/ts/releases/3.1.3/teamspeak3-server_linux_alpine-3.1.3.tar.bz2
ARG TEAMSPEAK_CHECKSUM=359aac972679cfd98d62af51ddaf80e674cab166e13c6a835e81759097f9ba2e
ARG TEAMSPEAK_URL=https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_alpine-3.13.7.tar.bz2
RUN set -eux; \
apk add --no-cache --virtual .fetch-deps tar; \
wget "${TEAMSPEAK_URL}" -O server.tar.bz2; \
echo "${TEAMSPEAK_CHECKSUM} *server.tar.bz2" | sha256sum -c -; \
mkdir -p /opt/ts3server; \
tar -xf server.tar.bz2 --strip-components=1 -C /opt/ts3server; \
rm server.tar.bz2; \
apk del .fetch-deps; \
mv /opt/ts3server/*.so /opt/ts3server/redist/* /usr/local/lib; \
ldconfig /usr/local/lib; \
chown -R ts3server:ts3server /opt/ts3server
apk add --no-cache --virtual .fetch-deps tar; \
wget "${TEAMSPEAK_URL}" -O server.tar.bz2; \
echo "${TEAMSPEAK_CHECKSUM} *server.tar.bz2" | sha256sum -c -; \
mkdir -p /opt/ts3server; \
tar -xf server.tar.bz2 --strip-components=1 -C /opt/ts3server; \
rm server.tar.bz2; \
apk del .fetch-deps; \
mv /opt/ts3server/*.so /opt/ts3server/redist/* /usr/local/lib; \
ldconfig /usr/local/lib
# setup directory where user data is stored
VOLUME /var/ts3server/
@ -35,5 +32,6 @@ WORKDIR /var/ts3server/
EXPOSE 9987/udp 10011 30033
COPY entrypoint.sh /opt/ts3server
ENTRYPOINT [ "entrypoint.sh" ]
CMD [ "ts3server" ]

View File

@ -15,58 +15,79 @@ fi
# usage: file_env VAR [DEFAULT]
# ie: file_env 'XYZ_DB_PASSWORD' 'example'
# (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of
# "$XYZ_DB_PASSWORD" from a file, especially for Docker's secrets feature)
# "$XYZ_DB_PASSWORD" from a file, especially for Docker's secrets feature)
file_env() {
local var="$1"
local fileVar="${var}_FILE"
eval local varValue="\$${var}"
eval local fileVarValue="\$${var}_FILE"
local def="${2:-}"
if [ "${varValue:-}" ] && [ "${fileVarValue:-}" ]; then
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
exit 1
fi
local val="$def"
if [ "${varValue:-}" ]; then
val="${varValue}"
elif [ "${fileVarValue:-}" ]; then
val="$(cat "${fileVarValue}")"
fi
export "$var"="$val"
unset "$fileVar"
unset "$fileVarValue"
local var="$1"
local fileVar="${var}_FILE"
eval local varValue="\$${var}"
eval local fileVarValue="\$${var}_FILE"
local def="${2:-}"
if [ "${varValue:-}" ] && [ "${fileVarValue:-}" ]; then
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
exit 1
fi
local val="$def"
if [ "${varValue:-}" ]; then
val="${varValue}"
elif [ "${fileVarValue:-}" ]; then
val="$(cat "${fileVarValue}")"
fi
export "$var"="$val"
if [ "${fileVar:-}" ]; then
unset "$fileVar"
fi
if [ "${fileVarValue:-}" ]; then
unset "fileVarValue"
fi
}
if [ "$1" = 'ts3server' ]; then
file_env 'TS3SERVER_DB_HOST'
file_env 'TS3SERVER_DB_USER'
file_env 'TS3SERVER_DB_PASSWORD'
file_env 'TS3SERVER_DB_NAME'
cat <<- EOF >/var/run/ts3server/ts3server.ini
licensepath=${TS3SERVER_LICENSEPATH}
query_ip_whitelist=${TS3SERVER_IP_WHITELIST:-query_ip_whitelist.txt}
query_ip_blacklist=${TS3SERVER_IP_BLACKLIST:-query_ip_blacklist.txt}
dbplugin=${TS3SERVER_DB_PLUGIN:-ts3db_sqlite3}
dbpluginparameter=${TS3SERVER_DB_PLUGINPARAMETER:-/var/run/ts3server/ts3db.ini}
dbsqlpath=${TS3SERVER_DB_SQLPATH:-/opt/ts3server/sql/}
dbsqlcreatepath=${TS3SERVER_DB_SQLCREATEPATH:-create_sqlite}
dbconnections=${TS3SERVER_DB_CONNECTIONS:-10}
dbclientkeepdays=${TS3SERVER_DB_CLIENTKEEPDAYS:-30}
logpath=${TS3SERVER_LOG_PATH:-/var/ts3server/logs}
logquerycommands=${TS3SERVER_LOG_QUERY_COMMANDS:-0}
logappend=${TS3SERVER_LOG_APPEND:-0}
EOF
cat <<- EOF >/var/run/ts3server/ts3db.ini
[config]
host='${TS3SERVER_DB_HOST}'
port='${TS3SERVER_DB_PORT:-3306}'
username='${TS3SERVER_DB_USER}'
password='${TS3SERVER_DB_PASSWORD}'
database='${TS3SERVER_DB_NAME}'
socket=
wait_until_ready='${TS3SERVER_DB_WAITUNTILREADY:-30}'
EOF
file_env 'TS3SERVER_DB_HOST'
file_env 'TS3SERVER_DB_USER'
file_env 'TS3SERVER_DB_PASSWORD'
file_env 'TS3SERVER_DB_NAME'
cat << EOF | sed 's/^[ \t]*//;s/[ \t]*$//;/^$/d' > /var/run/ts3server/ts3server.ini
licensepath=${TS3SERVER_LICENSEPATH}
query_protocols=${TS3SERVER_QUERY_PROTOCOLS:-raw}
query_timeout=${TS3SERVER_QUERY_TIMEOUT:-300}
query_ssh_rsa_host_key=${TS3SERVER_QUERY_SSH_RSA_HOST_KEY:-ssh_host_rsa_key}
query_ip_allowlist=${TS3SERVER_IP_ALLOWLIST:-query_ip_allowlist.txt}
query_ip_blocklist=${TS3SERVER_IP_BLOCKLIST:-query_ip_blocklist.txt}
dbplugin=${TS3SERVER_DB_PLUGIN:-ts3db_sqlite3}
dbpluginparameter=${TS3SERVER_DB_PLUGINPARAMETER:-/var/run/ts3server/ts3db.ini}
dbsqlpath=${TS3SERVER_DB_SQLPATH:-/opt/ts3server/sql/}
dbsqlcreatepath=${TS3SERVER_DB_SQLCREATEPATH:-create_sqlite}
dbconnections=${TS3SERVER_DB_CONNECTIONS:-10}
dbclientkeepdays=${TS3SERVER_DB_CLIENTKEEPDAYS:-30}
logpath=${TS3SERVER_LOG_PATH:-/var/ts3server/logs}
logquerycommands=${TS3SERVER_LOG_QUERY_COMMANDS:-0}
logappend=${TS3SERVER_LOG_APPEND:-0}
serverquerydocs_path=${TS3SERVER_SERVERQUERYDOCS_PATH:-/opt/ts3server/serverquerydocs/}
${TS3SERVER_QUERY_IP:+query_ip=${TS3SERVER_QUERY_IP}}
query_port=${TS3SERVER_QUERY_PORT:-10011}
${TS3SERVER_FILETRANSFER_IP:+filetransfer_ip=${TS3SERVER_FILETRANSFER_IP}}
filetransfer_port=${TS3SERVER_FILETRANSFER_PORT:-30033}
${TS3SERVER_VOICE_IP:+voice_ip=${TS3SERVER_VOICE_IP}}
default_voice_port=${TS3SERVER_DEFAULT_VOICE_PORT:-9987}
${TS3SERVER_QUERY_SSH_IP:+query_ssh_ip=${TS3SERVER_QUERY_SSH_IP}}
query_ssh_port=${TS3SERVER_QUERY_SSH_PORT:-10022}
${TS3SERVER_SERVERADMIN_PASSWORD:+serveradmin_password=${TS3SERVER_SERVERADMIN_PASSWORD}}
${TS3SERVER_MACHINE_ID:+machine_id=${TS3SERVER_MACHINE_ID}}
${TS3SERVER_QUERY_SKIPBRUTEFORCECHECK:+query_skipbruteforcecheck=${TS3SERVER_QUERY_SKIPBRUTEFORCECHECk}}
${TS3SERVER_HINTS_ENABLED:+hints_enabled=${TS3SERVER_HINTS_ENABLED}}
EOF
cat << EOF | sed 's/^[ \t]*//;s/[ \t]*$//;/^$/d' > /var/run/ts3server/ts3db.ini
[config]
host='${TS3SERVER_DB_HOST}'
port='${TS3SERVER_DB_PORT:-3306}'
username='${TS3SERVER_DB_USER}'
password='${TS3SERVER_DB_PASSWORD}'
database='${TS3SERVER_DB_NAME}'
socket=
wait_until_ready='${TS3SERVER_DB_WAITUNTILREADY:-30}'
EOF
fi
exec "$@"