9 hours ago9 hr Before starting the installation, you should decide which ports you will use for your Spokes server.1. Choose Your PortsYou will need to select ports that are available on your system and network. - WebUI PortChoose a port for accessing the Spokes WebUI.- Voice TCP Fallback Port (Required for Voice & Video chat)This is the port LiveKit (Voice & Video engine) uses when it cannot establish a UDP connection. By default, the template assumes 7881. - Voice UDP Port Range (Required for Voice & Video chat)This is the port range LiveKit (Voice & Video engine) uses to establish connections between the users and the server.By default, the template assumes 50000-50499.WARNING: The LiveKit ports MUST be mapped 1-to-1-to-1 Spokes embeds the LiveKit engine for real-time communication. LiveKit explicitly advertises its internal bound port to external clients during the WebRTC handshake. Because of this, the port mapping must be identical across your entire network path: Router Port = Host Port = Container Port.If your router translates ports (e.g., forwarding WAN port `40000` to internal host port `50000`), the voice and video connection will instantly fail.---2. Unraid SetupInstall the App from Community Applications1. Go to the Apps tab.2. Search for Spokes and click Install.Configuring the ContainerWebUI Port: Enter the WebUI port you chose in Step 1.App Data Path: This is the path where all of Spokes data will live.Master Password: Used to manage encryption for public channels. You should generate a strong, random, and long string for this value.Voice TCP Fallback Port / Voice UDP Port Range: Enter the ports you chose in Step 1.WARNING: If you decide to use different voice and video ports than the default (`7881` and `50000-50499`), you MUST delete the original mapping and create your own.Click "Remove" on both the "Voice TCP FallBack Port" and the "Voice UDP Port Range".Click on "Add another Path, Port, Variable, Label or Device".Your config should look like the images below.Example of a WRONG configurationThe host ports for voice TCP and voice UDP don't match the container ports.Example of a CORRECT configurationThe host ports for voice TCP and voice UDP match the container ports.---3. Going Through the Setup WizardOpen the Spokes WebUIAgree to the EULA and continueChoosing a Server Name and Logo- This can all be done in the settings once the server is up and running.- The logo is used inside the app and should be fairly high resolution.- The icon is used as a favicon for the browser.- You can upload the same file to both the logo and icon.License Setup- Spokes has a 2-month free trial. During the trial, the app is fully featured and is not limited in any way. Once the trial ends, the app remains fully featured and you only lose the ability to update your server. You are free to keep using the trial version forever.- If you want to keep receiving updates, you can buy and upload a license file at a later date.- For now, you can press "SKIP".Network Setup- Set your server's public URL.- Set the exact same port numbers you chose in step 1.Note: The ports must match the ones set in the container settings. These ports are only used for voice and video chat. If you don't care about that, the rest of Spokes will work just fine even if these ports are not properly configured.Identity Provider Setup- If you already have your own identity provider setup (like Authentik, Authelia, Keycloak, etc.), you should choose the External Provider option.- If you don't have your own identity provider setup, you should choose the Built-In identity option.Built-in IdentitySpokes offers a zero-configuration identity solution by bundling an embedded instance of Casdoor inside the Spokes container and configuring it automatically.- The Casdoor instance inside Spokes can then act as an identity provider for other apps you self-host.- Casdoor is highly customizable and can be configured to do pretty much anything you would want your identity provider to do.External ProviderYou can use your existing identity provider with Spokes. Built-in Identity SetupTipCasdoor has 2 layers of Admin: The global organization and the Spokes organization. Any member of the global organization is automatically an Admin of the whole instance. From my experience, you basically never have to use the global admin account.Global Admin Setup- Set a password for your global admin account. The password should be secure. This account can access everything in Casdoor.Spokes Admin SetupThis is the admin account for the Spokes organization in Casdoor and also your admin account in Spokes.- Set the username.- Set the password. The password should be secure. This account is your Spokes admin account.External Identity Provider Setup (Alternative)If you chose an external identity provider, you need to configure it here.Complete the Setup Wizard- Make sure you saved your passwords somewhere safe.- Click on Restart server now.Login- You will be redirected to the login page.- Login to your Spokes server using your Spokes admin account. (Or any valid account on your Identity provider) 4. Welcome to Spokes!Configuring Casdoor (Creating New Users)Open the Casdoor Admin Page : - Go to the Members & Groups page in Spokes. (Accessible through the sidebar)- Click on the Open Casdoor button in the top right of the page.- Navigate to the Users Page and click Add- Create the User. (The name should be in lowercase)- Click save and then set the password.TIP: The user avatar inside Casdoor is never used in Spokes. Users can set their avatar directly inside Spokes later.TIP: Emails are only important if you plan on using Casdoor's more advanced features.Casdoor Global AdminThe global built-in administrator for Casdoor is accessible at "https://yourserverurl.com/login". It is easiest to access from an incognito window.--- 5. Reverse Proxy Configuration- Websockets Support is crucial for real-time chat and LiveKit signaling.- Block Common Exploits enabled is recommended.- HTTP/2 Support enabled is recommended.--- 6. Router ConfigurationThe following instructions apply to most decent routers (the screenshot is taken from pfSense). Please substitute the port numbers in the example for the ones you chose to use in your setup.- You need to forward TCP traffic coming to your WAN address on your chosen Voice TCP Fallback Port (e.g., `7881`) to your Unraid server on the same port.- You need to forward UDP traffic coming to your WAN address on your chosen Voice UDP Port Range (e.g., `50000 - 50499`) to your Unraid server on the same port range.WARNING:As mentioned in step 1, ports must be mapped 1 to 1 to 1. For example, for the TCP fallback port: `7881` on your Router's WAN IP must be forwarded to `7881` on your Host IP, which must be mapped to `7881` on your Container.If your Unraid server is on the same local network as some users:- You need NAT reflections to be enabled on your router.You should now have a fully working Spokes instance.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.