mirror of
https://github.com/Lissy93/dashy.git
synced 2025-07-19 19:54:52 +02:00
🔀 Merge pull request #1438 from zigotica/FEATURE/environment-variables
✨ Feature: add user defined environment variables
This commit is contained in:
commit
27a8c8fa56
4
.env
4
.env
@ -53,3 +53,7 @@
|
|||||||
|
|
||||||
# Directory for conf.yml backups
|
# Directory for conf.yml backups
|
||||||
# BACKUP_DIR=./user-data/
|
# BACKUP_DIR=./user-data/
|
||||||
|
|
||||||
|
# Setup any other user defined vars by prepending VUE_APP_ to the var name
|
||||||
|
# VUE_APP_pihole_ip=http://your.pihole.ip
|
||||||
|
# VUE_APP_pihole_key=your_pihole_secret_key
|
||||||
|
@ -1554,6 +1554,19 @@ Displays the number of queries blocked by [Pi-Hole](https://pi-hole.net/).
|
|||||||
apiKey: xxxxxxxxxxxxxxxxxxxxxxx
|
apiKey: xxxxxxxxxxxxxxxxxxxxxxx
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> In order to avoid leaking secret data, both `hostname` and `apiKey` can leverage environment variables. Simply pass the name of the variable, which MUST start with `VUE_APP_`.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- type: pi-hole-stats
|
||||||
|
options:
|
||||||
|
hostname: VUE_APP_pihole_ip
|
||||||
|
apiKey: VUE_APP_pihole_key
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!IMPORTANT]
|
||||||
|
> You will need to restart the server (or the docker image) if adding/editing an env var for this to be refreshed.
|
||||||
|
|
||||||
#### Info
|
#### Info
|
||||||
|
|
||||||
- **CORS**: 🟢 Enabled
|
- **CORS**: 🟢 Enabled
|
||||||
|
@ -36,13 +36,14 @@ export default {
|
|||||||
computed: {
|
computed: {
|
||||||
/* Let user select which comic to display: random, latest or a specific number */
|
/* Let user select which comic to display: random, latest or a specific number */
|
||||||
hostname() {
|
hostname() {
|
||||||
const usersChoice = this.options.hostname;
|
const usersChoice = this.parseAsEnvVar(this.options.hostname);
|
||||||
if (!usersChoice) this.error('You must specify the hostname for your Pi-Hole server');
|
if (!usersChoice) this.error('You must specify the hostname for your Pi-Hole server');
|
||||||
return usersChoice || 'http://pi.hole';
|
return usersChoice || 'http://pi.hole';
|
||||||
},
|
},
|
||||||
apiKey() {
|
apiKey() {
|
||||||
if (!this.options.apiKey) this.error('API Key is required, please see the docs');
|
const usersChoice = this.parseAsEnvVar(this.options.apiKey);
|
||||||
return this.options.apiKey;
|
if (!usersChoice) this.error('API Key is required, please see the docs');
|
||||||
|
return usersChoice;
|
||||||
},
|
},
|
||||||
endpoint() {
|
endpoint() {
|
||||||
return `${this.hostname}/admin/api.php?summary&auth=${this.apiKey}`;
|
return `${this.hostname}/admin/api.php?summary&auth=${this.apiKey}`;
|
||||||
|
@ -131,6 +131,11 @@ const WidgetMixin = {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
/* Check if a value is an environment variable, return its value if so. */
|
||||||
|
parseAsEnvVar(str) {
|
||||||
|
if (str.includes('VUE_APP_')) return process.env[str];
|
||||||
|
return str;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user