diff --git a/README.md b/README.md new file mode 100644 index 0000000..288c762 --- /dev/null +++ b/README.md @@ -0,0 +1,26 @@ +# Homepage Configuration + +This repository contains the configuration files for a [Homepage](https://gethomepage.dev/) instance, a modern, fully static, fast, secure, and highly customizable application dashboard. + +## Configuration Overview + +The configuration is split across several YAML files, each responsible for a different aspect of the dashboard. + +* **`services.yaml`**: Defines the main services and applications displayed on the dashboard. Each service can have a name, description, icon, link, and an associated widget. +* **`widgets.yaml`**: Configures standalone informational widgets, such as the weather forecast (`openmeteo`) and a digital clock (`datetime`). +* **`bookmarks.yaml`**: Manages the bookmarks section, organized into groups for easy access to frequently used sites. +* **`docker.yaml`**: Sets up the connection to Docker hosts, allowing Homepage to display container statuses and provide quick actions. +* **`settings.yaml`**: Contains global settings for the dashboard, such as the visual theme (`dark`). +* **`.env`**: Stores all secrets, API keys, and environment-specific URLs. This file is intentionally excluded from version control by `.gitignore` to keep sensitive information secure. +* **`.env.example`**: A template file that shows which environment variables are required for the configuration to work correctly. + +### Using Environment Variables + +This configuration makes extensive use of variables to separate secrets and environment-specific values from the main configuration. In files like [`services.yaml`](homepage/services.yaml), you will see placeholders like `{{HOMEPAGE_VAR_PROXMOX_URL}}`. + +Homepage automatically replaces these placeholders with the corresponding values defined in the [`.env`](homepage/.env) file. This approach allows for a clean, portable, and secure configuration, as sensitive data is not hardcoded and can be easily managed without altering the core YAML files. + +To use this configuration, you would need to: +1. Copy [`.env.example`](homepage/.env.example) to `.env`. +2. Fill in the `.env` file with your specific URLs, API keys, and credentials. +3. Ensure your Homepage instance is configured to use this directory for its configuration. \ No newline at end of file diff --git a/bookmarks.yaml b/bookmarks.yaml index fbd079b..ba1344b 100644 --- a/bookmarks.yaml +++ b/bookmarks.yaml @@ -60,19 +60,19 @@ href: https://gemini.google.com/app?hl=en description: Gemini chat -# - Zabbix: -# - Prod: -# - icon: zabbix -# href: https://zabbix.xopek.co.uk/ +- Useful: + - Vaultwarden: + - icon: vaultwarden + href: https://pass.mbuz.uk/ -# - Test 7.0: -# - icon: zabbix -# href: http://10.0.0.107/zabbix/ + - IT-Tools: + - icon: it-tools + href: http://10.0.0.101:8182/ -# - Test 6.0: -# - icon: zabbix -# href: http://10.0.0.106/zabbix/ + - Oh Shit Git: + - icon: git + href: https://ohshitgit.com/ -# - Test 5.0: -# - icon: zabbix -# href: http://10.0.0.105/zabbix/ + - Git Cheatsheet: + - icon: gitlab + href: https://about.gitlab.com/images/press/git-cheat-sheet.pdf diff --git a/services.yaml b/services.yaml index 4458d03..df28ca0 100644 --- a/services.yaml +++ b/services.yaml @@ -93,26 +93,32 @@ username: "{{HOMEPAGE_VAR_ADGUARD_USER}}" password: "{{HOMEPAGE_VAR_ADGUARD_PASS}}" - - Remote: - - Guacamole: - href: "{{HOMEPAGE_VAR_GUACAMOLE_URL}}" - icon: guacamole - server: apps - container: guacamole + - MySite: + href: "{{HOMEPAGE_VAR_MYSITE_URL}}" + description: My personal website + icon: wordpress + siteMonitor: "{{HOMEPAGE_VAR_MYSITE_URL}}" - - Webtop: - href: "{{HOMEPAGE_VAR_WEBTOP_URL}}" - icon: webtop - server: apps - container: webtop + # - Remote: + # - Guacamole: + # href: "{{HOMEPAGE_VAR_GUACAMOLE_URL}}" + # icon: guacamole + # server: apps + # container: guacamole - - Lenovo AMT: - description: Intel AMT remote management for Lenovo - href: "{{HOMEPAGE_VAR_LENOVO_AMT_URL}}" - icon: si-intel-#0071C5 + # - Webtop: + # href: "{{HOMEPAGE_VAR_WEBTOP_URL}}" + # icon: webtop + # server: apps + # container: webtop -- Tools & Utilities: + # - Lenovo AMT: + # description: Intel AMT remote management for Lenovo + # href: "{{HOMEPAGE_VAR_LENOVO_AMT_URL}}" + # icon: si-intel-#0071C5 + # siteMonitor: "{{HOMEPAGE_VAR_LENOVO_AMT_URL}}" +- Tools & Utilities: - Zabbix Oracle: href: "{{HOMEPAGE_VAR_ZABBIX_URL}}/" icon: zabbix @@ -128,20 +134,7 @@ icon: grafana siteMonitor: "{{HOMEPAGE_VAR_GRAFANA_URL}}" - - IT Tools: - href: "{{HOMEPAGE_VAR_IT_TOOLS_URL}}" - description: Handy things for work - icon: it-tools - server: apps - container: it-tools - - - Vaultwarden: - href: "{{HOMEPAGE_VAR_VAULTWARDEN_URL}}" - description: Password manager - icon: vaultwarden - server: apps - container: vaultwarden - + - Gitea: href: "{{HOMEPAGE_VAR_GITEA_URL}}/" description: Local Git server @@ -152,3 +145,19 @@ url: "{{HOMEPAGE_VAR_GITEA_URL}}" key: "{{HOMEPAGE_VAR_GITEA_KEY}}" + # - IT Tools: + # href: "{{HOMEPAGE_VAR_IT_TOOLS_URL}}" + # description: Handy things for work + # icon: it-tools + # server: apps + # container: it-tools + + # - Vaultwarden: + # href: "{{HOMEPAGE_VAR_VAULTWARDEN_URL}}" + # description: Password manager + # icon: vaultwarden + # server: apps + # container: vaultwarden + + +