Compare commits

..

11 Commits

Author SHA1 Message Date
Awen Lelu
8ee5550803 added lan option to copyparty
All checks were successful
/ perform flake analysis (push) Successful in 31s
/ build hive configuration (push) Successful in 8m8s
2025-12-05 13:24:35 +01:00
Awen Lelu
db23c300fe removed ollama and copyparty setup for nginx
All checks were successful
/ perform flake analysis (push) Successful in 47s
/ build hive configuration (push) Successful in 8m13s
2025-12-05 13:13:45 +01:00
Awen Lelu
24954e5367 added ollama service
Some checks failed
/ perform flake analysis (push) Successful in 32s
/ build hive configuration (push) Failing after 1h10m10s
2025-11-21 21:15:33 +01:00
Awen Lelu
1a80911b3f added ollama service
Some checks are pending
/ perform flake analysis (push) Successful in 35s
/ build hive configuration (push) Has started running
2025-11-21 21:04:05 +01:00
Awen Lelu
ddf12655bc use 390 serie of driver
Some checks are pending
/ perform flake analysis (push) Successful in 33s
/ build hive configuration (push) Has started running
2025-11-21 20:25:53 +01:00
Awen Lelu
e5207d10ab accept nvidia term of usage
All checks were successful
/ perform flake analysis (push) Successful in 33s
/ build hive configuration (push) Successful in 11m19s
2025-11-21 19:39:48 +01:00
Awen Lelu
2f4c425c50 use legacy nvidia drivers
Some checks failed
/ perform flake analysis (push) Successful in 32s
/ build hive configuration (push) Failing after 1m12s
2025-11-21 19:31:10 +01:00
Awen Lelu
70d25c574d add nvidia drivers to sin
All checks were successful
/ perform flake analysis (push) Successful in 1m20s
/ build hive configuration (push) Successful in 13m6s
2025-11-21 18:47:16 +01:00
Awen Lelu
9a9cc67b1c remove caching
All checks were successful
/ perform flake analysis (push) Successful in 32s
/ build hive configuration (push) Successful in 8m15s
2025-11-15 00:34:07 +01:00
Awen Lelu
0266841088 edit cache settings
Some checks failed
/ perform flake analysis (push) Successful in 38s
/ build hive configuration (push) Failing after 44s
2025-11-14 18:36:19 +01:00
7bdb31c46c Merge pull request 'add gitea runner configuration' (#1) from test-deploy into master
All checks were successful
/ perform flake analysis (push) Successful in 32s
/ build hive configuration (push) Successful in 7m49s
Reviewed-on: #1
2025-11-12 16:50:47 +01:00
5 changed files with 155 additions and 131 deletions

View File

@ -11,26 +11,8 @@ jobs:
name: build hive configuration name: build hive configuration
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- uses: cachix/install-nix-action@v31
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: DeterminateSystems/nix-installer-action@main
- name: Restore and save Nix store
uses: nix-community/cache-nix-action@v6
with:
# restore and save a cache using this key
primary-key: nix-${{ runner.os }}-${{ hashFiles('**/*.nix', '**/flake.lock') }}
# if there's no cache hit, restore a cache by this prefix
restore-prefixes-first-match: nix-${{ runner.os }}-
# collect garbage until the Nix store size (in bytes) is at most this number
# before trying to save a new cache
# 1G = 1073741824
gc-max-store-size-linux: 1G
# do purge caches
purge: true
# purge all versions of the cache
purge-prefixes: nix-${{ runner.os }}-
# created more than this number of seconds ago
purge-created: 60000
purge-primary-key: never
- name: Install SSH key - name: Install SSH key
uses: shimataro/ssh-key-action@v2 uses: shimataro/ssh-key-action@v2
with: with:

View File

@ -2,6 +2,7 @@
modulesPath, modulesPath,
lib, lib,
pkgs, pkgs,
config,
... ...
}: }:
{ {
@ -51,18 +52,25 @@
time.timeZone = "Europe/Paris"; time.timeZone = "Europe/Paris";
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = [
"nix-command"
"flakes"
];
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
users.users = { users.users = {
zimablade = { zimablade = {
isNormalUser = true; isNormalUser = true;
extraGroups = [ "wheel" ]; extraGroups = [ "wheel" ];
openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKsu+4S+BHmypQTq2IR9y+ihvbF7sXbBznKtIjVAeHJ1 shobu@nixos" ]; openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKsu+4S+BHmypQTq2IR9y+ihvbF7sXbBznKtIjVAeHJ1 shobu@nixos"
];
}; };
shobu = { shobu = {
isNormalUser = true; isNormalUser = true;
openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKsu+4S+BHmypQTq2IR9y+ihvbF7sXbBznKtIjVAeHJ1 shobu@nixos" ]; openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKsu+4S+BHmypQTq2IR9y+ihvbF7sXbBznKtIjVAeHJ1 shobu@nixos"
];
}; };
}; };
@ -71,16 +79,18 @@
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKsu+4S+BHmypQTq2IR9y+ihvbF7sXbBznKtIjVAeHJ1 shobu@nixos" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKsu+4S+BHmypQTq2IR9y+ihvbF7sXbBznKtIjVAeHJ1 shobu@nixos"
]; ];
environment.systemPackages = map lib.lowPrio [ environment.systemPackages =
pkgs.curl map lib.lowPrio [
pkgs.gitMinimal pkgs.curl
] ++ (with pkgs; [ pkgs.gitMinimal
helix ]
httpie ++ (with pkgs; [
btop helix
tmux httpie
# firefox btop
]); tmux
# firefox
]);
services = { services = {
openssh = { openssh = {

View File

@ -1,4 +1,5 @@
{inputs, pkgs, ...}: { { inputs, pkgs, ... }:
{
imports = [ inputs.copyparty.nixosModules.default ]; imports = [ inputs.copyparty.nixosModules.default ];
nixpkgs.overlays = [ inputs.copyparty.overlays.default ]; nixpkgs.overlays = [ inputs.copyparty.overlays.default ];
environment.systemPackages = [ pkgs.copyparty ]; environment.systemPackages = [ pkgs.copyparty ];
@ -11,7 +12,9 @@
e2ts = true; e2ts = true;
z = true; z = true;
qr = true; qr = true;
xff-hdr = "X-Real-IP";
xff-src = "lan"; xff-src = "lan";
rproxy = 1;
http-only = true; http-only = true;
og = true; og = true;
shr = "/shares"; shr = "/shares";

21
hosts/sin/ollama.nix Normal file
View File

@ -0,0 +1,21 @@
{ inputs, ... }:
{
# virtualisation.docker = {
# enable = true;
# storageDriver = "btrfs";
# };
services.ollama = {
enable = true;
openFirewall = true;
loadModels = [ ];
acceleration = "cuda";
};
services.open-webui = {
enable = true;
openFirewall = true;
host = "0.0.0.0";
port = 8050;
};
}

View File

@ -1,11 +1,16 @@
{inputs, ...}: { inputs, ... }:
let let
# striped-front = inputs.striped-front; # striped-front = inputs.striped-front;
sin-address = "192.168.1.14"; sin-address = "192.168.1.14";
in { in
{
networking.firewall.allowedTCPPorts = [ 80 443 8448 ]; networking.firewall.allowedTCPPorts = [
80
443
8448
];
services.nginx = { services.nginx = {
enable = true; enable = true;
@ -13,112 +18,115 @@ in {
recommendedTlsSettings = true; recommendedTlsSettings = true;
virtualHosts = virtualHosts =
let let
mkStarr = host: port: { mkStarr = host: port: {
"${host}" = { "${host}" = {
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;
locations."/" = { locations."/" = {
proxyPass = "http://${sin-address}:${port}"; proxyPass = "http://${sin-address}:${port}";
proxyWebsockets = true; proxyWebsockets = true;
extraConfig = '' extraConfig = ''
proxy_ssl_server_name on; proxy_ssl_server_name on;
proxy_read_timeout 4800s; proxy_read_timeout 4800s;
''; '';
};
}; };
}; };
}; in
in (
( mkStarr "jellyfin.shobu.fr" "8096"
mkStarr "jellyfin.shobu.fr" "8096" // mkStarr "radarr.shobu.fr" "7878"
// mkStarr "radarr.shobu.fr" "7878" // mkStarr "sonarr.shobu.fr" "8989"
// mkStarr "sonarr.shobu.fr" "8989" // mkStarr "prowlarr.shobu.fr" "9696"
// mkStarr "prowlarr.shobu.fr" "9696" // mkStarr "bazarr.shobu.fr" "6767"
// mkStarr "bazarr.shobu.fr" "6767" // mkStarr "jellyseerr.shobu.fr" "5055"
// mkStarr "jellyseerr.shobu.fr" "5055" // mkStarr "fileshelter.shobu.fr" "5091"
// mkStarr "fileshelter.shobu.fr" "5091" // mkStarr "lidarr.shobu.fr" "8686"
// mkStarr "lidarr.shobu.fr" "8686" // mkStarr "transmission.shobu.fr" "9091"
// mkStarr "transmission.shobu.fr" "9091" // mkStarr "zimablade-admin.shobu.fr" "61208"
// mkStarr "zimablade-admin.shobu.fr" "61208" // {
// { "shobu.fr" = {
"shobu.fr" = { enableACME = true;
enableACME = true; forceSSL = true;
forceSSL = true;
root = "${inputs.shoblog-front.packages.x86_64-linux.default}/dist"; root = "${inputs.shoblog-front.packages.x86_64-linux.default}/dist";
};
"data.shobu.fr" = {
enableACME = true;
forceSSL = true;
root = "/mnt/shares/data";
};
"bddtrans.shobu.fr" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://${sin-address}:8001";
extraConfig = ''
proxy_ssl_server_name on;
'';
}; };
}; "data.shobu.fr" = {
"bddtrans-api.shobu.fr" = { enableACME = true;
enableACME = true; forceSSL = true;
forceSSL = true;
locations."/" = { root = "/mnt/shares/data";
};
"bddtrans.shobu.fr" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://${sin-address}:8001";
extraConfig = ''
proxy_ssl_server_name on;
'';
};
};
"bddtrans-api.shobu.fr" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://${sin-address}:8000"; proxyPass = "http://${sin-address}:8000";
proxyWebsockets = true; proxyWebsockets = true;
extraConfig = '' extraConfig = ''
proxy_ssl_server_name on; proxy_ssl_server_name on;
''; '';
};
}; };
}; # "striped.shobu.fr" = {
# "striped.shobu.fr" = { # enableACME = true;
# enableACME = true; # forceSSL = true;
# forceSSL = true;
# root = "${striped-front.packages.x86_64-linux.default}/dist"; # root = "${striped-front.packages.x86_64-linux.default}/dist";
# }; # };
"dashboard.shobu.fr" = { "dashboard.shobu.fr" = {
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;
locations."/" = { locations."/" = {
proxyPass = "http://${sin-address}:8082"; proxyPass = "http://${sin-address}:8082";
};
}; };
}; "git.shobu.fr" = {
"git.shobu.fr" = { enableACME = true;
enableACME = true; forceSSL = true;
forceSSL = true;
locations."/" = { locations."/" = {
proxyPass = "http://${sin-address}:3000"; proxyPass = "http://${sin-address}:3000";
};
}; };
}; "files.shobu.fr" = {
"files.shobu.fr" = { enableACME = true;
enableACME = true; forceSSL = true;
forceSSL = true;
locations."/" = { locations."/" = {
proxyPass = "http://${sin-address}:8086"; proxyPass = "http://${sin-address}:8086";
extraConfig = ''
proxy_set_header X-Real-IP $remote_addr;
'';
};
}; };
}; # "matrix.shobu.fr" = {
# "matrix.shobu.fr" = { # forceSSL = true;
# forceSSL = true; # enableACME = true;
# enableACME = true; # locations."/".extraConfig = ''
# locations."/".extraConfig = '' # return 404;
# return 404; # '';
# ''; # locations."/_matrix".proxyPass = "http://${sin-address}:8008";
# locations."/_matrix".proxyPass = "http://${sin-address}:8008"; # locations."/_synapse/client".proxyPass = "http://${sin-address}:8008";
# locations."/_synapse/client".proxyPass = "http://${sin-address}:8008"; # locations."/.well-known/matrix/server".proxyPass = "http://${sin-address}:8008/.well-known/matrix/server";
# locations."/.well-known/matrix/server".proxyPass = "http://${sin-address}:8008/.well-known/matrix/server"; # };
# }; }
} );
);
}; };
security.acme = { security.acme = {