Gatecounter service added Gatecounter db now initialized by the gatecounter itself courtesy of SQLAlchemy
Gate Counter Dashboard
This repository contains code to implement the HCCC Library GateCounter with Grafana for data display
Before You Begin
You will need a Raspberry Pi or comparable board running Linux. Download and install Docker and Docker-compose following the instructions for your OS:
or, if you have a Debian-based Linux on your Pi, e.g. Raspbian, run the included setup script ./install-docker.sh
Please also, in a developer's text editor e.g. NotePad++ or Microsoft Visual Studio Code, read through docker-compose.yaml to make sure you understand it. Before starting your stack, you will need to
- Register for DuckDNS and have your subdomain name and token ready
- Make sure ports 80 and 443 are accessible on your host machine and your machine has a connection to the Internet
- Copy .env.template to .env with
cp .env.template .envDO NOT COMMIT AND PUSH .env TO A PUBLIC GIT REPOSITORY UNLESS YOU WANT TO GET HACKED!!! - Edit the files .env, .configs/traefik.toml, and .configs/grafana.ini, updating configuration values with your desired configuration
- Run
docker-compose configfrom this directory to doublecheck that docker-compose.yaml file contains no syntax errors and that all your options from .env were correctly filled in
Creating Your Stack
Run docker-compose up -d to start everything
Starting/Stopping/Restarting your stack or parts of it
To Stop or (re)Start a container in your stack without removing it, run docker-compose stop grafana replacing stop and grafana with the command and name of the container you wish to stop/start/restart.
Updating Containers in Your Stack
Run the following commands to update the images your containers use and recreate/restart the containers using them
docker-compose pull
docker-compose up -d
docker image prune -f
Removing a Single Container Without Removing Data Persisted in Docker Volumes
Run docker-compose rm -s grafana replacing grafana with the name of the service you wish to stop and remove without removing its persistent data. docker-compose rm -s -v grafana will stop and remove the container and any unnamed (not specified in docker-compose.yaml file) volumes connected to it. To remove just a named volume, run docker volume rm grafana_provisioning replacing grafana_provisioning with the name of the volume you want to remove. You can view all volumes with docker volume ls.
Removing Your Stack Completely
Run docker-compose down to stop and remove all containers in your stack without removing their persistent data in named volumes. You can run docker-compose down -v to remove all containers AND all named volumes. WARNING: this will permanently remove data stored in docker volumes, but not data stored in mapped folders/files. If you don't want to lose this data, either back it up first, or follow the instructions in the above section.