Config - HolgerHees/smartserver GitHub Wiki

Configuration & concept

To keep your deployment updated and synced with this project you should follow a few rule.

The whole deployment is divided into a generic and a custom part. The generic part provides a basic installation with software which should be part of every smart home server and represents a good basis. See the main features to get an overview about it.

It is not recommended to disabled any of them, but you are free to do it. In this case you have to handle all the dependency issues by your self. Any generic features can be disabled inside this file server.yml.

The second part is the custom part inside the folder ./config/myserver (example). Every file here is related to your environment and should be modified to your needs.

The folder contains the following files and directories

Name Example Description
server.ini example Initial config for ansible where the first word should match your config name
env.yml example Base configuration like ip addresses, dns name, server name, language, geo location, timezone
roles.yml example File where you can enable/include custom or optional generic features
roles Folder where all your custom features are stored
roles/apache_proxy example Example feature which shows how to include external devices with apache proxies. To know more about custom features, check how to create custom ansible roles.
vault Folder which contains encrypted vault files
vault/vault.yml example Encrypted vault file with all used usernames and passwords
vault/easy-rsa Encrypted easyrsa certificates for openvpn_mobile. To know more about, check how to create certificates.
vault/openvpn Encrypted shared key for openvpn_cloud. To know more about, check how to create certificates.
vault/wireguard_mobile Encrypted shared key for wireguard_mobile. To know more about, check how to create certificates.
vault/wireguard_cloud Encrypted shared key for wireguard_cloud. To know more about, check how to create certificates.

Special optional variables

The files env.yml and vault/vault.yml contains optional variables. They can be removed if:

  1. The optional generic roles are not enabled
  2. Custom roles are not using them
  3. Custom configurations, like openhab configuration, is not referencing them