{config, ...}: { 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"; 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"; environment = { POSTGRES_DB = "gitea"; POSTGRES_USER = "gitea"; }; volumes = ["gitea-postgres-14:/var/lib/postgresql/data"]; }; }; }; }