This project sets up a Roon Server with options for Stable or EarlyAccess versions, alongside a Tailscale integration for secure remote access. The setup includes ipvlan/macvlan network isolation.
- Stable or EarlyAccess Version: Choose which version of Roon to run by specifying the version in the docker-compose file.
- Tailscale Integration: Optionally start and configure Tailscale through the docker-compose configuration.
- Network Isolation: Instructions for setting up network isolation using ipvlan/macvlan.
- Reusable Tailscale API Keys: Generate reusable keys without expiry and manage API keys effectively.
In the docker-compose.yaml, you can define which version of Roon Server to use by setting the ROON_VERSION environment variable:
environment:
- ROON_VERSION=Stable # Set to 'Stable' or 'EarlyAccess' to choose the versionTo enable Tailscale, set the ENABLE_TAILSCALE environment variable to true:
environment:
- ENABLE_TAILSCALE=true
- TAILSCALE_AUTHKEY=your_tailscale_authkey # Authentication key for Tailscale
- TAILSCALE_EXTRA_ARGS=--reset --accept-routes # Additional arguments for TailscaleWhen Tailscale is enabled, it will automatically start when the container is launched.
In the docker-compose file, use these variables to configure Tailscale:
TAILSCALE_AUTHKEY: Your Tailscale API key for authentication.TAILSCALE_EXTRA_ARGS: Additional arguments for more granular control of Tailscale.
For advanced network isolation, you can use ipvlan or macvlan. Here's an example of configuring macvlan in the docker-compose.yaml:
networks:
vlan:
driver: macvlan
driver_opts:
parent: eth0
ipam:
config:
- subnet: 192.168.1.0/24
gateway: 192.168.1.1This will isolate the container at Layer 2 of the network and assign it a dedicated IP address.
Run the following to create a macvlan network:
docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 vlanThis allows the container to operate on its own IP address, separated from the Docker host's network stack.
To create reusable Tailscale API keys without expiry:
- Log into your Tailscale admin console.
- Go to the "Keys" section.
- Create a new key and mark it as reusable (non-expiring).
- Use this key in the
TAILSCALE_AUTHKEYenvironment variable in thedocker-compose.yaml.
To revoke a key, simply remove it from the Tailscale admin console.
- Clone this repository.
- Update the
docker-compose.yamlfile with your configuration. - Run the following command to start:
docker-compose up -dThat's it! You're now running Roon Server with Tailscale integration.
14/11/2024 Version 1.2 : Update to debian 12.8-slim
05/11/2024 Version 1.1 : Updated ffmpeg to 7.1 and debian to 12.7-slim