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
runs-on: ubuntu-22.04
steps:
- uses: cachix/install-nix-action@v31
- 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
uses: shimataro/ssh-key-action@v2
with:

View File

@ -2,6 +2,7 @@
modulesPath,
lib,
pkgs,
config,
...
}:
{
@ -51,18 +52,25 @@
time.timeZone = "Europe/Paris";
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
nixpkgs.config.allowUnfree = true;
users.users = {
zimablade = {
isNormalUser = true;
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 = {
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"
];
environment.systemPackages = map lib.lowPrio [
pkgs.curl
pkgs.gitMinimal
] ++ (with pkgs; [
helix
httpie
btop
tmux
# firefox
]);
environment.systemPackages =
map lib.lowPrio [
pkgs.curl
pkgs.gitMinimal
]
++ (with pkgs; [
helix
httpie
btop
tmux
# firefox
]);
services = {
openssh = {

View File

@ -1,4 +1,5 @@
{inputs, pkgs, ...}: {
{ inputs, pkgs, ... }:
{
imports = [ inputs.copyparty.nixosModules.default ];
nixpkgs.overlays = [ inputs.copyparty.overlays.default ];
environment.systemPackages = [ pkgs.copyparty ];
@ -11,7 +12,9 @@
e2ts = true;
z = true;
qr = true;
xff-hdr = "X-Real-IP";
xff-src = "lan";
rproxy = 1;
http-only = true;
og = true;
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
# striped-front = inputs.striped-front;
sin-address = "192.168.1.14";
in {
in
{
networking.firewall.allowedTCPPorts = [ 80 443 8448 ];
networking.firewall.allowedTCPPorts = [
80
443
8448
];
services.nginx = {
enable = true;
@ -13,112 +18,115 @@ in {
recommendedTlsSettings = true;
virtualHosts =
let
mkStarr = host: port: {
"${host}" = {
enableACME = true;
forceSSL = true;
let
mkStarr = host: port: {
"${host}" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://${sin-address}:${port}";
proxyWebsockets = true;
extraConfig = ''
proxy_ssl_server_name on;
proxy_read_timeout 4800s;
'';
locations."/" = {
proxyPass = "http://${sin-address}:${port}";
proxyWebsockets = true;
extraConfig = ''
proxy_ssl_server_name on;
proxy_read_timeout 4800s;
'';
};
};
};
};
in
(
mkStarr "jellyfin.shobu.fr" "8096"
// mkStarr "radarr.shobu.fr" "7878"
// mkStarr "sonarr.shobu.fr" "8989"
// mkStarr "prowlarr.shobu.fr" "9696"
// mkStarr "bazarr.shobu.fr" "6767"
// mkStarr "jellyseerr.shobu.fr" "5055"
// mkStarr "fileshelter.shobu.fr" "5091"
// mkStarr "lidarr.shobu.fr" "8686"
// mkStarr "transmission.shobu.fr" "9091"
// mkStarr "zimablade-admin.shobu.fr" "61208"
// {
"shobu.fr" = {
enableACME = true;
forceSSL = true;
in
(
mkStarr "jellyfin.shobu.fr" "8096"
// mkStarr "radarr.shobu.fr" "7878"
// mkStarr "sonarr.shobu.fr" "8989"
// mkStarr "prowlarr.shobu.fr" "9696"
// mkStarr "bazarr.shobu.fr" "6767"
// mkStarr "jellyseerr.shobu.fr" "5055"
// mkStarr "fileshelter.shobu.fr" "5091"
// mkStarr "lidarr.shobu.fr" "8686"
// mkStarr "transmission.shobu.fr" "9091"
// mkStarr "zimablade-admin.shobu.fr" "61208"
// {
"shobu.fr" = {
enableACME = true;
forceSSL = true;
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;
'';
root = "${inputs.shoblog-front.packages.x86_64-linux.default}/dist";
};
};
"bddtrans-api.shobu.fr" = {
enableACME = true;
forceSSL = true;
"data.shobu.fr" = {
enableACME = 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";
proxyWebsockets = true;
extraConfig = ''
proxy_ssl_server_name on;
'';
proxyWebsockets = true;
extraConfig = ''
proxy_ssl_server_name on;
'';
};
};
};
# "striped.shobu.fr" = {
# enableACME = true;
# forceSSL = true;
# "striped.shobu.fr" = {
# enableACME = true;
# forceSSL = true;
# root = "${striped-front.packages.x86_64-linux.default}/dist";
# };
"dashboard.shobu.fr" = {
enableACME = true;
forceSSL = true;
# root = "${striped-front.packages.x86_64-linux.default}/dist";
# };
"dashboard.shobu.fr" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://${sin-address}:8082";
locations."/" = {
proxyPass = "http://${sin-address}:8082";
};
};
};
"git.shobu.fr" = {
enableACME = true;
forceSSL = true;
"git.shobu.fr" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://${sin-address}:3000";
locations."/" = {
proxyPass = "http://${sin-address}:3000";
};
};
};
"files.shobu.fr" = {
enableACME = true;
forceSSL = true;
"files.shobu.fr" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://${sin-address}:8086";
locations."/" = {
proxyPass = "http://${sin-address}:8086";
extraConfig = ''
proxy_set_header X-Real-IP $remote_addr;
'';
};
};
};
# "matrix.shobu.fr" = {
# forceSSL = true;
# enableACME = true;
# locations."/".extraConfig = ''
# return 404;
# '';
# locations."/_matrix".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";
# };
}
);
# "matrix.shobu.fr" = {
# forceSSL = true;
# enableACME = true;
# locations."/".extraConfig = ''
# return 404;
# '';
# locations."/_matrix".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";
# };
}
);
};
security.acme = {