{ pkgs, config, ... }:
{
services.forgejo = {
enable = true;
settings = {
server = {
DOMAIN = "git.4o1x5.dev";
ROOT_URL = "https://git.${config.networking.domain}/";
DISABLE_REGISTRATION = true;
DISABLE_SSH = true;
};
DEFAULT.APP_NAME = "2005's git server";
actions.ENABLED = true;
database = {
type = "postgres";
createDatabase = true;
services.nginx = {
virtualHosts = {
"git.${config.networking.domain}" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = " http://127.0.0.1:3000";
services.gitea-actions-runner.instances = {
root = {
url = "https://git.${config.networking.domain}";
tokenFile = config.age.secrets.forgejo-runner.path;
container = {
# TODO fix: networking
# instead of using host, create a subnet that cannot contat other server on my network to avoid being haxxed
network = "host";
labels = [
"ubuntu-latest:docker://gitea/runner-images:ubuntu-latest"
];
name = config.networking.domain;
}