{ secrets, config, ... }:
let
inherit (config.modules.server) containerEngine;
in
{
virtualisation = {
containers.enable = true;
docker = {
enable = containerEngine == "docker";
daemon.settings = {
iptables = false;
};
};
podman = {
enable = containerEngine == "podman";
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
oci-containers = {
backend = containerEngine;
containers = {
september = {
image = "fuwn/september";
autoStart = true;
ports = [ "8084:80" ];
environment = {
CONDENSE_LINKS_AT_HEADINGS = "## Quick Links,# Fuwn[.me],## Footer";
EMBED_IMAGES = "2";
HEAD = '''';
MATHJAX = "true";
PLAIN_TEXT_ROUTE = "*.xml,*.txt";
PRIMARY_COLOUR = "#DCC6BD";
};
};
momoka = {
image = "fuwn/momoka";
autoStart = true;
ports = [ "70:70" ];
};
gigi = {
image = "fuwn/gigi";
autoStart = true;
ports = [ "79:79" ];
volumes = [ "/mnt/docker/gigi:/gigi/.gigi" ];
};
mayu = {
image = "fuwn/mayu";
autoStart = true;
ports = [ "8098:3000" ];
volumes = [ "/mnt/docker/mayu:/mayu/data" ];
};
locus = {
image = "ghcr.io/gemrest/locus";
autoStart = true;
ports = [ "1965:1965" ];
volumes = [ "/mnt/docker/locus:/locus/.locus" ];
environment = {
FINNHUB_TOKEN = secrets.finnhub_token;
HEADER_IMAGE = "https://ruu.neocities.org/images/animeHeader.gif";
};
};
bin = {
image = "quxfoo/wastebin";
autoStart = true;
ports = [ "8090:8088" ];
volumes = [ "/mnt/docker/bin:/root/db" ];
};
pounce = {
image = "fuwn/pounce";
autoStart = true;
ports = [ "6697:6697" ];
volumes = [ "/mnt/docker/pounce:/root/.config/pounce" ];
environment.USER = "fuwn";
};
litterbox = {
image = "fuwn/litterbox";
autoStart = true;
volumes = [ "/mnt/docker/litterbox:/root/.config/litterbox" ];
};
};
};
};
}