forked from lavina/lavina
55 lines
1.1 KiB
Markdown
55 lines
1.1 KiB
Markdown
# Building & Running Lavina
|
|
|
|
## Configuration
|
|
|
|
A server instance must be supplied with a configuration file to start up. The path to configuration is specified with a required CLI argument `--config <path>`.
|
|
|
|
Example configuration:
|
|
```toml
|
|
[telemetry]
|
|
# address for management and telemetry API
|
|
# should be kept private
|
|
listen_on = "127.0.0.1:8080"
|
|
|
|
[irc]
|
|
listen_on = "127.0.0.1:6667"
|
|
server_name = "irc.localhost"
|
|
|
|
[xmpp]
|
|
listen_on = "127.0.0.1:5222"
|
|
cert = "./certs/xmpp.pem"
|
|
key = "./certs/xmpp.key"
|
|
|
|
[storage]
|
|
db_path = "db.sqlite"
|
|
```
|
|
|
|
## With Docker Compose
|
|
|
|
Example `docker-compose.yml` file:
|
|
```yaml
|
|
version: '3.0'
|
|
|
|
services:
|
|
lavina:
|
|
image: git.vilunov.me/lavina/lavina:0.0.1
|
|
volumes:
|
|
- './config/:/etc/lavina/'
|
|
- './data/:/var/lib/lavina/'
|
|
ports:
|
|
- '5222:5222' # xmpp
|
|
- '6667:6667' # irc non-tls
|
|
- '127.0.0.1:1380:8080' # management http (private)
|
|
```
|
|
|
|
## With Cargo
|
|
|
|
You can run it via cargo:
|
|
|
|
cargo run -- --config config.toml
|
|
|
|
Or you can build it and run manually:
|
|
|
|
cargo build --release
|
|
./target/release/lavina --config config.toml
|