Table of Contents
A dashboard written for mrefd 0.5.0+ in Go!
Clone, build, and run!
Install Go 1.19+ according to your platform, directions can be found here
- Clone the repo
git clone https://github.com/kc1awv/gomrefdash.git
- Build the application
make
- Copy gomrefdash.sample.toml and edit to your environment
cp gomrefdash.sample.toml gomrefdash.toml
- Run gomrefdash
./gomrefdash
gomrefdash.toml:
hostport
- the port on which the gomrefdash web server will run
ipv4
- listening IPv4 address of mrefd
ipv6
- listening IPv6 address of mrefd
refresh
- refresh rate of the data on the web pages in seconds
lastheard
- number of stations to show in the last heard list
mreffile
- path to the mrefd XML log file location
mrefpidfile
- path to the PID file for mrefd
email
- reflector sysop's email address
debug
- boolean option to run Gin in debug mode
subpath
- if your dashboard needs to run in a subpath behind a
reverse proxy, e.g. "/reflector" would be http://yourhostname/reflector,
leave blank for no sub path
It is important to note that gomrefdash itself has a web (HTTP) server
built-in. That is what the hostport
defines in the TOML configuration
file. If you are only running gomrefdash, and no other web server, then
hostport
can be defined as a 'standard' HTTP port, such as port 80 -
so long as the user running the gomrefdash service has permission to
run on a port that is below 1024
.
The preferred way to run gomrefdash
is behind a reverse proxy. This alleviates issues of permissions and
system security (we hope you're not running gomrefdash
as root!) as
well as being able to easily enable SSL on a publicly facing web page.
Recommended web servers to use for reverse proxying are nginx, Apache, and Caddy. Please refer to their documentation on how to set up a reverse proxy.
These are some things that aren't officially supported, but you can try it out.
You may wish to to use https://github.com/mfiscus/mrefd-docker which contains both mrefd and the dashboard.
Below are legacy instructions to use the docker solution in this repository.
-
mrefd is already running on the system running docker.
-
You are familiar with docker and it's installed on your system - https://www.docker.com
-
You have docker-compose installed - https://docs.docker.com/compose/install/
-
Copy docker-compose.sample.yml to docker-compose.yml
-
Edit the docker-compose.yml for your environment
-
Run
docker-compose up
You will need to put a proxy in front of your application, or modify the docker-compose file to add nginx or caddy. That is left as an exercise for the admin as the choices are various. Many of us prefer caddy as it has automatic ssl via letsencrypt.
To upgrade, git pull && docker-compose down && docker-compose build && docker-compose up -d
Check with docker-compose logs -f
(hit ctrl-c to stop log streaming)
The makefile has various convience functions:
-
make
(no parameters), builds the binary for your system -
make run
runs the application (without building a binary) -
make docker
builds a docker image with the application -
make clean
cleans old builds -
make package
builds and packages everything up into a tarball for your system
- Beta Release
- Refresh page on log file changes, instead of a meta refresh in browser - thanks KF8S
- Create two-column layout for Modules In Use, instead of a single column
- Add country flags for callsigns
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GPL 3.0 License. See LICENSE.txt
for more information.
Project Link: https://github.com/kc1awv/gomrefdash