# 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 `. 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