AdGuardHome icon indicating copy to clipboard operation
AdGuardHome copied to clipboard

Ability to settings via Environment Variables

Open dudleycodes opened this issue 7 months ago • 0 comments

Prerequisites

  • [X] I have checked the Wiki and Discussions and found no answer

  • [X] I have searched other issues and found no duplicates

  • [X] I want to request a feature or enhancement and not ask a question

The problem

Love the project! I run it in standalone Docker containers.

I would like to be able to inject users into the container, at start up time, via environment variables. It'd also be great, if other, specific settings could be injected this same way.

This would allow me to persist configuration files to source control, w/o having to worry about secrets being exposed.

Proposed solution

The most flexible, I think, would be to create a syntax, where AdGuardHome.yaml could be configured to look in an environment variable for a value.

Potential syntax:

users:
  - name: user1
    password: <encrypted value>
  - name: ${ADGUARD_HOME_USER2_USERNAME}
    password: ${ADGUARD_HOME_USER2_PASSWORD

At launch, by populating the ENV VARS ADGUARD_HOME_USER2_USERNAME and ADGUARD_HOME_USER2_PASSWORD, these values would be used. If not value is found, have the program crash at startup.

Alternatives considered and additional information

No response

dudleycodes avatar Jan 16 '24 21:01 dudleycodes