{ pkgs, config, ... }: {
services.loki = {
enable = true;
configuration = {
auth_enabled = false;
server = {
http_listen_port = 3100;
grpc_listen_port = 9096;
};
common = {
instance_addr = "127.0.0.1";
path_prefix = "/tmp/loki";
storage = { filesystem = { chunks_directory = "/tmp/loki/chunks"; rules_directory = "/tmp/loki/rules"; }; };
replication_factor = 1;
ring = { kvstore = { store = "inmemory"; }; };
query_range = {
results_cache.cache.embedded_cache = {
enabled = true;
max_size_mb = 100;
schema_config = {
configs = [
{
from = "2020-10-24";
store = "tsdb";
object_store = "filesystem";
schema = "v13";
index = { prefix = "index_"; period = "24h"; };
}
];
networking.firewall = {
allowedTCPPorts = [ config.services.loki.configuration.server.http_listen_port ];
allowedUDPPorts = [ config.services.loki.configuration.server.http_listen_port ];