Starting from v2, each [release](https://github.com/h44z/wg-portal/releases) includes compiled binaries for supported platforms. These binary versions can be manually downloaded and installed. ## Download Make sure that you download the correct binary for your architecture. The available binaries are: - `wg-portal_linux_amd64` - Linux x86_64 - `wg-portal_linux_arm64` - Linux ARM 64-bit - `wg-portal_linux_arm_v7` - Linux ARM 32-bit ### Released versions To download a specific version, replace `${WG_PORTAL_VERSION}` with the desired version (or set an environment variable). All official release versions can be found on the [GitHub Releases Page](https://github.com/h44z/wg-portal/releases). With `curl`: ```shell curl -L -o wg-portal https://github.com/h44z/wg-portal/releases/download/${WG_PORTAL_VERSION}/wg-portal_linux_amd64 ``` With `wget`: ```shell wget -O wg-portal https://github.com/h44z/wg-portal/releases/download/${WG_PORTAL_VERSION}/wg-portal_linux_amd64 ``` with `gh cli`: ```shell gh release download ${WG_PORTAL_VERSION} --repo h44z/wg-portal --output wg-portal --pattern '*amd64' ``` The downloaded file will be named `wg-portal` and can be moved to a directory of your choice, see [Install](#install) for more information. ### Unreleased versions (master branch builds) Unreleased versions can be fetched directly from the artifacts section of the [GitHub Workflow](https://github.com/h44z/wg-portal/actions/workflows/docker-publish.yml?query=branch%3Amaster). ## Install The following command can be used to install the downloaded binary (`wg-portal`) to `/opt/wg-portal/wg-portal`. It ensures that the binary is executable. ```shell sudo mkdir -p /opt/wg-portal sudo install wg-portal /opt/wg-portal/ ``` To handle tasks such as restarting the service or configuring automatic startup, it is recommended to use a process manager like [systemd](https://systemd.io/). Refer to [Systemd Service Setup](#systemd-service-setup) for instructions. ## Systemd Integration > **Note:** To run WireGuard Portal as systemd service, you need to download the binary for your architecture beforehand. > > The following examples assume that you downloaded the binary to `/opt/wg-portal/wg-portal`. > The configuration file is expected to be located at `/opt/wg-portal/config.yml`. ### Limit Systemd-Networkd Management Scope If you are using `systemd-networkd` to manage the rest of your network configuration, you will need to ensure it doesn't remove routing policy created by `wg-portal` when it restarts: ```shell sudo mkdir --parents /etc/systemd/networkd.conf.d/ sudo tee --append /etc/systemd/networkd.conf.d/foreign-routing.conf <