--- weight: 20 --- # Configuration All vieter operations by default try to read in the TOML file `~/.vieterrc` for configuration. The location of this file can be changed by using the `-f` flag. If the above file doesn't exist or you wish to override some of its settings, configuration is also possible using environment variables. Every variable in the config file has a respective environment variable of the following form: say the variable is called `api_key`, then the respective environment variable would be `VIETER_API_KEY`. In essence, it's the variable in uppercase prepended with `VIETER_`. If a variable is both present in the config file & as an environment variable, the value in the environment variable is used. {{< hint info >}} **Note** All environment variables can also be provided from a file by appending them with `_FILE`. This for example allows you to provide the API key from a docker secrets file. {{< /hint >}} ## Components The vieter binary consists of various componeents, indicated by the first argument passed to them. Each component requires a different configuration. ### Server * `log_level`: Which levels of logs to show. Valid values are one of `FATAL`, `ERROR`, `WARN`, `INFO` or `DEBUG`. Defaults to `WARN`. * `pkg_dir`: where Vieter should store the actual package archives. * `data_dir`: where Vieter stores the repositories, log file & database. * `api_key`: the API key to use when authenticating requests. * `default_arch`: this setting has several uses: * Packages with architecture `any` will always get added to this architecture inside a repository. * If a package with architecture `any` is the first package to be added to a repository, it'll be added to this architecture. * A Git repository added using the API or CLI that doesn't specify an architecture will use this value as their default. ### Cron * `log_level`: defines how much logs to show. Valid values are one of `FATAL`, `ERROR`, `WARN`, `INFO` or `DEBUG`. Defaults to `WARN` * `address`: Base your URL of your Vieter instance, e.g. https://example.com. This *must* be the publicly facing URL of your Vieter instance. * `api_key`: the API key to use when authenticating requests. * `data_dir`: where Vieter stores the log file. * `base_image`: Docker image from which to create the builder images. This image should be for the same Pacman-based distribution as the one you're installing the packages on. The default if not configured is `archlinux:base-devel`. Note that this image only supports `x86_64`, so if you require e.g. `aarch64` support as well you should use a multi-arch image, such as [`menci/archlinuxarm:base-devel`](https://hub.docker.com/r/menci/archlinuxarm) ([GH](https://github.com/Menci/docker-archlinuxarm)). * `max_concurrent_builds`: how many builds to run at once. * `api_update_frequency`: how frequently to check for changes in the repo list. * `image_rebuild_frequency`: how frequently to rebuild the builder image. * `global_schedule`: cron schedule to use for any repo without an individual schedule. ### Repos CLI * `address`: Base your URL of your Vieter instance, e.g. https://example.com * `api_key`: the API key to use when authenticating requests.