mastus: migrate to 21.05
This commit is contained in:
parent
393a699de3
commit
3fdda46bdd
@ -5,17 +5,17 @@
|
|||||||
[
|
[
|
||||||
/etc/nixos/hardware-configuration.nix
|
/etc/nixos/hardware-configuration.nix
|
||||||
../basic-tools.nix
|
../basic-tools.nix
|
||||||
./backup.nix
|
# ./backup.nix
|
||||||
./duplicity.nix
|
./duplicity.nix
|
||||||
|
|
||||||
./mail.nix
|
./mail.nix
|
||||||
./www.nix
|
./www.nix
|
||||||
./gogs.nix
|
./gitea.nix
|
||||||
./letsencrypt.nix
|
./letsencrypt.nix
|
||||||
./website.nix
|
./website.nix
|
||||||
./wstunnel.nix
|
./wstunnel.nix
|
||||||
./radicale.nix
|
./radicale.nix
|
||||||
./ttrss.nix
|
# ./ttrss.nix
|
||||||
./dns.nix
|
./dns.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
42
mastus/gitea.nix
Normal file
42
mastus/gitea.nix
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
services.gitea = rec {
|
||||||
|
enable = true;
|
||||||
|
stateDir = "/srv/git.gebner.org";
|
||||||
|
appName = "Gabriel Ebner's git server";
|
||||||
|
domain = "git.gebner.org";
|
||||||
|
rootUrl = "https://git.gebner.org/";
|
||||||
|
httpPort = 8001;
|
||||||
|
cookieSecure = true;
|
||||||
|
log.level = "Info";
|
||||||
|
disableRegistration = true;
|
||||||
|
settings = {
|
||||||
|
picture = {
|
||||||
|
DISABLE_GRAVATAR = "false";
|
||||||
|
AVATAR_UPLOAD_PATH = "${stateDir}/data/avatars";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [
|
||||||
|
(let cfg = config.services.gitea; in pkgs.writeScriptBin "gitea" ''
|
||||||
|
exec ${pkgs.sudo}/bin/sudo -u ${cfg.user} \
|
||||||
|
env GITEA_WORK_DIR=${cfg.stateDir} ${pkgs.gitea}/bin/gitea "$@"
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
|
||||||
|
services.nginx = {
|
||||||
|
recommendedProxySettings = true;
|
||||||
|
virtualHosts."git.gebner.org" = {
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = "gebner.org";
|
||||||
|
locations."/" = {
|
||||||
|
proxyPass = "http://127.0.0.1:${toString config.services.gitea.httpPort}";
|
||||||
|
extraConfig = ''
|
||||||
|
proxy_buffering off;
|
||||||
|
client_max_body_size 30M;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -6,22 +6,26 @@ in
|
|||||||
services.radicale = {
|
services.radicale = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.radicale2;
|
package = pkgs.radicale2;
|
||||||
config = ''
|
settings = {
|
||||||
[server]
|
server = {
|
||||||
hosts = 127.0.0.1:${toString radicalePort}
|
hosts = "127.0.0.1:${toString radicalePort}";
|
||||||
ssl = false
|
ssl = false;
|
||||||
dns_lookup = false
|
dns_lookup = false;
|
||||||
|
};
|
||||||
|
|
||||||
[storage]
|
storage = {
|
||||||
filesystem_folder = /var/lib/radicale/collections
|
filesystem_folder = "/var/lib/radicale/collections";
|
||||||
|
};
|
||||||
|
|
||||||
[auth]
|
auth = {
|
||||||
type = htpasswd
|
type = "htpasswd";
|
||||||
htpasswd_filename = /var/lib/radicale/htpasswd
|
htpasswd_filename = "/var/lib/radicale/htpasswd";
|
||||||
|
};
|
||||||
|
|
||||||
[rights]
|
rights = {
|
||||||
type = owner_only
|
type = "owner_only";
|
||||||
'';
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
security.acme.certs."gebner.org".extraDomainNames = [ "radicale.gebner.org" ];
|
security.acme.certs."gebner.org".extraDomainNames = [ "radicale.gebner.org" ];
|
||||||
|
@ -2,8 +2,13 @@
|
|||||||
{
|
{
|
||||||
containers.ttrss = {
|
containers.ttrss = {
|
||||||
config = {
|
config = {
|
||||||
users.extraUsers.ttrss = {};
|
users.users.ttrss = {
|
||||||
users.extraGroups.ttrss = {};
|
group = "ttrss";
|
||||||
|
isSystemUser = true;
|
||||||
|
};
|
||||||
|
users.groups.ttrss = {};
|
||||||
|
|
||||||
|
users.users.tt_rss.isSystemUser = true;
|
||||||
|
|
||||||
services.postgresql = {
|
services.postgresql = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -9,7 +9,7 @@ let
|
|||||||
boot.enableContainers = true;
|
boot.enableContainers = true;
|
||||||
|
|
||||||
systemd.services.setupVM = rec {
|
systemd.services.setupVM = rec {
|
||||||
wantedBy = [ "gogs.service" "dovecot2.service" "nginx.service" ];
|
wantedBy = [ "gitea.service" "dovecot2.service" "nginx.service" ];
|
||||||
before = wantedBy;
|
before = wantedBy;
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
@ -17,7 +17,7 @@ let
|
|||||||
};
|
};
|
||||||
script = ''
|
script = ''
|
||||||
mkdir -p /srv/git.gebner.org
|
mkdir -p /srv/git.gebner.org
|
||||||
chown git:git -R /srv/git.gebner.org
|
chown gitea:gitea -R /srv/git.gebner.org
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ let
|
|||||||
sqlite-interactive
|
sqlite-interactive
|
||||||
];
|
];
|
||||||
|
|
||||||
systemd.services."acme-gebner.org".serviceConfig.ExecStart = pkgs.lib.mkForce "true";
|
security.acme.server = "http://localhost";
|
||||||
|
|
||||||
networking.extraHosts = ''
|
networking.extraHosts = ''
|
||||||
127.0.0.1 gebner.org www.gebner.org reader.gebner.org git.gebner.org mail.gebner.org radicale.gebner.org gabrielebner.at
|
127.0.0.1 gebner.org www.gebner.org reader.gebner.org git.gebner.org mail.gebner.org radicale.gebner.org gabrielebner.at
|
||||||
|
Loading…
Reference in New Issue
Block a user