ovdashboard/README.md
2022-10-08 02:44:29 +02:00

86 lines
3.5 KiB
Markdown

# OVDashboard
A fancy dashboard for use in a [THW](https://en.wikipedia.org/wiki/Technisches_Hilfswerk)-Ortsverband (OV).
![Screenshot](./doc/ovdashboard_en.jpg)
## Key Features
- **Clean Look** <br />
All that matters, at one glance! <br />
*Date and Time &ndash; Upcoming Events &ndash; Public Announcements &ndash; News &ndash; Pictures*
- **Easy Install** <br />
Set up a RaspberryPi, run the [installer script](TODO), done!
- **DAV Server Interface** <br />
Update your content anytime, from anywhere!
Basic [Markdown](https://www.markdownguide.org/) is enough! <br />
Already have a [Nextcloud](https://nextcloud.com/) instance?
OVDashboard will take it from there!
- **Customizable &ndash; Yet Always Recognizable** <br />
Change the Logo &ndash; Put your own Title &ndash; Publish Pictures &ndash; Create Event Lists &ndash; Customize the News Ticker Appearance &ndash; Adjust Item Rotation Speed
- **Responsive Design** <br />
OVDashboard is made for the big screen &ndash; but it also shines in your visitors' mobile browsers!
- **Locale Aware** <br />
No static strings anywhere &ndash; formats generated using [Luxon](https://moment.github.io/luxon/#/), which [respects your browsers' settings](./doc/ovdashboard_de.jpg)!
- **Hackable** <br />
The Dashboard UI is created using [Vue](https://vuejs.org/) and the [Vuetify](https://vuetifyjs.com/) UI library. <br />
*Like my layout, but want it for something completely different? Fork me!*
## Quick Start
Make sure you have a WebDAV and CalDAV server available.
For an all-in-one solution, consider setting up an account on a [Nextcloud](https://nextcloud.com/) instance!
The intended installation method is as follows:
1. Have a Raspberry Pi (3 or later) connected to a HDMI screen
1. Boot up "Raspberry Pi OS" (64 bit, lite) and connect the Pi to your local network
1. Download (and review) the [OVDashboard installer](TODO), then run it from a terminal
If you feel adventurous and want to skip the script review, run `curl --proto '=https' --tlsv1.2 -sSf 'TODO' | sh` instead.
For a better understanding of your newly created OVDashboard, refer to the [about section](TODO).
## Setup for development and contribution
Refer to the specific README files for [the API](./api/README.md) and [the UI](./ui/README.md) to contribute to one of those sub-projects.
## About the "default" OVDashboard deployment
The default deployment is made up of three parts: The **installer** which runs once, prepares your device for OVDashboard usage and deploys the **client** and the **service**.
The **client** will connect to and display your OVDashboard.
The **service** will run continuously and makes sure your OVDashboard is up to date.
### The OVDashboard installer will:
- install some general-purpose packages
- make you set a new password, if you haven't yet
- install and set up Docker Engine and Mozilla Firefox
- (optionally) enable SSH and/or VNC access to your device
- create the OVDashboard configuration directory `/usr/local/etc/ovdashboard` on your device
- set up the OVDashboard service
- (optionally) set up your device to auto-run the OVDashboard client
### The OVDashboard service will:
- regularly pull the latest `docker` image from [`TODO`](TODO), containing both the OVDashboard API and UI
- ensure a container of that image is always running, using your OVDashboard configuration directory
### The OVDashboard client will:
- open Mozilla Firefox in full-screen mode and browse to the local OVDashboard UI
- enable auto-hiding your mouse cursor