Install TeamSpeak Server on Raspberry Pi

By default you can’t install TeamSpeak Server on a Raspberry Pi. That’s because TeamSpeak is made for x86 processors and Raspberry Pi only comes with ARM processors.

To install TeamSpeak Server on a Raspberry Pi you need to install an emulator. In other words you have to make your ARM processor understand packages made for x86 processors.

In this guide I will use the Box86 emulator.

Setup the Raspberry Pi for Box86

1: First we have to update the system with these two commands:

sudo apt update
sudo apt upgrade

2: Now we need to install all the necessary packages to compile Box86:

sudo apt install git build-essential cmake

3: Now clone the latest GitHub version:

git clone https://github.com/ptitSeb/box86

If you have a 64-bit operating system follow these steps. If your operating system is 32-bit; don’t!

(4): Add the 32-bit architecture to the package manager:

sudo dpkg --add-architecture armhf

(5): Update the package manager:

sudo apt update

(6): Install the needed packages:

sudo apt install gcc-arm-linux-gnueabihf libc6:armhf libncurses5:armhf libstdc++6:armhf
Compile Box86

1: Change into the driectory where we downloaded Box86 to:

cd ~/box86

2: Make a new directory called ‘Build’ and change into it:

mkdir build
cd build

3: Now choose the right command for your Raspberry Pi and OS:

For Raspberry Pi 4, 32-bit:

cmake .. -DRPI4=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

For Raspberry Pi 4, 64-bit:

cmake .. -DRPI4ARM64=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

For Raspberry Pi 3:

cmake .. -DRPI3=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

For Raspberry Pi 2:

cmake .. -DRPI2=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

4: Now we have to compile Box86. This can take a very long time!

make -j$(nproc)

5: Once finished we have to install the compiled Box86 emulator:

sudo make install

6: Now we have to restart the systemd-binfmt service:

sudo systemctl restart systemd-binfmt

7: All we have to do now is reboot:

sudo reboot
Setup and install TeamSpeak Server

1: Start by updating:

sudo apt update
sudo apt upgrade

2: Install ‘jq’:

sudo apt install jq

3: Create user ‘teamspeak’:

sudo adduser teamspeak

Just hit Enter and skip through and confirm with Y(es).

4: Switch user to ‘teamspeak’:

sudo su - teamspeak

5: Download the latest Linux x86 version of TeamSpeak Server:

wget $(curl -Ls 'https://www.teamspeak.com/versions/server.json' | jq -r '.linux.x86.mirrors | values[]')

6: Extract the downloaded package:

tar xvf teamspeak3-server_linux_x86-*

7: Remove the package from where we extracted:

rm teamspeak3-server_linux_x86-*

8: Change into the TeamSpeak Server directory:

cd teamspeak3-server_linux_x86

9: If you agree to the TeamSpeak license agreement:

touch .ts3server_license_accepted

10: Start the server for the first time:

./ts3server

11: On the first startup it will post an admin token (privilege key) that you will need later in the TeamSpeak Client.
Copy it and save it!

12: When you have copied the token you can shutdown the server for now by pressing Ctrl+C

13: Exit the ‘teamspeak’ user:

exit
Configure the server to start at boot/reboot

1: Create a service file:

sudo nano /etc/systemd/system/teamspeak3.service

2: Copy-paste the following into the service file:

[Unit]
Description=TeamSpeak 3 Server
After=network.target

[Service]
WorkingDirectory=/home/teamspeak/teamspeak3-server_linux_x86/
User=teamspeak
ExecStart=/home/teamspeak/teamspeak3-server_linux_x86/ts3server
Restart=always
RestartSec=15
Restart=on-failure

[Install]
WantedBy=multi-user.target

3: Save and exit the file by pressing Ctrl+X, then Y and then Enter.

4: Reload systemctl daemon:

sudo systemctl daemon-reload

5: Enable the TeamSpeak Server service:

sudo systemctl enable teamspeak3

6: Start the TeamSpeak Server:

sudo systemctl start teamspeak3

7: Check the status of the TeamSpeak Server:

sudo systemctl status teamspeak3

8: Exit by pressing Ctrl+C

Conclusion

Congratulations! If you have followed every step of this tutorial you should now have a working TeamSpeak3 Server running on your Raspberry Pi.

If you have any questions or comments please post them below.

Versions

1.0 28-09-2022 First post

Configure Pi-hole with Apache

Follow these simple steps if you wan’t to set up Pi-hole on an existing Apache web server or if you wan’t to install Apache later on.

If you have allready installed Pi-hole with the included lighttpd web server this will not work.

Run the Pi-hole install:

curl -sSL https://install.pi-hole.net | bash

When asked “Do you wish to install the web server” select “No”.

Finish the Pi-hole installation process and run:

sudo usermod -a -G pihole www-data

Then install sqlite3:

sudo apt install php-sqlite3

Restart Apache:

sudo service apache2 restart

If you don’t allready have PHP installed you will also need to run:

sudo apt install php libapache2-mod-php

And restart Apache again:

sudo service apache2 restart

If you have successfully set up Pi-hole with Apache the address http://ip-address/admin should now work.