├── .dockerignore ├── .envfile ├── .github ├── dependabot.yml ├── stale.yml └── workflows │ ├── master.yml │ ├── pr.yml │ └── release.yml ├── .gitlab-ci.yml ├── Dockerfile ├── LICENSE ├── Makefile ├── README.md ├── VERSION ├── entrypoint.sh └── hooks ├── build └── post_push /.dockerignore: -------------------------------------------------------------------------------- 1 | .git 2 | LICENSE 3 | MakeFile 4 | README.md 5 | -------------------------------------------------------------------------------- /.envfile: -------------------------------------------------------------------------------- 1 | TS3_MARIADB_DB=TS3_DB_9987 2 | TS3_MARIADB_USER=root 3 | TS3_MARIADB_PASS=password 4 | TS3_MARIADB_HOST=mariadb 5 | TS3_MARIADB_PORT=3306 6 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | # Maintain dependencies for GitHub Actions 4 | - package-ecosystem: "github-actions" 5 | directory: "/" 6 | schedule: 7 | interval: "daily" 8 | -------------------------------------------------------------------------------- /.github/stale.yml: -------------------------------------------------------------------------------- 1 | # Number of days of inactivity before an issue becomes stale 2 | daysUntilStale: 30 3 | # Number of days of inactivity before a stale issue is closed 4 | daysUntilClose: 7 5 | # Issues with these labels will never be considered stale 6 | exemptLabels: 7 | - pinned 8 | - security 9 | - keep-alive 10 | # Label to use when marking an issue as stale 11 | staleLabel: stale 12 | # Comment to post when marking an issue as stale. Set to `false` to disable 13 | markComment: > 14 | This issue has been automatically marked as stale because it has not had 15 | any activity for the last 30 days. It will be closed if no further activity 16 | occurs during the next 7 days. Thank you for your contributions. 17 | # Comment to post when closing a stale issue. Set to `false` to disable 18 | closeComment: false 19 | -------------------------------------------------------------------------------- /.github/workflows/master.yml: -------------------------------------------------------------------------------- 1 | name: "master" 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout 13 | uses: actions/checkout@v2 14 | - name: Set up CI Image Metadata 15 | id: docker_meta_ci 16 | uses: crazy-max/ghaction-docker-meta@v1 17 | with: 18 | images: solidnerd/teamspeak-dev 19 | tag-sha: true 20 | - name: Set up Docker Buildx 21 | uses: docker/setup-buildx-action@v1 22 | - name: Build Image 23 | uses: docker/build-push-action@v2 24 | with: 25 | context: . 26 | file: ./Dockerfile 27 | platforms: linux/amd64 28 | push: false 29 | tags: | 30 | ${{ steps.docker_meta_ci.outputs.tags }} 31 | labels: ${{ steps.docker_meta_ci.outputs.labels }} 32 | cache-from: type=registry,ref=solidnerd/teamspeak-dev:master 33 | outputs: type=docker,dest=/tmp/image-teamspeak.tar 34 | - name: Upload artifact 35 | uses: actions/upload-artifact@v2 36 | with: 37 | name: image-teamspeak-master 38 | path: /tmp/image-teamspeak.tar 39 | if-no-files-found: warn 40 | e2e: 41 | runs-on: ubuntu-latest 42 | needs: build 43 | steps: 44 | - name: Checkout 45 | uses: actions/checkout@v2 46 | - name: Download artifact 47 | uses: actions/download-artifact@v2 48 | with: 49 | name: image-teamspeak-master 50 | path: /tmp 51 | - name: Load Docker image 52 | run: | 53 | docker load --input /tmp/image-teamspeak.tar 54 | docker image ls -a 55 | push: 56 | runs-on: ubuntu-20.04 57 | needs: e2e 58 | steps: 59 | - name: Checkout 60 | uses: actions/checkout@v2 61 | - name: Set up Docker Hub Image Metadata 62 | id: docker_meta 63 | uses: crazy-max/ghaction-docker-meta@v1 64 | with: 65 | images: solidnerd/teamspeak,ghcr.io/solidnerd/docker-teamspeak 66 | tag-semver: | 67 | {{version}} 68 | {{major}}.{{minor}} 69 | {{major}}.{{minor}}.{{patch}} 70 | - name: Download artifact 71 | uses: actions/download-artifact@v2 72 | with: 73 | name: image-teamspeak-master 74 | path: /tmp 75 | if-no-files-found: warn 76 | - name: Load Docker image 77 | run: | 78 | docker load --input /tmp/image-teamspeak.tar 79 | docker image ls -a 80 | - name: Set up QEMU 81 | uses: docker/setup-qemu-action@v1 82 | - name: Set up Docker Buildx 83 | uses: docker/setup-buildx-action@v1 84 | - name: Login to DockerHub 85 | if: github.event_name != 'pull_request' 86 | uses: docker/login-action@v1 87 | with: 88 | username: ${{ secrets.DOCKER_USERNAME }} 89 | password: ${{ secrets.DOCKER_PASSWORD }} 90 | - name: Login to GitHub Container Registry 91 | uses: docker/login-action@v1 92 | with: 93 | registry: ghcr.io 94 | username: ${{ github.repository_owner }} 95 | password: ${{ secrets.CR_PAT }} 96 | - name: Build and Push 97 | uses: docker/build-push-action@v2 98 | with: 99 | context: . 100 | file: ./Dockerfile 101 | platforms: linux/amd64 102 | push: ${{ github.event_name != 'pull_request' }} 103 | tags: | 104 | ${{ steps.docker_meta.outputs.tags }} 105 | labels: ${{ steps.docker_meta.outputs.labels }} 106 | cache-from: type=registry,ref=solidnerd/teamspeak-dev:${{ github.sha }} 107 | cache-to: type=registry,ref=solidnerd/teamspeak-dev:${{ github.sha }} 108 | -------------------------------------------------------------------------------- /.github/workflows/pr.yml: -------------------------------------------------------------------------------- 1 | name: "PR" 2 | 3 | on: 4 | pull_request: 5 | branches: 6 | - master 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout 13 | uses: actions/checkout@v2 14 | - name: Docker meta ci 15 | id: docker_meta_ci 16 | uses: crazy-max/ghaction-docker-meta@v1 17 | with: 18 | images: solidnerd/teamspeak-dev 19 | tag-sha: true 20 | - name: Set up Docker Buildx 21 | uses: docker/setup-buildx-action@v1 22 | - name: Build and push Dev 23 | uses: docker/build-push-action@v2 24 | with: 25 | context: . 26 | file: ./Dockerfile 27 | platforms: linux/amd64 28 | push: ${{ github.event_name != 'pull_request' }} 29 | tags: | 30 | ${{ steps.docker_meta_ci.outputs.tags }} 31 | labels: ${{ steps.docker_meta_ci.outputs.labels }} 32 | cache-from: type=registry,ref=solidnerd/teamspeak-dev:master 33 | cache-to: type=inline 34 | outputs: type=docker,dest=/tmp/image-teamspeak.tar 35 | - name: Upload artifact 36 | uses: actions/upload-artifact@v2 37 | with: 38 | name: image-teamspeak 39 | path: /tmp/image-teamspeak.tar 40 | if-no-files-found: warn 41 | e2e: 42 | runs-on: ubuntu-latest 43 | needs: build 44 | steps: 45 | - name: Checkout 46 | uses: actions/checkout@v2 47 | - name: Download artifact 48 | uses: actions/download-artifact@v2 49 | with: 50 | name: image-teamspeak 51 | path: /tmp 52 | if-no-files-found: warn 53 | - name: Load Docker image 54 | run: | 55 | docker load --input /tmp/image-teamspeak.tar 56 | docker image ls -a 57 | - name: Execute End-to-End Test 58 | run: make e2e 59 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: release 2 | on: 3 | push: 4 | # Sequence of patterns matched against refs/tags 5 | tags: 6 | - '*' # Push events to matching v*, i.e. v1.0, v0.4.4 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout 13 | uses: actions/checkout@v2 14 | - name: Set up CI Image Metadata 15 | id: docker_meta_ci 16 | uses: crazy-max/ghaction-docker-meta@v1 17 | with: 18 | images: solidnerd/teamspeak-dev 19 | tag-sha: true 20 | - name: Set up Docker Buildx 21 | uses: docker/setup-buildx-action@v1 22 | - name: Build and push Dev 23 | uses: docker/build-push-action@v2 24 | with: 25 | context: . 26 | file: ./Dockerfile 27 | platforms: linux/amd64 28 | push: false 29 | tags: | 30 | ${{ steps.docker_meta_ci.outputs.tags }} 31 | labels: ${{ steps.docker_meta_ci.outputs.labels }} 32 | cache-from: type=registry,ref=solidnerd/teamspeak-dev:master 33 | outputs: type=docker,dest=/tmp/image-teamspeak.tar 34 | - name: Upload artifact 35 | uses: actions/upload-artifact@v2 36 | with: 37 | name: image-teamspeak-master 38 | path: /tmp/image-teamspeak.tar 39 | e2e: 40 | runs-on: ubuntu-latest 41 | needs: build 42 | steps: 43 | - name: Checkout 44 | uses: actions/checkout@v2 45 | - name: Download artifact 46 | uses: actions/download-artifact@v2 47 | with: 48 | name: image-teamspeak-master 49 | path: /tmp 50 | - name: Load Docker image 51 | run: | 52 | docker load --input /tmp/image-teamspeak.tar 53 | docker image ls -a 54 | push: 55 | runs-on: ubuntu-20.04 56 | needs: e2e 57 | steps: 58 | - name: Checkout 59 | uses: actions/checkout@v2 60 | - name: Set up Docker Hub Image Metadata 61 | id: docker_meta 62 | uses: crazy-max/ghaction-docker-meta@v1 63 | with: 64 | images: solidnerd/teamspeak,ghcr.io/solidnerd/docker-teamspeak 65 | tag-semver: | 66 | {{version}} 67 | {{major}}.{{minor}} 68 | {{major}}.{{minor}}.{{patch}} 69 | - name: Download artifact 70 | uses: actions/download-artifact@v2 71 | with: 72 | name: image-teamspeak-master 73 | path: /tmp 74 | - name: Load Docker image 75 | run: | 76 | docker load --input /tmp/image-teamspeak.tar 77 | docker image ls -a 78 | - name: Set up QEMU 79 | uses: docker/setup-qemu-action@v1 80 | - name: Set up Docker Buildx 81 | uses: docker/setup-buildx-action@v1 82 | - name: Login to DockerHub 83 | if: github.event_name != 'pull_request' 84 | uses: docker/login-action@v1 85 | with: 86 | username: ${{ secrets.DOCKER_USERNAME }} 87 | password: ${{ secrets.DOCKER_PASSWORD }} 88 | - name: Login to GitHub Container Registry 89 | uses: docker/login-action@v1 90 | with: 91 | registry: ghcr.io 92 | username: ${{ github.repository_owner }} 93 | password: ${{ secrets.CR_PAT }} 94 | - name: Build and Push master 95 | uses: docker/build-push-action@v2 96 | with: 97 | context: . 98 | file: ./Dockerfile 99 | platforms: linux/amd64 100 | push: ${{ github.event_name != 'pull_request' }} 101 | tags: | 102 | ${{ steps.docker_meta.outputs.tags }} 103 | labels: ${{ steps.docker_meta.outputs.labels }} 104 | cache-from: type=registry,ref=solidnerd/teamspeak-dev:${{ github.sha }} 105 | cache-to: type=registry,ref=solidnerd/teamspeak-dev:${{ github.sha }} 106 | create-release: 107 | runs-on: ubuntu-20.04 108 | needs: push 109 | steps: 110 | # To use this repository's private action, you must check out the repository 111 | - name: Checkout 112 | uses: actions/checkout@v2 113 | - name: Generate changelog 114 | id: changelog 115 | uses: metcalfc/changelog-generator@v0.4.4 116 | with: 117 | myToken: ${{ secrets.GITHUB_TOKEN }} 118 | - name: Create Release 119 | id: create_release 120 | uses: actions/create-release@v1.1.4 121 | env: 122 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 123 | with: 124 | tag_name: ${{ github.ref }} 125 | release_name: ${{ github.ref }} 126 | body: ${{ steps.changelog.outputs.changelog }} 127 | draft: false 128 | prerelease: false 129 | -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | image: docker:stable 2 | 3 | stages: 4 | - build 5 | - release 6 | 7 | before_script: 8 | - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY 9 | - apk add --no-cache coreutils bash git 10 | 11 | build: 12 | stage: build 13 | variables: 14 | IMAGE_NAME: $CI_REGISTRY_IMAGE:$CI_BUILD_REF_NAME 15 | script: 16 | - hooks/build 17 | - docker push $IMAGE_NAME 18 | 19 | release-image: 20 | stage: release 21 | script: 22 | - docker pull $CI_REGISTRY_IMAGE:$CI_BUILD_REF_NAME 23 | - docker tag $CI_REGISTRY_IMAGE:$CI_BUILD_REF_NAME $CI_REGISTRY_IMAGE:$(cat VERSION) 24 | - docker push $CI_REGISTRY_IMAGE:$(cat VERSION) 25 | only: 26 | - master 27 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:bullseye-slim 2 | 3 | ENV TS_VERSION=3.13.7 \ 4 | TS_SHA256SUM="775a5731a9809801e4c8f9066cd9bc562a1b368553139c1249f2a0740d50041e" \ 5 | TS_FILENAME=teamspeak3-server_linux_amd64 \ 6 | TS_USER=teamspeak \ 7 | TS_HOME=/teamspeak 8 | 9 | RUN apt-get update && apt-get install curl mysql-common bzip2 locales locales-all -y \ 10 | && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 11 | RUN groupadd -r $TS_USER \ 12 | && useradd -r -m \ 13 | -g $TS_USER \ 14 | -d $TS_HOME \ 15 | $TS_USER 16 | 17 | ENV LC_ALL en_US.UTF-8 18 | ENV LANG en_US.UTF-8 19 | ENV LANGUAGE en_US.UTF-8 20 | 21 | WORKDIR ${TS_HOME} 22 | 23 | RUN curl -sSLo "/tmp/$TS_FILENAME.tar.gz" "https://files.teamspeak-services.com/releases/server/${TS_VERSION}/teamspeak3-server_linux_amd64-${TS_VERSION}.tar.bz2" \ 24 | && echo "${TS_SHA256SUM} /tmp/$TS_FILENAME.tar.gz" | sha256sum -c \ 25 | && tar -xjf "/tmp/$TS_FILENAME.tar.gz" \ 26 | && rm /tmp/$TS_FILENAME.tar.gz \ 27 | && mv ${TS_FILENAME}/* ${TS_HOME} \ 28 | && rm -r ${TS_HOME}/tsdns \ 29 | && rm -r ${TS_FILENAME} 30 | 31 | RUN cp "$(pwd)/redist/libmariadb.so.2" $(pwd) 32 | 33 | ADD entrypoint.sh ${TS_HOME}/entrypoint.sh 34 | 35 | RUN chown -R ${TS_USER}:${TS_USER} ${TS_HOME} && chmod +x entrypoint.sh 36 | 37 | USER ${TS_USER} 38 | 39 | 40 | ARG BUILD_DATE 41 | ARG VCS_REF 42 | 43 | LABEL org.label-schema.build-date=$BUILD_DATE \ 44 | org.label-schema.docker.dockerfile="/Dockerfile" \ 45 | org.label-schema.license="MIT" \ 46 | org.label-schema.name="Docker Teamspeak" \ 47 | org.label-schema.url="https://github.com/solidnerd/docker-teamspeak/" \ 48 | org.label-schema.vcs-ref=$VCS_REF \ 49 | org.label-schema.vcs-url="https://github.com/solidnerd/docker-teamspeak.git" \ 50 | org.label-schema.vcs-type="Git" 51 | 52 | 53 | EXPOSE 9987/udp 54 | EXPOSE 10011 55 | EXPOSE 30033 56 | 57 | ENTRYPOINT ["./entrypoint.sh"] 58 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2018 Niclas Mietz 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | NAME=teamspeak 2 | VERSION=$(shell cat VERSION) 3 | 4 | build: 5 | docker build -t solidnerd/${NAME}:${VERSION} \ 6 | --build-arg BUILD_DATE="$(shell date +"%Y-%m-%d %H:%M:%S%:z")" \ 7 | --build-arg VCS_REF=$(shell git rev-parse --short HEAD) \ 8 | . 9 | 10 | shell: build 11 | docker run -it --rm ${NAME}:${VERSION} sh 12 | 13 | release: 14 | docker build -t solidnerd/${NAME}:${VERSION} \ 15 | --build-arg BUILD_DATE="$(shell date +"%Y-%m-%d %H:%M:%S%:z")" \ 16 | --build-arg VCS_REF=$(shell git rev-parse --short HEAD) \ 17 | . 18 | docker push solidnerd/${NAME}:${VERSION} 19 | 20 | test: build 21 | docker run -e TS3SERVER_LICENSE=accept --rm -it -p "9987:9987/udp" ${NAME}:${VERSION} 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | docker-teamspeak 2 | ================== 3 | 4 | [![](https://images.microbadger.com/badges/image/solidnerd/teamspeak.svg)](http://microbadger.com/images/solidnerd/teamspeak "Get your own image badge on microbadger.com") [![](https://images.microbadger.com/badges/commit/solidnerd/teamspeak.svg)](https://microbadger.com/images/solidnerd/teamspeak "Get your own commit badge on microbadger.com") 5 | 6 | ## Current Version: [3.13.7](https://github.com/SolidNerd/docker-teamspeak/blob/master/Dockerfile) 7 | 8 | ## Introduction 9 | 10 | A docker container to running a teamspeak server with a SQLite database or a MySQL/MariaDB Database. 11 | 12 | ## Quickstart 13 | 14 | Run the Teamspeak Server with a SQLite Database. 15 | 16 | ``` 17 | docker run -d -e TS3SERVER_LICENSE=accept --name="teamspeak_server" -p "9987:9987/udp" -p 10011:10011 -p 30033:30033 solidnerd/teamspeak:3.12.1 18 | ``` 19 | 20 | ### Receiving Admin Token and Server Query Admin 21 | 22 | To receive this information you need only to run: 23 | ``` 24 | docker logs teamspeak_server 25 | ``` 26 | Now you should see information like this: 27 | 28 | ``` 29 | ------------------------------------------------------------------ 30 | I M P O R T A N T 31 | ------------------------------------------------------------------ 32 | Server Query Admin Account created 33 | loginname= "serveradmin", password= "superSecret" 34 | ------------------------------------------------------------------ 35 | 36 | ------------------------------------------------------------------ 37 | I M P O R T A N T 38 | ------------------------------------------------------------------ 39 | ServerAdmin privilege key created, please use it to gain 40 | serveradmin rights for your virtualserver. please 41 | also check the doc/privilegekey_guide.txt for details. 42 | 43 | token=superSecret 44 | ------------------------------------------------------------------ 45 | 46 | ``` 47 | 48 | ## Start the teamspeak server with a Database 49 | 50 | ### Docker < v1.9 51 | 52 | 1. MariaDB Container: 53 | ``` 54 | docker run -d --name="teamspeak-mysql" -p 3306:3306 -e MYSQL_ROOT_PASSWORD=secret -e MYSQL_DATABASE=teamspeak -e MYSQL_USER=teamspeak -e MYSQL_PASSWORD=secret mariadb 55 | ``` 56 | 2. Teamspeak Server Container : 57 | ``` 58 | docker run -d -e TS3SERVER_LICENSE=accept --name="teamspeak_server" --env-file=.envfile -p "9987:9987/udp" -p 10011:10011 -p 30033:30033 --link teamspeak-mysql:mysql solidnerd/teamspeak:3.12.1 59 | ``` 60 | 61 | ### Docker 1.9+ 62 | 1. Create a shared network: `docker network create teamspeak_nw` 63 | 2. MariaDB container : 64 | 65 | ``` 66 | docker run -d --net teamspeak_nw \ 67 | -e MYSQL_ROOT_PASSWORD=secret \ 68 | -e MYSQL_DATABASE=teamspeak \ 69 | -e MYSQL_USER=teamspeak \ 70 | -e MYSQL_PASSWORD=secret \ 71 | --name="teamspeak-mysql" \ 72 | mariadb 73 | ``` 74 | 3. Create Teamspeak Server Container : 75 | 76 | ``` 77 | docker run -d -e TS3SERVER_LICENSE=accept --net teamspeak_nw --name="teamspeak_server" -p "9987:9987/udp" -p 10011:10011 -p 30033:30033 solidnerd/teamspeak:3.12.1 78 | ``` 79 | 80 | ## Available Environment Variables 81 | 82 | *Please refer the docker run command options for the `--env-file` flag where you can specify all required environment variables in a single file. This will save you from writing a potentially long docker run command. Alternatively you can use docker-compose.* 83 | 84 | Below is the complete list of available options that can be used to customize your TeamSpeak container. 85 | 86 | | Environment Variable | Description | 87 | |-----------|-------------| 88 | | `TS_USER` | User which owns the teamspeak_server pid. Defaults to `teamspeak`| 89 | | `TS_HOME` | Directory of the containing teamspeak file. Defaults to `/teamspeak` | 90 | | `LOG_QUERY_COMMANDS` |Directory of the containing teamspeak file. Defaults to `0` | 91 | | `MACHINE_ID` | Optional name of this server process to identify a group of servers with the same ID. This can be useful when running multiple TeamSpeak 3 Server instances on the same database. Please note that we strongly recommend that you do NOT run multiple server instances on the same SQLite database. Default is `not used`. | 92 | | `TS3_LICENSE_PATH` | The physical path where your license file is located. Default is `Empty`. | 93 | | `DEFAULT_VOICE_PORT` | UDP port open for clients to connect to. This port is used by the first virtual server, subsequently started virtual servers will open on increasing port numbers Defautls to `9987` | 94 | | `VOICE_IP` | IP on which the server instance will listen for incoming voice connections. Defaults to `0.0.0.0` | 95 | | `FILE_TRANSFER_PORT` | TCP Port opened for file transfers. If you specify this parameter, you also need to specify the `FILE_TRANSFER_IP` envoirment variable! Defautls to `30033` | 96 | | `FILE_TRANSFER_IP` | IP on which the file transfers are bound to. If you specify this parameter, you also need to specify the `FILE_TRANSFER_PORT` envoirment variable! Defaults to `0.0.0.0` | 97 | | `QUERY_PORT` |TCP Port opened for file transfers. If you specify this parameter, you also need to specify the `QUERY_IP` envoirment variable! Defautls to `10011` | 98 | | `QUERY_IP` | IP bound for incoming ServerQuery connections. If you specify this parameter, you also need to specify the `QUERY_PORT` envoirment variable! Defaults to `0.0.0.0` | 99 | | `QUERY_IP_WHITELIST` | The file containing whitelisted IP addresses for the ServerQuery interface. All hosts listed in this file will be ignored by the ServerQuery flood protection. Defaults to `query_ip_whitelist.txt` | 100 | | `QUERY_IP_BLACKLIST` | The file containing backlisted IP addresses for the ServerQuery interface. All hosts listed in this file will be ignored by the ServerQuery flood protection. Defaults to `query_ip_blacklist.txt` | 101 | | `LOG_PATH` | The physical path where the server will create logfiles. Defaults to `logs/` | 102 | | `LOG_QUERY_COMMAND` | If set to "1", the server will log every ServerQuery command executed by clients. This can be useful while trying to diagnose several different issues. Defaults to `0` | 103 | | `DB_CLIENT_KEEP_DAYS` | Defines how many days to keep unused client identities. Auto-pruning is triggered on every start and on every new month while the server is running. Defaults to `30`. | 104 | | `LOG_APPEND` | If set to "1", the server will not create a new logfile on every start. Instead, the log output will be appended to the previous logfile. The logfile name will only contain the ID of the virtual server. Defaults to `0`. | 105 | | `QUERY_SKIP_BRUTEFORCE_CHECK` | Defaults to `0`. | 106 | | `TS3_MARIADB_DB` | Name of the Database. Default to `Not Set`. | 107 | | `TS3_MARIADB_USER` | Database User. Default to `Not Set`. | 108 | | `TS3_MARIADB_PASS` | Database User Password. Default to `Not Set`. | 109 | | `TS3_MARIADB_HOST` | Hostname of the DatabaseServer like localhost Default to `Not Set`. | 110 | | `TS3_MARIADB_PORT` | DatabaseServer Port. Default to `Not Set`. | 111 | | `TS3SERVER_LICENSE` | Accepts the teamspeak license. Default to `Not Set`. | 112 | | `LC_ALL` | Overall locale setting (see [Locale](https://wiki.debian.org/Locale)). Default to `en_US.UTF-8`. | 113 | | `LANG` | Language locale setting (see [Locale](https://wiki.debian.org/Locale)). Default to `en_US.UTF-8`. | 114 | 115 | # LICENSE 116 | The MIT License (MIT) 117 | 118 | Copyright (c) 2018 Niclas Mietz 119 | -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | 3.13.7 2 | -------------------------------------------------------------------------------- /entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Set Configuration for Teamspeak in ts3server.ini 4 | # The following Lines will set the ts3server.ini 5 | 6 | cat > ts3server.ini <> ts3server.ini 25 | dbplugin=ts3db_sqlite3 26 | dbpluginparameter= 27 | dbsqlpath=sql/ 28 | dbsqlcreatepath=create_sqlite/ 29 | dbconnections=10 30 | EOF 31 | 32 | else 33 | 34 | cat <> ts3server.ini 35 | dbplugin=ts3db_mariadb 36 | dbpluginparameter=ts3db_mariadb.ini 37 | dbsqlpath=sql/ 38 | dbsqlcreatepath=create_mariadb 39 | EOF 40 | 41 | # Begin ts3db_mariadb.ini 42 | # This writes the database settings for MariaDB 43 | cat > ts3db_mariadb.ini <> ts3server.ini <