Server Operation
← Back to Server Documentation
Once the RemoteRF server has been setup, along with any optional hosts, configuration and operation of the server can commence.
- Starting the RemoteRF Server
- Essentials
- Managing Devices
- Managing Hosts
- Managing Users
- Managing User Groups
- Managing Enrollment Codes
- Managing Reservations
Starting the RemoteRF Server
Starting the Server
After logging into the computer acting as the RemoteRF server, the RemoteRF server can be started as follows.
First, open a new terminal and activate the remoterf environment via the following.
conda activate remoterfThen, run serverrf to start the server, which should produce an output similar to the following.
Restarting the Server
To restart the server, exit the interactive shell using the exit command and run remoterf again from the terminal.
Factory Resetting the Server
To perform a factory reset of the server’s data, run the db purge command to remove all database entries and hosts wipe to clear host registry states.
Essentials
Printing the Help Screen
Type help, h, or ? to display the full command menu and available operations.
Clearing the Terminal
Use the clear or cls command to clear the interactive shell and reprint the welcome banner.
Checking the Server Status
Run status or server status to view the server’s uptime and binding information for gRPC and certificate services.
Closing the RemoteRF Server
Enter quit, exit, or q to close the interactive shell and terminate the server process.
Managing Devices
Listing All Devices
Run devices list to print a list of all configured devices, including their IDs and names.
Checking Device Status
Use devices status to view real-time connection states, host routes, and last-seen timestamps for all devices.
Adding Devices
See the BLANK page for instructions on connecting new devices to the server.
Removing Devices??
Managing Hosts
Hosts are often lightweight computers, such as the Raspberry Pi, that are responsible for connecting one or more SDRs to the RemoteRF server over Wi-Fi, LAN, or VPN.
Adding a Host
See the BLANK page for instructions on connecting new hosts to the server.
Checking Host Status
Run hosts status to display live host data from the tunnel registry, including online flags, device counts, and last-seen timestamps.
Deleting All Hosts
Use hosts wipe to clear all persisted host/tunnel registry state files and in-memory data. To skip the confirmation prompt, use the -y or --yes flag.
DELETING A SINGLE HOST?
Managing Users
Users connect to the RemoteRF server over their local network or VPN to remotely run experiments on its SDRs.
Listing All Users
Run users list to display a complete list of all registered user accounts.
Managing Individual Users
Run users manage to change user permissions, delete accounts, or manage specific user reservations.
Deleting All Users
Run users purge to permanently remove all user accounts from the RemoteRF server.
Managing User Groups
User groups are used to provide users with certain permissions, such as access to certain SDRs or to certain reservation privileges. User groups can be used by instructors to provide varied access to RemoteRF, depending on what class they are enrolled in. A single student can be part of multiple user groups, with their permissions and priviliges defined by the superset across user groups.
Listing All User Groups
Use the groups list command to view all existing user groups.
Creating a User Group
Run groups create to start the process for setting up a new user group.
Editing a User Group
Use groups edit to modify the settings or members of an existing group.
Deleting a User Group
Run groups delete to select and remove a user group from the system.
Exporting User Groups to a CSV File
Use groups csv to export all user group data to a CSV file in your Downloads folder.
Managing Enrollment Codes
Enrollment codes are required for users to make an account on the RemoteRF server. They can be used by instructors to ensure only certain students have access to the RemoteRF server, such as those enrolled in a particular class, as opposed to anyone on campus. They may also be used to provide users access to certain SDRs and certain reservation privileges by assigning them to certain user groups upon account creation. An enrollment code can be made to be used one or more times and can be set to expire after a certain amount of time after generation.
Listing All Enrollment Codes
Run codes list to view a complete list of all currently active enrollment codes.
Creating Enrollment Codes
Use codes create to start the process of generating new enrollment codes.
Deleting Enrollment Codes
Run codes delete to enter an interactive mode where you can select and remove specific enrollment codes.
Exporting Enrollment Codes to a CSV File
Use codes csv to export the list of enrollment codes to a CSV file, which will be saved to your Downloads directory.
Managing Reservations
In order to access any of the SDRs connected to a RemoteRF server, users must place reservations through the command line interface of the RemoteRF client. A reservation is for a particular time slot (usually 30 minutes or 1 hour) and for a particular SDR. Upon making a reservation, the RemoteRF server issues the user a unique token (random string of characters) that can be used within Python code to access the SDR during the designated time slot. The RemoteRF server maintains a database of these reservations in order to grant access to its SDRs.
Listing All Reservations
Use reservations list to print all reservations ACTIVE OR ALL??
Deleting the Reservation Database
Use db purge to delete all reservations and clear the database.