69 lines
2 KiB
Nix
69 lines
2 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
let inherit (pkgs) dockerTools;
|
|
in {
|
|
users = {
|
|
extraUsers.gitea = {
|
|
uid = config.ids.uids.git;
|
|
isSystemUser = true;
|
|
description = "Gitea Service";
|
|
group = config.users.extraGroups.gitea.name;
|
|
};
|
|
extraGroups.gitea = { gid = config.ids.gids.git; };
|
|
};
|
|
|
|
virtualisation.pods.gitea = {
|
|
hostname = "gitea.tlater.net";
|
|
publish = [ "3000:3000" "2221:2221" ];
|
|
network = "slirp4netns";
|
|
|
|
containers = {
|
|
gitea = {
|
|
image = "gitea/gitea:latest";
|
|
imageFile = dockerTools.pullImage {
|
|
imageName = "gitea/gitea";
|
|
imageDigest =
|
|
"sha256:67ccf27b427ec65fd7378d0999a3d94e9649f1953d2bb115864faa71ce7b9ec2";
|
|
sha256 = "1nmmb14lpvk2161q2gww5hppn2sa9qcq78k04c011szx07afq2jy";
|
|
finalImageName = "gitea/gitea";
|
|
finalImageTag = "latest";
|
|
};
|
|
volumes = [ "gitea:/data:Z" "/etc/localtime:/etc/localtime:ro" ];
|
|
dependsOn = [ "postgres" ];
|
|
|
|
environment = {
|
|
DB_TYPE = "postgres";
|
|
DB_HOST = "localhost:5432";
|
|
DB_NAME = "gitea";
|
|
DB_USER = "gitea";
|
|
|
|
USER_UID = toString config.users.extraUsers.gitea.uid;
|
|
USER_GID = toString config.users.extraGroups.gitea.gid;
|
|
|
|
RUN_MODE = "prod";
|
|
DOMAIN = "gitea.tlater.net";
|
|
SSH_PORT = "2221";
|
|
};
|
|
};
|
|
|
|
postgres = {
|
|
image = "postgres:alpine";
|
|
imageFile = dockerTools.pullImage {
|
|
imageName = "postgres";
|
|
imageDigest =
|
|
"sha256:578ca5c8452c08a4e0f5e65b55dce5e1812fe63c8fee40ea837641031598e51e";
|
|
sha256 = "1xqg228a29qn3qmzchg65ykx7g3s2fszwp1zv24wxxy40py0bmwk";
|
|
finalImageName = "postgres";
|
|
finalImageTag = "alpine";
|
|
};
|
|
environment = {
|
|
POSTGRES_DB = "gitea";
|
|
POSTGRES_USER = "gitea";
|
|
POSTGRES_PASSWORD = "insecure";
|
|
};
|
|
volumes = [ "gitea-postgres-14:/var/lib/postgresql/data" ];
|
|
};
|
|
};
|
|
};
|
|
}
|