Compare commits
5 Commits
0ed99176ad
...
3263d72b59
| Author | SHA1 | Date | |
|---|---|---|---|
|
3263d72b59
|
|||
|
1c7e5b9f05
|
|||
|
1da34bf704
|
|||
|
88107f9fe7
|
|||
|
5d1f622782
|
@@ -34,6 +34,7 @@
|
|||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBWOy0QmAyxENg/O5m3cus8U3c9jCLioivwcWsh5/a82 imxyy-hisense-pad"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBWOy0QmAyxENg/O5m3cus8U3c9jCLioivwcWsh5/a82 imxyy-hisense-pad"
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK8pivvE8PMtsOxmccfNhH/4KehDKhBfUfJbQZxo/SZT imxyy-ace5"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK8pivvE8PMtsOxmccfNhH/4KehDKhBfUfJbQZxo/SZT imxyy-ace5"
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKALTBn/QSGcSPgMg0ViSazFcaA0+nEF05EJpjbsI6dE imxyy_soope_@imxyy-cloudwin"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKALTBn/QSGcSPgMg0ViSazFcaA0+nEF05EJpjbsI6dE imxyy_soope_@imxyy-cloudwin"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMb5G/ieEYBOng66YeyttBQLThyM6W//z2POsNyq4Rw/ imxyy@imxyy-nix-x16"
|
||||||
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIENauvvhVMLsUwH9cPYsvnOg7VCL3a4yEiKm8I524TE efl@efl-nix"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIENauvvhVMLsUwH9cPYsvnOg7VCL3a4yEiKm8I524TE efl@efl-nix"
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -7,26 +7,22 @@
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
services.postgresql.ensureDatabases = [ "coder" ];
|
services.postgresql.ensureDatabases = [ "coder" ];
|
||||||
virtualisation.oci-containers = {
|
virtualisation.oci-containers.containers.coder = {
|
||||||
containers = {
|
image = "ghcr.io/coder/coder:latest";
|
||||||
coder = {
|
environment = {
|
||||||
image = "ghcr.io/coder/coder:latest";
|
CODER_ACCESS_URL = "https://coder.imxyy.top";
|
||||||
environment = {
|
CODER_HTTP_ADDRESS = "0.0.0.0:8086";
|
||||||
CODER_ACCESS_URL = "https://coder.imxyy.top";
|
CODER_PG_CONNECTION_URL = "postgresql://coder:coderdatabase@127.0.0.1/coder?sslmode=disable";
|
||||||
CODER_HTTP_ADDRESS = "0.0.0.0:8086";
|
|
||||||
CODER_PG_CONNECTION_URL = "postgresql://coder:coderdatabase@127.0.0.1/coder?sslmode=disable";
|
|
||||||
};
|
|
||||||
extraOptions = [
|
|
||||||
"--network=host"
|
|
||||||
"--group-add=${toString config.users.groups.podman.gid}"
|
|
||||||
];
|
|
||||||
volumes = [
|
|
||||||
"/var/lib/coder:/home/coder/.config"
|
|
||||||
"/var/run/docker.sock:/var/run/docker.sock"
|
|
||||||
];
|
|
||||||
ports = [ "8086:8086" ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
extraOptions = [
|
||||||
|
"--network=host"
|
||||||
|
"--group-add=${toString config.users.groups.podman.gid}"
|
||||||
|
];
|
||||||
|
volumes = [
|
||||||
|
"/var/lib/coder:/home/coder/.config"
|
||||||
|
"/var/run/docker.sock:/var/run/docker.sock"
|
||||||
|
];
|
||||||
|
ports = [ "8086:8086" ];
|
||||||
};
|
};
|
||||||
services.caddy.virtualHosts."coder.imxyy.top" = {
|
services.caddy.virtualHosts."coder.imxyy.top" = {
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
|
|||||||
@@ -1,14 +1,10 @@
|
|||||||
{
|
{
|
||||||
virtualisation.oci-containers = {
|
virtualisation.oci-containers.containers.sun-panel = {
|
||||||
containers = {
|
image = "hslr/sun-panel:latest";
|
||||||
sun-panel = {
|
volumes = [
|
||||||
image = "hslr/sun-panel:latest";
|
"/var/lib/sun-panel:/app/conf"
|
||||||
volumes = [
|
];
|
||||||
"/var/lib/sun-panel:/app/conf"
|
ports = [ "8085:3002" ];
|
||||||
];
|
|
||||||
ports = [ "8085:3002" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
services.caddy.virtualHosts."home.imxyy.top" = {
|
services.caddy.virtualHosts."home.imxyy.top" = {
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
{ ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
|
users.users.immich = {
|
||||||
|
home = "/mnt/nas/immich";
|
||||||
|
createHome = true;
|
||||||
|
};
|
||||||
services.immich = {
|
services.immich = {
|
||||||
enable = true;
|
enable = true;
|
||||||
host = "127.0.0.1";
|
host = "127.0.0.1";
|
||||||
|
|||||||
@@ -132,12 +132,14 @@
|
|||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBWOy0QmAyxENg/O5m3cus8U3c9jCLioivwcWsh5/a82 imxyy-hisense-pad"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBWOy0QmAyxENg/O5m3cus8U3c9jCLioivwcWsh5/a82 imxyy-hisense-pad"
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK8pivvE8PMtsOxmccfNhH/4KehDKhBfUfJbQZxo/SZT imxyy-ace5"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK8pivvE8PMtsOxmccfNhH/4KehDKhBfUfJbQZxo/SZT imxyy-ace5"
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKALTBn/QSGcSPgMg0ViSazFcaA0+nEF05EJpjbsI6dE imxyy_soope_@imxyy-cloudwin"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKALTBn/QSGcSPgMg0ViSazFcaA0+nEF05EJpjbsI6dE imxyy_soope_@imxyy-cloudwin"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMb5G/ieEYBOng66YeyttBQLThyM6W//z2POsNyq4Rw/ imxyy@imxyy-nix-x16"
|
||||||
];
|
];
|
||||||
users.users.${username}.openssh.authorizedKeys.keys = [
|
users.users.${username}.openssh.authorizedKeys.keys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOEFLUkyeaK8ZPPZdVNEmtx8zvoxi7xqS2Z6oxRBuUPO imxyy@imxyy-nix"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOEFLUkyeaK8ZPPZdVNEmtx8zvoxi7xqS2Z6oxRBuUPO imxyy@imxyy-nix"
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBWOy0QmAyxENg/O5m3cus8U3c9jCLioivwcWsh5/a82 imxyy-hisense-pad"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBWOy0QmAyxENg/O5m3cus8U3c9jCLioivwcWsh5/a82 imxyy-hisense-pad"
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK8pivvE8PMtsOxmccfNhH/4KehDKhBfUfJbQZxo/SZT imxyy-ace5"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK8pivvE8PMtsOxmccfNhH/4KehDKhBfUfJbQZxo/SZT imxyy-ace5"
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKALTBn/QSGcSPgMg0ViSazFcaA0+nEF05EJpjbsI6dE imxyy_soope_@imxyy-cloudwin"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKALTBn/QSGcSPgMg0ViSazFcaA0+nEF05EJpjbsI6dE imxyy_soope_@imxyy-cloudwin"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMb5G/ieEYBOng66YeyttBQLThyM6W//z2POsNyq4Rw/ imxyy@imxyy-nix-x16"
|
||||||
];
|
];
|
||||||
|
|
||||||
sops.secrets.dae-imxyy-nix-server = {
|
sops.secrets.dae-imxyy-nix-server = {
|
||||||
@@ -407,6 +409,21 @@
|
|||||||
customDomains = [ "immich.imxyy.top" ];
|
customDomains = [ "immich.imxyy.top" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "memo-http";
|
||||||
|
type = "http";
|
||||||
|
localIP = "127.0.0.1";
|
||||||
|
localPort = 80;
|
||||||
|
customDomains = [ "memo.imxyy.top" ];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "memo-https";
|
||||||
|
type = "https";
|
||||||
|
localIP = "127.0.0.1";
|
||||||
|
localPort = 443;
|
||||||
|
customDomains = [ "memo.imxyy.top" ];
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
name = "minecraft";
|
name = "minecraft";
|
||||||
type = "tcp";
|
type = "tcp";
|
||||||
@@ -449,10 +466,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
systemd.services."headscale" = {
|
systemd.services."headscale" = {
|
||||||
serviceConfig = {
|
|
||||||
Restart = "always";
|
|
||||||
RestartSec = 120;
|
|
||||||
};
|
|
||||||
after = [
|
after = [
|
||||||
"podman-obligator.service"
|
"podman-obligator.service"
|
||||||
];
|
];
|
||||||
@@ -481,27 +494,23 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation.oci-containers = {
|
virtualisation.oci-containers.containers.obligator = {
|
||||||
containers = {
|
image = "anderspitman/obligator:latest";
|
||||||
obligator = {
|
volumes = [
|
||||||
image = "anderspitman/obligator:latest";
|
"/var/lib/obligator:/data"
|
||||||
volumes = [
|
"/var/lib/obligator:/api"
|
||||||
"/var/lib/obligator:/data"
|
];
|
||||||
"/var/lib/obligator:/api"
|
ports = [ "8081:1616" ];
|
||||||
];
|
cmd = [
|
||||||
ports = [ "8081:1616" ];
|
"-storage-dir"
|
||||||
cmd = [
|
"/data"
|
||||||
"-storage-dir"
|
"-api-socket-dir"
|
||||||
"/data"
|
"/api"
|
||||||
"-api-socket-dir"
|
"-root-uri"
|
||||||
"/api"
|
"https://oidc.imxyy.top"
|
||||||
"-root-uri"
|
"-port"
|
||||||
"https://oidc.imxyy.top"
|
"1616"
|
||||||
"-port"
|
];
|
||||||
"1616"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
services.caddy.virtualHosts."headscale.imxyy.top" = {
|
services.caddy.virtualHosts."headscale.imxyy.top" = {
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
@@ -567,6 +576,7 @@
|
|||||||
"ai"
|
"ai"
|
||||||
"sy"
|
"sy"
|
||||||
"minio"
|
"minio"
|
||||||
|
"immich"
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -14,36 +14,41 @@
|
|||||||
format = "dotenv";
|
format = "dotenv";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
virtualisation.oci-containers = {
|
virtualisation.oci-containers.containers = {
|
||||||
containers = {
|
flatnotes = {
|
||||||
flatnotes = {
|
image = "dullage/flatnotes:latest";
|
||||||
image = "dullage/flatnotes:latest";
|
volumes = [
|
||||||
volumes = [
|
"/mnt/nas/flatnotes/data:/data"
|
||||||
"/mnt/nas/flatnotes/data:/data"
|
];
|
||||||
];
|
environmentFiles = [
|
||||||
environmentFiles = [
|
"${config.sops.secrets.flatnote-env.path}"
|
||||||
"${config.sops.secrets.flatnote-env.path}"
|
];
|
||||||
];
|
ports = [ "8093:8080" ];
|
||||||
ports = [ "8093:8080" ];
|
};
|
||||||
};
|
siyuan = {
|
||||||
siyuan = {
|
image = "apkdv/siyuan-unlock:v3.1.30";
|
||||||
image = "apkdv/siyuan-unlock:v3.1.30";
|
volumes = [
|
||||||
volumes = [
|
"/mnt/nas/siyuan/workspace:/workspace"
|
||||||
"/mnt/nas/siyuan/workspace:/workspace"
|
"/mnt/nas/siyuan:/home/siyuan"
|
||||||
"/mnt/nas/siyuan:/home/siyuan"
|
];
|
||||||
];
|
cmd = [
|
||||||
cmd = [
|
"--workspace=/workspace"
|
||||||
"--workspace=/workspace"
|
];
|
||||||
];
|
environment = {
|
||||||
environment = {
|
PUID = "0";
|
||||||
PUID = "0";
|
PGID = "0";
|
||||||
PGID = "0";
|
|
||||||
};
|
|
||||||
environmentFiles = [
|
|
||||||
"${config.sops.secrets.siyuan-env.path}"
|
|
||||||
];
|
|
||||||
ports = [ "8095:6806" ];
|
|
||||||
};
|
};
|
||||||
|
environmentFiles = [
|
||||||
|
"${config.sops.secrets.siyuan-env.path}"
|
||||||
|
];
|
||||||
|
ports = [ "8095:6806" ];
|
||||||
|
};
|
||||||
|
memos = {
|
||||||
|
image = "neosmemo/memos:stable";
|
||||||
|
volumes = [
|
||||||
|
"/mnt/nas/memos:/var/opt/memos"
|
||||||
|
];
|
||||||
|
ports = [ "8097:5230" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
services.caddy.virtualHosts = {
|
services.caddy.virtualHosts = {
|
||||||
@@ -57,5 +62,10 @@
|
|||||||
reverse_proxy :8095
|
reverse_proxy :8095
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
"memo.imxyy.top" = {
|
||||||
|
extraConfig = ''
|
||||||
|
reverse_proxy :8097
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ lib.my.makeHomeProgramConfig {
|
|||||||
ui = {
|
ui = {
|
||||||
graph.style = "square";
|
graph.style = "square";
|
||||||
default-command = "status";
|
default-command = "status";
|
||||||
|
conflict-marker-style = "snapshot";
|
||||||
};
|
};
|
||||||
signing = {
|
signing = {
|
||||||
backend = "ssh";
|
backend = "ssh";
|
||||||
|
|||||||
Reference in New Issue
Block a user