diff options
Diffstat (limited to 'docs/content/en/configuration/methods/files.md')
| -rw-r--r-- | docs/content/en/configuration/methods/files.md | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/docs/content/en/configuration/methods/files.md b/docs/content/en/configuration/methods/files.md new file mode 100644 index 000000000..7e02b2bd5 --- /dev/null +++ b/docs/content/en/configuration/methods/files.md @@ -0,0 +1,112 @@ +--- +title: "Files" +description: "Using the YAML File Configuration Method." +lead: "Authelia can be configured via files. This section describes utilizing this method." +date: 2022-03-20T12:52:27+11:00 +draft: false +images: [] +menu: + configuration: + parent: "methods" +weight: 101200 +toc: true +--- + +*Authelia* loads `configuration.yml` as the configuration if you just run it. You can override this behaviour with the +following syntax: + +```bash +authelia --config config.custom.yml +``` + +## Multiple Configuration Files + +You can have multiple configuration files which will be merged in the order specified. If duplicate keys are specified +the last one to be specified is the one that takes precedence. Example: + +```bash +authelia --config configuration.yml --config config-acl.yml --config config-other.yml +authelia --config configuration.yml,config-acl.yml,config-other.yml +``` + +Authelia's configuration files use the YAML format. A template with all possible options can be found at the root of the +repository [here](https://github.com/authelia/authelia/blob/master/config.template.yml). + +*__Important Note:__ You should not have configuration sections such as Access Control Rules or OpenID Connect clients +configured in multiple files. If you wish to split these into their own files that is fine, but if you have two files that +specify these sections and expect them to merge properly you are asking for trouble.* + +### Container + +By default, the container looks for a configuration file at `/config/configuration.yml`. + +### Docker + +This is an example of how to override the configuration files loaded in docker: + +```bash +docker run -d --volume /path/to/config:/config authelia:authelia:latest authelia --config=/config/configuration.yaml --config=/config/configuration.acl.yaml +``` + +See the [Docker Documentation](https://docs.docker.com/engine/reference/commandline/run/) for more information on the +`docker run` command. + +### Docker Compose + +An excerpt from a docker compose that allows you to specify multiple configuration files is as follows: + +```yaml +version: "3.8" +services: + authelia: + container_name: authelia + image: authelia/authelia:latest + command: + - "authelia" + - "--config=/config/configuration.yaml" + - "--config=/config/configuration.acl.yaml" + +``` + +See the [compose file reference](https://docs.docker.com/compose/compose-file/compose-file-v3/#command) for more +information. + +### Kubernetes + +An excerpt from a Kubernetes container that allows you to specify multiple configuration files is as follows: + +```yaml +kind: Deployment +apiVersion: apps/v1 +metadata: + name: authelia + namespace: authelia + labels: + app.kubernetes.io/instance: authelia + app.kubernetes.io/name: authelia +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/instance: authelia + app.kubernetes.io/name: authelia + template: + metadata: + labels: + app.kubernetes.io/instance: authelia + app.kubernetes.io/name: authelia + spec: + enableServiceLinks: false + containers: + - name: authelia + image: docker.io/authelia/authelia:fix-missing-head-handler + command: + - authelia + args: + - '--config=/configuration.yaml' + - '--config=/configuration.acl.yaml' +``` + +See the Kubernetes [workloads documentation](https://kubernetes.io/docs/concepts/workloads/pods/#pod-templates) or the +[Container API docs](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core) for more +information. |
