privileged port permissions for https
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
flake.modules.nixos.forgejo = {config, pkgs, lib, ... }:
|
flake.modules.nixos.forgejo = {config, pkgs, lib, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.forgejo;
|
cfg = config.forgejo;
|
||||||
|
needsPrivilegedPort = cfg.port < 1024;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.forgejo = {
|
options.forgejo = {
|
||||||
@@ -25,6 +26,12 @@
|
|||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
networking.firewall.allowedTCPPorts = lib.optionals cfg.openFirewall [ cfg.port ];
|
networking.firewall.allowedTCPPorts = lib.optionals cfg.openFirewall [ cfg.port ];
|
||||||
|
|
||||||
|
systemd.services.forgejo.serviceConfig = lib.mkIf needsPrivilegedPort {
|
||||||
|
AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
|
||||||
|
CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
|
||||||
|
PrivateUsers = lib.mkForce false;
|
||||||
|
};
|
||||||
|
|
||||||
sops.secrets = {
|
sops.secrets = {
|
||||||
"forgejo/secret_key".owner = config.services.forgejo.user;
|
"forgejo/secret_key".owner = config.services.forgejo.user;
|
||||||
"forgejo/internal_token".owner = config.services.forgejo.user;
|
"forgejo/internal_token".owner = config.services.forgejo.user;
|
||||||
|
|||||||
Reference in New Issue
Block a user