49 lines
998 B
Nix
49 lines
998 B
Nix
{ config, ... }:
|
|
|
|
{
|
|
age.secrets.microbin = {
|
|
# Environment variables for microbin
|
|
rekeyFile = ./environment.age;
|
|
owner = "root";
|
|
group = "root";
|
|
};
|
|
|
|
virtualisation.oci-containers.containers = {
|
|
# Self-hosted, open-source pastbin
|
|
microbin = {
|
|
autoStart = true;
|
|
image = "danielszabo99/microbin:2.0";
|
|
ports = [
|
|
"8181:8080/tcp" # WebUI
|
|
];
|
|
volumes = [
|
|
# Container data
|
|
"/srv/containers/microbin:/app/microbin_data:rw"
|
|
];
|
|
environmentFiles = [
|
|
config.age.secrets.microbin.path
|
|
];
|
|
};
|
|
};
|
|
|
|
services.traefik.dynamicConfigOptions.http.routers = {
|
|
microbin = {
|
|
rule = "Host(`bin.kanto.dev`)";
|
|
entryPoints = [
|
|
"websecure"
|
|
];
|
|
middlewares = [
|
|
"internal"
|
|
];
|
|
service = "microbin";
|
|
};
|
|
};
|
|
|
|
services.traefik.dynamicConfigOptions.http.services = {
|
|
microbin.loadBalancer.servers = [
|
|
{ url = "http://127.0.0.1:8181"; }
|
|
];
|
|
};
|
|
}
|
|
|