forked from Deuxfleurs/nixcfg
Compare commits
9 commits
47d94b1ad0
...
093951af05
Author | SHA1 | Date | |
---|---|---|---|
093951af05 | |||
e83f12f6a2 | |||
6c88813e8d | |||
|
7c9fed9e99 | ||
|
aebc4b900f | ||
|
2c43fe0fb4 | ||
|
b6c083cf93 | ||
0cc08a1f2b | |||
1bcfc26c62 |
13 changed files with 66 additions and 28 deletions
|
@ -3,6 +3,7 @@
|
|||
|
||||
, buildNpmPackage
|
||||
, fetchFromGitHub
|
||||
, fetchzip
|
||||
|
||||
, nodejs
|
||||
|
||||
|
@ -30,8 +31,8 @@
|
|||
hash = "sha256-BZdExj2q/bqUD3k9uluOot2dlrWKA+vpad49EdgXKww=";
|
||||
};
|
||||
v7 = {
|
||||
rev = "ba82142ff242ce385804bcb4287126de52d329f3";
|
||||
hash = "sha256-3WX3dTWJoeApon1AH3XplBIvEosVNzchkjgi2C808B4=";
|
||||
rev = "e1267803ea749cd93e9d5f81438011ea620d04af";
|
||||
hash = "sha256-iIds0GnCHAyeIEdSD4aCCgDtnnwARh3NE470CywseS0=";
|
||||
};
|
||||
};
|
||||
mkOnlyOffice = {
|
||||
|
@ -40,6 +41,14 @@
|
|||
pname = "${pname}-onlyoffice";
|
||||
inherit version;
|
||||
|
||||
x2t = let
|
||||
version = "v7.3+1";
|
||||
in fetchzip {
|
||||
url = "https://github.com/cryptpad/onlyoffice-x2t-wasm/releases/download/${version}/x2t.zip";
|
||||
hash = "sha256-d5raecsTOflo0UpjSEZW5lker4+wdkTb6IyHNq5iBg8=";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
srcs = lib.mapAttrsToList (version: { rev, hash ? lib.fakeHash }: fetchFromGitHub {
|
||||
name = "${final.pname}-${version}-source";
|
||||
owner = "cryptpad";
|
||||
|
@ -57,20 +66,21 @@
|
|||
(version: "cp -Tr ${final.pname}-${version}-source $out/${version}")
|
||||
(builtins.attrNames onlyOfficeVersions)
|
||||
)}
|
||||
cp -Tr $x2t $out/x2t
|
||||
'';
|
||||
});
|
||||
in buildNpmPackage rec {
|
||||
pname = "cryptpad";
|
||||
version = "2024.3.1";
|
||||
version = "2024.6.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cryptpad";
|
||||
repo = "cryptpad";
|
||||
rev = version;
|
||||
hash = "sha256-kXghuktaKicFOz98Siy/OjJ9rlgy6C2BTKkD2OFLE+k=";
|
||||
hash = "sha256-qwyXpTY8Ds7R5687PVGZa/rlEyrAZjNzJ4+VQZpF8v0=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-fjImdtv0bwgdDvl/BXV0DesreOAW2u8HsNqJ13hrJMw=";
|
||||
npmDepsHash = "sha256-GSTPsXqe/rxiDh5OW2t+ZY1YRNgRSDxkJ0pvcLIFtFw=";
|
||||
|
||||
inherit nodejs;
|
||||
|
||||
|
@ -107,6 +117,10 @@ in buildNpmPackage rec {
|
|||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit onlyOffice;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Collaborative office suite, end-to-end encrypted and open-source.";
|
||||
homepage = "https://cryptpad.org";
|
||||
|
|
|
@ -5,8 +5,10 @@
|
|||
pkgs = import sources.nixpkgs {};
|
||||
in rec {
|
||||
cryptpad = pkgs.callPackage ./default.nix {};
|
||||
docker = pkgs.callPackage ./docker.nix {
|
||||
docker = import ./docker.nix {
|
||||
inherit pkgs;
|
||||
inherit name tag;
|
||||
inherit cryptpad;
|
||||
withOnlyOffice = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
"pins": {
|
||||
"nixpkgs": {
|
||||
"type": "Channel",
|
||||
"name": "nixos-23.11",
|
||||
"url": "https://releases.nixos.org/nixos/23.11/nixos-23.11.7237.46397778ef1f/nixexprs.tar.xz",
|
||||
"hash": "00cy8q07diavxb91g7pxl0gqc68s3hzimsggjc9rqyf99h1q9d3r"
|
||||
"name": "nixos-24.05",
|
||||
"url": "https://releases.nixos.org/nixos/24.05/nixos-24.05.3311.a1cc729dcbc3/nixexprs.tar.xz",
|
||||
"hash": "13al93fac4xdxj0jllfby2v9klwqdhsf3yg10mnsm9ys84v7gsnn"
|
||||
}
|
||||
},
|
||||
"version": 3
|
||||
|
|
|
@ -188,6 +188,12 @@ module.exports = {
|
|||
* DATABASE VOLUMES
|
||||
* ===================== */
|
||||
|
||||
/*
|
||||
* We need this config entry, else CryptPad will try to mkdir
|
||||
* some stuff into Nix store apparently...
|
||||
*/
|
||||
base: '/mnt/data',
|
||||
|
||||
/*
|
||||
* CryptPad stores each document in an individual file on your hard drive.
|
||||
* Specify a directory where files should be stored.
|
||||
|
|
|
@ -26,7 +26,7 @@ job "cryptpad" {
|
|||
}
|
||||
|
||||
config {
|
||||
image = "kokakiwi/cryptpad:2024.3.1"
|
||||
image = "kokakiwi/cryptpad:2024.6.1"
|
||||
ports = [ "http" ]
|
||||
|
||||
volumes = [
|
||||
|
|
|
@ -99,6 +99,12 @@
|
|||
address = "10.83.5.4";
|
||||
endpoint = "82.64.238.84:33743";
|
||||
};
|
||||
"pamplemousse" = {
|
||||
siteName = "corrin";
|
||||
publicKey = "6y5GrNXEql12AObuSfOHGxxUKpdlcyapu+juLYOEBhc=";
|
||||
address = "10.83.6.1";
|
||||
endpoint = "45.81.62.36:33731";
|
||||
};
|
||||
};
|
||||
|
||||
# Pin Nomad version
|
||||
|
|
|
@ -13,3 +13,4 @@ onion.machine.deuxfleurs.fr ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINjBQ67fxwuDDzRP
|
|||
oseille.machine.deuxfleurs.fr ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAgQdQ5UVFFn+DXN90ut9+V7NtEopQJnES3r8soKTZW4
|
||||
io.machine.deuxfleurs.fr ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIvgCJ7Jew7ou1RZuaT41Sd+ucZAgxUwtdieqNqoC3+T
|
||||
ortie.machine.deuxfleurs.fr ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMqtfIPLk8a5tM6Upj7GQwlIS16nBPrZYVXE2FVlO2Yn
|
||||
pamplemousse.machine.deuxfleurs.fr ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAI0M5qny9yQ6LNzWqPfSlOWwTYpvxQtuSpFiOb6aVtA
|
||||
|
|
14
cluster/prod/node/pamplemousse.nix
Normal file
14
cluster/prod/node/pamplemousse.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
# Configuration file local to this node
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.timeout = 5;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
deuxfleurs.hostName = "pamplemousse";
|
||||
deuxfleurs.staticIPv4.address = "192.168.5.201";
|
||||
deuxfleurs.staticIPv6.address = "2001:912:1ac0:2200::201";
|
||||
}
|
1
cluster/prod/node/pamplemousse.site.nix
Symbolic link
1
cluster/prod/node/pamplemousse.site.nix
Symbolic link
|
@ -0,0 +1 @@
|
|||
../site/corrin.nix
|
8
cluster/prod/site/corrin.nix
Normal file
8
cluster/prod/site/corrin.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
deuxfleurs.siteName = "corrin";
|
||||
deuxfleurs.staticIPv4.defaultGateway = "192.168.5.1";
|
||||
deuxfleurs.cnameTarget = "corrin.site.deuxfleurs.fr.";
|
||||
deuxfleurs.publicIPv4 = "45.81.62.36";
|
||||
}
|
|
@ -44,3 +44,6 @@ Host io
|
|||
|
||||
Host ortie
|
||||
HostName ortie.machine.deuxfleurs.fr
|
||||
|
||||
Host pamplemousse
|
||||
HostName 2001:912:1ac0:2200::201
|
||||
|
|
|
@ -54,7 +54,7 @@ job "core-diplonat" {
|
|||
data = <<EOH
|
||||
DIPLONAT_REFRESH_TIME=60
|
||||
DIPLONAT_EXPIRATION_TIME=300
|
||||
DIPLONAT_IPV6_ONLY={{ $site := env "meta.site" }}{{ if eq $site "corrin" }}false{{ else }}true{{ end }}
|
||||
DIPLONAT_IPV6_ONLY=true
|
||||
DIPLONAT_CONSUL_NODE_NAME={{ env "attr.unique.hostname" }}
|
||||
DIPLONAT_CONSUL_URL=https://localhost:8501
|
||||
DIPLONAT_CONSUL_CA_CERT=/etc/diplonat/consul-ca.crt
|
||||
|
|
|
@ -78,23 +78,6 @@ SystemMaxUse=1G
|
|||
services.openssh.enable = true;
|
||||
services.openssh.settings.PasswordAuthentication = false;
|
||||
|
||||
# FIXME: Temporary patch for OpenSSH (CVE-2024-6387)
|
||||
# Patches from backport PR: https://github.com/NixOS/nixpkgs/pull/323765
|
||||
programs.ssh.package = pkgs.openssh.overrideAttrs(prev: {
|
||||
patches = prev.patches ++ [
|
||||
(pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/emilazy/nixpkgs/c21c340818954576c6401ad460a9d42bab030bc4/pkgs/tools/networking/openssh/openssh-9.6_p1-CVE-2024-6387.patch";
|
||||
hash = "sha256-B3Wz/eWSdOnrOcVzDv+QqzLGdFlb3jivQ8qZMC3d0Qw=";
|
||||
})
|
||||
(pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/emilazy/nixpkgs/c21c340818954576c6401ad460a9d42bab030bc4/pkgs/tools/networking/openssh/openssh-9.6_p1-chaff-logic.patch";
|
||||
hash = "sha256-lepBEFxKTAwg379iCD8KQCZVAzs3qNSSyUTOcartpK4=";
|
||||
})
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
});
|
||||
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
extraOptions = "--config-file=${pkgs.writeText "daemon.json" (builtins.toJSON {
|
||||
|
|
Loading…
Reference in a new issue