This readme only contains a detailed explanation of how to set up the WireGuard Portal service on a raspberry pi (>= 3).
You can download prebuild binaries from the release page. If you want to build the binary yourself, use the following instructions:
This section describes how to build the WireGuard Portal code. To compile the final binary, use the Makefile provided in the repository. As WireGuard Portal is written in Go, golang >= 1.16 must be installed prior to building.
make build-cross-plat
The compiled binary and all necessary assets will be located in the dist folder.
- Copy the contents from the dist folder (or from the downloaded zip file) to
/opt/wg-portal
. You can choose a different path as well, but make sure to update the systemd service file accordingly. - Update the provided systemd
wg-portal.service
file:- Make sure that the binary matches the system architecture.
- There are three pre-build binaries available: wg-portal-amd64, wg-portal-arm64 and wg-portal-arm.
- For a raspberry pi use the arm binary if you are using armv7l architecture. If armv8 is used, the arm64 version should work.
- Make sure that the paths to the binary and the working directory are set correctly (defaults to /opt/wg-portal/wg-portal-amd64):
- ConditionPathExists
- WorkingDirectory
- ExecStart
- EnvironmentFile
- Update environment variables in the
wg-portal.env
file to fit your needs
- Make sure that the binary matches the system architecture.
- Make sure that the binary application file is executable
sudo chmod +x /opt/wg-portal/wg-portal-*
- Link the system service file to the correct folder:
sudo ln -s /opt/wg-portal/wg-portal.service /etc/systemd/system/wg-portal.service
- Reload the systemctl daemon:
sudo systemctl daemon-reload
Once the service has been setup, you can simply manage the service using systemctl
:
- Enable on startup:
systemctl enable wg-portal.service
- Start:
systemctl start wg-portal.service
- Stop:
systemctl stop wg-portal.service
- Status:
systemctl status wg-portal.service