nixos-configs/devices/nos/modules/docker/forgejo/compose.nix

76 lines
1.5 KiB
Nix
Raw Normal View History

2024-07-24 15:49:31 -04:00
{
config,
pkgs,
...
}: let
inherit (config.sops) secrets;
2024-07-24 15:49:31 -04:00
inherit (config.khepri) rwDataDir;
rwPath = rwDataDir + "/forgejo";
2024-01-07 04:37:11 -05:00
in {
2024-07-24 15:49:31 -04:00
khepri.compositions."forgejo".services = {
2024-01-07 04:37:11 -05:00
"forgejo" = {
2024-07-24 15:49:31 -04:00
image = import ./images/forgejo.nix pkgs;
2024-01-07 04:37:11 -05:00
ports = [
# Redirect WAN port 22 to this port
"2222:22"
"3000:3000"
];
restart = "always";
2024-07-24 15:49:31 -04:00
dependsOn = ["forgejo-db"];
2024-01-07 04:37:11 -05:00
2024-07-24 15:49:31 -04:00
environmentFiles = [secrets.forgejo.path];
2024-01-07 04:37:11 -05:00
environment = {
APP_NAME = "Gitea";
# TODO: change ids
USER_UID = "1000";
USER_GID = "1000";
ROOT_URL = "https://git.nelim.org";
SSH_DOMAIN = "git.nelim.org";
2024-07-24 15:49:31 -04:00
SSH_PORT = "22";
HTTP_PORT = "3000";
2024-01-07 04:37:11 -05:00
};
volumes = [
"${rwPath}/data:/data"
"/etc/timezone:/etc/timezone:ro"
"/etc/localtime:/etc/localtime:ro"
];
};
"forgejo-db" = {
2024-07-24 15:49:31 -04:00
image = import ./images/postgres.nix pkgs;
2024-01-07 04:37:11 -05:00
restart = "always";
2024-07-24 15:49:31 -04:00
environmentFiles = [secrets.forgejo-db.path];
volumes = ["${rwPath}/db:/var/lib/postgresql/data"];
2024-01-07 04:37:11 -05:00
};
"act_runner" = {
2024-07-24 15:49:31 -04:00
image = import ./images/act_runner.nix pkgs;
privileged = true;
2024-01-07 04:37:11 -05:00
restart = "always";
2024-07-24 15:49:31 -04:00
dependsOn = ["forgejo"];
2024-01-07 04:37:11 -05:00
2024-07-24 15:49:31 -04:00
environmentFiles = [secrets.forgejo-runner.path];
environment = {
GITEA_INSTANCE_URL = "https://git.nelim.org";
GITEA_RUNNER_NAME = "DinD";
};
2024-01-07 04:37:11 -05:00
volumes = ["${rwPath}/act:/data"];
2024-07-24 15:49:31 -04:00
extraHosts = [
"git.nelim.org=10.0.0.130"
];
2024-01-07 04:37:11 -05:00
};
};
}