Files
rustical/docs/installation.md
2025-04-17 22:11:26 +02:00

55 lines
1.2 KiB
Markdown

# Installation
## Manual
```sh
cargo install --locked --git https://github.com/lennart-k/rustical
```
## Docker
```sh
docker run \
-p 4000:4000 \
-v YOUR_DATA_DIR:/var/lib/rustical/ \
-v YOUR_PRINCIPALS_TOML:/etc/rustical/principals.toml \
-v YOUR_CONFIG_TOML:/etc/rustical/config.toml \ # (1)!
-e RUSTICAL__CONFIG_OPTION="asd" \ # (2)!
ghcr.io/lennart-k/rustical
```
1. Mount config file
2. Alternatively specify configuration using environment variables
## Configuration
RustiCal can be configured using either a `config.toml` file or environent variables.
To see all configuration options available you can browse the [Cargo docs](/rustical/_crate/rustical/config/struct.Config.html).
### TOML
You can generate a default `config.toml` configuration using
```sh title="Generate default config.toml"
rustical gen-config
```
### Environment variables
The options in `config.toml` can also be configured using environment variables.
Names translate the following:
```toml title="Example config.toml"
[data_store.toml]
path = "asd"
```
becomes `RUSTICAL_DATA_STORE__TOML__PATH`.
Every variable is
- uppercase
- prefixed by `RUSTICAL_`
- Dots become `__`
- Arrays are JSON-encoded