Files
nixos-config/hosts/m3-atlas/services/rustfs.nix
T

70 lines
1.5 KiB
Nix
Raw Normal View History

2026-05-09 10:17:14 +02:00
{
config,
inputs,
pkgs,
...
}: {
services.rustfs = {
2025-02-03 18:37:07 +01:00
enable = true;
2026-07-25 14:54:22 +02:00
environmentFile = config.age.secrets.rustfs-env.path;
settings = {
RUSTFS_VOLUMES = "/var/storage/s3";
2026-05-09 10:17:14 +02:00
2026-07-25 14:54:22 +02:00
RUSTFS_ADDRESS = ":3008";
RUSTFS_CONSOLE_ENABLE = "true";
RUSTFS_CONSOLE_ADDRESS = ":3007";
2026-05-09 10:17:14 +02:00
2026-07-25 14:54:22 +02:00
RUST_LOG = "info";
};
2025-02-03 18:37:07 +01:00
};
2026-05-09 10:17:14 +02:00
# Traefik configuration — same routes as before
2025-02-03 18:37:07 +01:00
services.traefik.dynamicConfigOptions.http = {
2026-08-23 14:39:31 +02:00
services.rustfs-console.loadBalancer.servers = [
2025-02-03 18:37:07 +01:00
{
url = "http://localhost:3007/";
}
];
2026-08-23 14:39:31 +02:00
services.rustfs.loadBalancer.servers = [
2025-02-03 18:37:07 +01:00
{
url = "http://localhost:3008/";
}
];
2026-08-23 14:39:31 +02:00
routers.rustfs = {
2025-02-03 18:37:07 +01:00
rule = "Host(`s3.m3tam3re.com`)";
tls = {
certResolver = "godaddy";
};
service = "minio";
entrypoints = "websecure";
};
2026-08-23 14:39:31 +02:00
routers.rustfs-console = {
rule = "Host(`s3c.m3ta.dev`)";
tls = {
certResolver = "godaddy";
};
service = "rustfs-console";
entrypoints = "websecure";
};
routers.rustfs-old = {
rule = "Host(`s3.m3ta.dev`)";
tls = {
certResolver = "godaddy";
};
service = "rustfs";
entrypoints = "websecure";
middlewares = ["subdomain-redirect"];
};
routers.rustfs-console-old = {
2025-02-03 18:37:07 +01:00
rule = "Host(`minio.m3tam3re.com`)";
tls = {
certResolver = "godaddy";
};
2026-08-23 14:39:31 +02:00
service = "rustfs";
2025-02-03 18:37:07 +01:00
entrypoints = "websecure";
2026-08-23 14:39:31 +02:00
middlewares = ["subdomain-redirect"];
2025-02-03 18:37:07 +01:00
};
};
}