nix-config/features/containers/crafty-controller.nix

44 lines
1.1 KiB
Nix
Raw Normal View History

2024-07-15 16:50:14 +02:00
{ config, lib, ... }:
2024-07-15 16:27:23 +02:00
with lib;
2024-07-15 16:27:23 +02:00
let
2024-07-15 17:26:28 +02:00
cfg = config.docker;
2024-07-15 16:27:23 +02:00
in
{
2024-07-15 16:55:05 +02:00
options = {
2024-07-15 17:26:28 +02:00
docker.minecraft.path = mkOption {
2024-07-15 16:27:23 +02:00
type = types.str;
default = "/srv/Minecraft";
};
};
config = {
# docker containers, for apps that aren't avaiable on Nix. (yet)
virtualisation.oci-containers = {
backend = "docker";
containers = {
#TODO: move to Nix crafty controller bundle
crafty-controller = {
image = "registry.gitlab.com/crafty-controller/crafty-4:latest";
ports = [
"8443:8443"
"8123:8123"
"19132:19132/udp"
"25500-25600:25500-25600"
];
volumes = [
"${cfg.minecraft.path}/docker/backups:/crafty/backups"
"${cfg.minecraft.path}/docker/logs:/crafty/logs"
"${cfg.minecraft.path}/docker/servers:/crafty/servers"
"${cfg.minecraft.path}/docker/config:/crafty/app/config"
"${cfg.minecraft.path}/docker/import:/crafty/import"
];
environment = {
"TZ" = "Europe/Paris";
};
};
};
};
};
}