api | ||
deploy | ||
doc | ||
ui | ||
.dockerignore | ||
.drone.yml | ||
Dockerfile | ||
LICENSE | ||
README.md |
OVDashboard
A fancy dashboard for use in a THW-Ortsverband (OV).
Key Features
-
Clean Look
All that matters, at one glance!
Date and Time – Upcoming Events – Public Announcements – News – Pictures -
Easy Install
Set up a RaspberryPi, run the installer script, done! -
DAV Server Interface
Update your content anytime, from anywhere! Basic Markdown is enough!
Already have a Nextcloud instance? OVDashboard will take it from there! -
Customizable – Yet Always Recognizable
Change the Logo – Put your own Title – Publish Pictures – Create Event Lists – Customize the News Ticker Appearance – Adjust Item Rotation Speed -
Responsive Design
OVDashboard is made for the big screen – but it also shines in your visitors' mobile browsers! -
Locale Aware
No localized strings anywhere – formats generated using Luxon, which respects your browsers' settings! -
Hackable
The Dashboard UI is created using Vue and the Vuetify UI library.
Like my layout, but want it for something completely different? Fork me!
Quick Start
Prerequisites
Make sure you have a WebDAV and CalDAV account available.
For an all-in-one solution, consider setting up an account on a Nextcloud instance!
On your WebDAV account, create a resource (directory) named ovdashboard
1.
Your target device should be a Raspberry Pi Model 3 or later2. You will need some accessories:
- microSD card, class 10 or UHS (min. 8 GB)
- network connectivity (bring WiFi credentials if applicable)
- connection to a HDMI screen
It is also heavily advisable that you log into your device using SSH, so you should get another device (PC, tablet or smartphone) onto the same network as your OVDashboard.
Install Base System
OVDashboard is designed to run on a DietPi
installation. Full installation documentation is available at dietpi.com. To quickly get up and running:
- Download Image from dietpi.com/#download
- Uncompress Image and flash onto SD card – you might need "7zip", "balenaEtcher" and/or other tools
- Check the SD card, open "dietpi.txt" and change some options (full documentation here):
- For WiFi, use
AUTO_SETUP_NET_WIFI_ENABLED=1
andAUTO_SETUP_NET_WIFI_COUNTRY_CODE=DE
, and also edit "dietpi-wifi.txt" likeaWIFI_SSID[0]='OV WLAN'
andaWIFI_KEY[0]='Strong_pa55w0rd'
- System options, e.g.
AUTO_SETUP_AUTOMATED=1
,AUTO_SETUP_NET_HOSTNAME=OVDashboard
,AUTO_SETUP_GLOBAL_PASSWORD=dietpi
,AUTO_SETUP_LOCALE=de_DE.UTF-8
,AUTO_SETUP_KEYBOARD_LAYOUT=de
,AUTO_SETUP_TIMEZONE=Europe/Berlin
,CONFIG_SERIAL_CONSOLE_ENABLE=0
- For WiFi, use
- Be sure to at least change the password (and remember it 🙂️), then put the SD card into your device and boot it. Let the first time setup finish, it will take a bit. It will let you know when it is done!
- Log into your device using SSH. By default, that's user name
root
and passworddietpi
Install OVDashboard
Download (and review) the OVDashboard install script, then run it from a terminal.
This can all be done after logging into your prepared device:
- The safe way:
- download:
wget 'https://code.yavook.de/OEKZident.de/ovdashboard/raw/branch/master/deploy/install.sh'
- read/edit:
nano install.sh
- execute:
sh install.sh
- download:
- If you feel adventurous and do not want to review the script, just run
sh <( curl --proto '=https' --tlsv1.2 -sSf 'https://code.yavook.de/OEKZident.de/ovdashboard/raw/branch/master/deploy/install.sh' )
There will be some prompts during installation.
- DietPi might ask: "Would you like DietPi to apply the recommended GPU memory split?". Choose Yes.
- DietPi will ask: "Would you like to configure the DietPi-AutoStart option?". Cancel that, this choice does not matter as it is changed by the installer.
- DietPi will ask: "Would you like to join DietPi-Survey?". It's up to you, but I'd suggest to opt OUT.
- The installer will ask for the connected screen's resolution. The default values should be fine, you can likely just hit Return here.
- The installer will ask for "display languages". This will affect some details on the connected screen.
For German, enterde-DE,de,en-US,en
.- The installer will ask you to "review the Docker Compose file" before starting the services. You will want to edit
WEBDAV__HOST
,WEBDAV__USERNAME
andWEBDAV__PASSWORD
at least.
Refer to the "Settings" for the full list of options.
Afterwards, reboot your device (reboot
in the terminal).
If the install was successful, your OVDashboard should be showing up on the connected screen after rebooting.
You will also be able to view your OVDashboard on any webbrowser in your network using
http://<device-ip>
.
The device IP is displayed in the lower right region of the OVDashboard.
For a better understanding of your newly created OVDashboard, refer to the about section.
Configuration
"Config" in your WebDAV share: config.txt
"Settings" on your Device: /opt/ovdashboard/docker-compose.yml
Updating your Device
Setup for development and contribution
Refer to the specific README files for the API and the UI to contribute to one of those sub-projects.
About the "default" OVDashboard deployment
Running the installer script carries out the following actions:
- install Chromium-Browser, Docker and Docker Compose
- create the OVDashboard project at
/opt/ovdashboard
- start the OVDashboard project, this deploys the
ovdashboard
service fromcode.yavook.de
and aredis
instance to your device - set up your device to auto-boot into Chromium "kiosk" mode to display the local OVDashboard