66 lines
1.5 KiB
Nix
66 lines
1.5 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
services.forgejo = {
|
|
enable = true;
|
|
package = pkgs.forgejo-lts;
|
|
|
|
stateDir = "/var/lib/forgejo";
|
|
repositoryRoot = "/var/lib/forgejo/repositories";
|
|
|
|
database = {
|
|
type = "sqlite3";
|
|
path = "/var/lib/forgejo/data/forgejo.db";
|
|
};
|
|
|
|
lfs.enable = false;
|
|
|
|
settings = {
|
|
server = {
|
|
PROTOCOL = "http";
|
|
HTTP_ADDR = "127.0.0.1";
|
|
HTTP_PORT = 3001;
|
|
|
|
DOMAIN = "git.tobiasostner.de";
|
|
ROOT_URL = "https://git.tobiasostner.de/";
|
|
|
|
SSH_DOMAIN = "git.tobiasostner.de";
|
|
SSH_PORT = 22;
|
|
SSH_USER = "forgejo";
|
|
START_SSH_SERVER = false;
|
|
};
|
|
|
|
service.DISABLE_REGISTRATION = true;
|
|
session.COOKIE_SECURE = true;
|
|
|
|
actions.ENABLED = false;
|
|
packages.ENABLED = false;
|
|
mailer.ENABLED = false;
|
|
};
|
|
};
|
|
|
|
services.nginx.virtualHosts."git.tobiasostner.de" = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
extraConfig = ''
|
|
merge_slashes off;
|
|
'';
|
|
|
|
locations."/" = {
|
|
proxyPass = "http://127.0.0.1:3001";
|
|
extraConfig = ''
|
|
client_max_body_size 512M;
|
|
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
proxy_set_header Connection $http_connection;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
'';
|
|
};
|
|
};
|
|
|
|
environment.systemPackages = [ pkgs.forgejo-lts ];
|
|
}
|