1

Add formula10 service

This commit is contained in:
2024-03-09 17:26:56 +01:00
parent 91c1bf7d1f
commit 4a75307017
3 changed files with 49 additions and 1 deletions

View File

@ -18,6 +18,7 @@
# My own stuff # My own stuff
./services/airsignal.nix ./services/airsignal.nix
./services/heidi.nix ./services/heidi.nix
./services/formula10.nix
# General # General
./services/authelia.nix ./services/authelia.nix
@ -27,7 +28,6 @@
./services/homepage.nix ./services/homepage.nix
./services/immich.nix ./services/immich.nix
./services/kopia.nix ./services/kopia.nix
./services/memos.nix
./services/nextcloud.nix ./services/nextcloud.nix
./services/nginx-proxy-manager.nix ./services/nginx-proxy-manager.nix
./services/portainer.nix ./services/portainer.nix
@ -103,6 +103,8 @@
defaultGateway = "192.168.86.5"; defaultGateway = "192.168.86.5";
nameservers = [ nameservers = [
"127.0.0.1" "127.0.0.1"
# "192.168.86.25"
# "8.8.8.8"
]; ];
}; };
@ -120,6 +122,10 @@
# crash the whole service. # crash the whole service.
check=$(${dockercli} network ls | grep ${network} || true) check=$(${dockercli} network ls | grep ${network} || true)
if [ -z "$check" ]; then if [ -z "$check" ]; then
# TODO: Disable IP masquerading to show individual containers in AdGuard/Pi-Hole
# - Disabling this prevents containers from having internet connection. DNS issue?
# ${dockercli} network create -o "com.docker.network.bridge.enable_ip_masquerade"="false" ${network}
${dockercli} network create ${network} ${dockercli} network create ${network}
else else
echo "${network} already exists in docker" echo "${network} already exists in docker"
@ -220,6 +226,17 @@
# enable = true; # enable = true;
# setSocketVariable = true; # setSocketVariable = true;
# }; # };
daemon.settings = {
dns = [
# TODO: Does this circumvent my DNS for each container?
# It might improve gitea actions though...
"8.8.8.8"
# TODO: Might prevent containers from having DNS?
# "127.0.0.1"
# "192.168.86.25"
];
};
}; };
oci-containers.backend = "docker"; oci-containers.backend = "docker";
}; };
@ -272,6 +289,8 @@
ntp.enable = true; ntp.enable = true;
qemuGuest.enable = true; qemuGuest.enable = true;
# TODO: Might prevent containers from having working DNS
# resolved.fallbackDns = ["8.8.8.8"];
}; };
networking.firewall = { networking.firewall = {

View File

@ -0,0 +1,28 @@
{
config,
lib,
pkgs,
...
}: {
virtualisation.oci-containers.containers.formula10 = {
image = "gitea.vps.chriphost.de/christoph/formula10:latest";
autoStart = true;
dependsOn = [];
ports = [
"55555:5000"
];
volumes = [
"formula10_data:/app/instance"
];
environment = {};
extraOptions = [
"--init" # Make an init process take up PID 1, to make python receive the SIGTERM
"--net=behind-nginx"
];
};
}

View File

@ -36,6 +36,7 @@
"box-stash_generated:/data/box-stash_generated:ro" "box-stash_generated:/data/box-stash_generated:ro"
"box-stash_metadata:/data/box-stash_metadata:ro" "box-stash_metadata:/data/box-stash_metadata:ro"
"fileflows_config:/data/fileflows_config:ro" "fileflows_config:/data/fileflows_config:ro"
"formula10_data:/data/formula10_data:ro"
"gitea-db_data:/data/gitea-db_data:ro" "gitea-db_data:/data/gitea-db_data:ro"
"gitea-runner_config:/data/gitea-runner_config:ro" "gitea-runner_config:/data/gitea-runner_config:ro"
"gitea-runner_data:/data/gitea-runner_data:ro" "gitea-runner_data:/data/gitea-runner_data:ro"