[Ts Server on Docker] MMDB environment variable missing

When using the “normal” teamspeak server, you can use the -mmdbpath parameter to use a custom GeoIP database file (like maxminddb).

When using the docker version of the teamspeak server, I can mount the file by using volumes, but there is no enviroment variable to load the file (at least it is not documented on the TeamSpeak DockerHub page).

It would be nice if an environment variable would be added.

When using compose simply use command: ts3server mmdbpath=<path-to-mounted-file>.mmdb.

Without compose just put this command at the end of the docker run cmd.

Have you tried it @der_kobold?
It is not working for me.

docker-compose.yaml:

volumes:
      - "./data_ts:/var/ts3server"
      - "/usr/share/GeoIP/GeoLite2-Country.mmdb:/opt/GeoLite2-Country.mmdb"
command: ts3server mmdbpath=/opt/GeoLite2-Country.mmdb

log file:
teamspeak_server | 2022-10-24 14:24:41.337871|WARNING |GeoIP | |maxminddb library not found, disabling MMDB usage

Inside the docker container:

Any ideas?

The reason why it is not working is because the mmdb library, not the mmdb database itself, is missing inside the container.

I created a ticket (mmdbpath parameter not working · Issue #95 · TeamSpeak-Systems/teamspeak-linux-docker-images · GitHub).

I made my own Dockerfile to fix the problem:

FROM teamspeak:3.13.7
ENV MAXMIND_VERSION=1.7.1
RUN set -x \
  && apk add --no-cache --virtual .build-deps \
    alpine-sdk \
    perl \
  && wget https://github.com/maxmind/libmaxminddb/releases/download/${MAXMIND_VERSION}/libmaxminddb-${MAXMIND_VERSION}.tar.gz \
  && tar xf libmaxminddb-${MAXMIND_VERSION}.tar.gz \
  && cd libmaxminddb-${MAXMIND_VERSION} \
  && ./configure \
  && make \
  && make check \
  && make install \
  && apk del .build-deps
RUN ldconfig || :
1 Like
twitch instagram twitter facebook