diff --git a/README.md b/README.md index 9c90e8b4..d5a7ad4e 100644 --- a/README.md +++ b/README.md @@ -4,23 +4,43 @@ --- -## Developing 🧱 +## Running the App -Project structure is fairly standard, to run it locally, just `git clone`, `cd` into it, `yarn install` the dependencies, and then run one of the following: +### Deploying 🚀 +- Get Code: `git clone git@github.com:Lissy93/dashy.git` and `cd dashy` +- Configuration: Fill in you're settings in `./public/conf.yml` +- Install dependencies: `yarn` +- Build: `yarn build` +- Run: `yarn start` -- `yarn run dev` - Starts dev server, with hot-reload, and diff-linting -- `yarn run build` - Compiles and minifies for production -- `yarn run start` - Will serve up the **built** production app from the `dist` dir -- `yarn run lint` - Lints and fixes files -- `yarn run test` - Runs all tests +### Deploying with Docker 🐳 +- Get Code: `git clone git@github.com:Lissy93/dashy.git` and `cd dashy` +- Configuration: Fill in you're settings in `./public/conf.yml` +- Build: `docker build -t lissy93/dashy .` +- Start: `docker run -it -p 8080:80 --rm --name my-dashboard lissy93/dashy` + +### Developing 🧱 +- Get Code: `git clone git@github.com:Lissy93/dashy.git` and `cd dashy` +- Install dependencies: `yarn` +- Start dev server: `yarn dev` --- -## Configuring +## Configuring 🔧 + +### Config Locations + +Configuration files are located in `./public/`. +- `./public/conf.yml` - This is the main site configuration file, and is required for the app to work +- `./public/item-icons` - If you're using custom icons for your items, then store these here. You can use sub-folders to keep things organised +- `./public/logo.png` - Optionally add a logo image for you're website, which will show in the top left + +Also within `./public` you'll find normal website assets, including `favicon.ico`, `manifest.json`, `robots.txt` and `web-icons/*`. There's no need to modify these, but you can do so if you wish. + +### The conf.yml File + +This is where all site configuration is stored -- Data for the tiles is specified in [`src/data/item-data.json`](https://github.com/Lissy93/server-start-page/blob/master/src/data/item-data.json). -- Image assets are stored in [`public/img/item-icons/`](https://github.com/Lissy93/server-start-page/tree/master/public/img/item-icons), you can either use font-awesome, the pre-configured gradient icons, or add your own. -- The color scheme is defined as SCSS variables in [`src/styles/color-pallet.scss`](https://github.com/Lissy93/server-start-page/blob/master/src/styles/color-pallet.scss). --- diff --git a/public/conf.yml b/public/conf.yml index f91da606..851a8af2 100644 --- a/public/conf.yml +++ b/public/conf.yml @@ -1,158 +1,4 @@ --- pageInfo: - title: Hello World - description: 'This is a demo' -sections: -- name: Firewall - items: - - title: OPNsense - description: Firewall Central Management - icon: networking/opnsense.png - target: iframe - url: https://192.168.1.1 - - title: NetData - description: System resource usage on firewall - icon: networking/netdata.png - url: http://192.168.1.1:19999/ - - title: MalTrail - description: Malicious traffic detection system - icon: networking/maltrail.png - url: http://192.168.1.1:8338 - - title: Ntopng - description: Network traffic probe and network use monitor - icon: networking/ntop.png - url: http://192.168.1.1:3001 - - title: Sensei - description: Additional data features - icon: networking/sensei.png - url: https://192.168.1.1/ui/sensei/ - - title: Monit - description: Status of firewall system alerts - icon: networking/monit.png - url: https://192.168.1.1/ui/monit/status - - title: Firewall Logs - description: Real-time view of firewall data and logs - icon: networking/logs.png - url: https://192.168.1.1/ui/diagnostics/firewall/log - - title: WireGuard - description: Manage WireGuard client and server on firewall - icon: networking/wireguard.png - url: https://192.168.1.1/ui/wireguard/general -- name: DNS Device - displayData: - collapsed: false - rows: 2 - items: - - title: Pi-Hole - description: DNS settings for ad & tracker blocking - icon: networking/pihole.png - url: http://192.168.130.2/admin - - title: PiAlert - description: Presence monitoring and ARP scanning - icon: networking/pialert.png - url: http://192.168.130.2/pialert/ - - title: SmokePing - description: Network latency monitoring - icon: networking/smokeping.png - url: http://192.168.130.2:8086/ - - title: StatPing - description: Up-time monitoring for local service - icon: networking/statping.png - url: http://192.168.130.2:8083/ - - title: LibreSpeed - description: Local network speed and latency test - icon: networking/librespeed.png - url: http://192.168.130.2:49154/ - - title: NetData - description: Real-time system resource usage - icon: networking/netdata.png - url: http://192.168.130.2:19999 - - title: Portainer - description: Docker container management - icon: networking/portainer.png - url: http://192.168.130.2:9000/ - - title: cAdvisor - description: Container monitoring - icon: networking/cadvisor.png - url: http://192.168.130.2:8084/ - - title: Glances - description: Simple resource usage - icon: networking/glances.png - url: http://192.168.130.2:61208 - - title: Dozzle - description: Docker container web log viewer - icon: networking/dozzle.png - url: http://192.168.130.2:8093 - - title: Prometheus - description: System Statistics Aggregation with PromQL - icon: networking/prometheus.png - url: http://192.168.130.2:8090/ - - title: Grafana - description: Data visualised on dashboards - icon: networking/grafana.png - url: http://192.168.130.2:8091/ -- name: External Services - items: - - title: DuckDNS - description: Dynamic DNS for fixed public IP - icon: networking/duckdns.png - url: https://www.duckdns.org/ - - title: BorgBase - description: Off-site system Borg backups - icon: networking/borgbase.png - url: https://www.borgbase.com/repositories - - title: Mullvad - description: Hosted VPN provider - icon: networking/mullvad.png - url: https://mullvad.net/en/account/ - - title: ZeroTier - description: Secure networks between devices - icon: networking/zeroteir.png - url: https://my.zerotier.com/ - - title: HealthChecks - description: Cron Job Monitoring - icon: networking/healthchecks.png - url: https://healthchecks.io/checks/ - - title: ISP - Vodafone - description: Broadband internet provider - icon: networking/vodafone.png - url: https://myaccount.vodafone.co.uk/ -- name: Other Devices - items: - - title: Modem - description: ISP Router Modem Combo - icon: '' - url: http://192.168.1.5 - - title: Wireless Access Point - description: View clients connected to WiFi - icon: '' - url: http://192.168.1.109/info.php - - title: Fing - description: Monitor connectivity issues, ISP quality, health checks and troubleshooting - provider: Fing - icon: '' - url: https://app.fing.com/ - - title: Switch - description: Manage VLANs on Ubiquity Ethernet switch - icon: '' - url: "#" -- name: External Utilities - displayData: - collapsed: true - items: - - title: Public IP - description: Check public IP and associated data - icon: '' - url: https://www.whatismyip.com/ - - title: Who Is Lookup - description: Check ICAN info for a given IP address or domain - icon: '' - url: https://whois.domaintools.com/ - - title: Speed Test - description: Upload + download speeds and latency - icon: '' - url: https://speed.cloudflare.com/ - - title: Mullvad Check - description: Confirms a secure connection to Mullvad's WireGuard servers - icon: '' - url: https://mullvad.net/check + title: Dashy +sections: \ No newline at end of file diff --git a/public/index.html b/public/index.html index e83a9088..c6fb3383 100644 --- a/public/index.html +++ b/public/index.html @@ -8,7 +8,7 @@ - Dashie + Dashy diff --git a/public/manifest.json b/public/manifest.json index 345488d3..958cd3a0 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,6 +1,6 @@ { - "name": "Dashie", - "short_name": "Dashie", + "name": "Dashy", + "short_name": "Dashy", "icons": [ { "src": "./web-icons/android-chrome-192x192.png",