containers: rename sevices to arion-*
Signed-off-by: Myned <dev@bjork.tech>
This commit is contained in:
parent
9e368e5f80
commit
e98e4f41f3
11 changed files with 234 additions and 278 deletions
|
@ -12,18 +12,14 @@ in {
|
|||
#?? arion-actualbudget pull
|
||||
environment.shellAliases.arion-actualbudget = "sudo arion --prebuilt-file ${config.virtualisation.arion.projects.actualbudget.settings.out.dockerComposeYaml}";
|
||||
|
||||
virtualisation.arion.projects.actualbudget = {
|
||||
serviceName = "actualbudget";
|
||||
|
||||
settings.services = {
|
||||
actualbudget.service = {
|
||||
container_name = "actualbudget";
|
||||
image = "actualbudget/actual-server:24.9.0";
|
||||
ports = ["5006:5006"];
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/actualbudget/data:/data"];
|
||||
# TODO: Set up trusted proxies
|
||||
};
|
||||
virtualisation.arion.projects.actualbudget.settings.services = {
|
||||
actualbudget.service = {
|
||||
container_name = "actualbudget";
|
||||
image = "actualbudget/actual-server:24.9.0";
|
||||
ports = ["5006:5006"];
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/actualbudget/data:/data"];
|
||||
# TODO: Set up trusted proxies
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -21,21 +21,17 @@ in {
|
|||
#?? arion-coturn pull
|
||||
environment.shellAliases.arion-coturn = "sudo arion --prebuilt-file ${config.virtualisation.arion.projects.coturn.settings.out.dockerComposeYaml}";
|
||||
|
||||
virtualisation.arion.projects.coturn = {
|
||||
serviceName = "coturn";
|
||||
virtualisation.arion.projects.coturn.settings.services = {
|
||||
# https://conduwuit.puppyirl.gay/turn.html
|
||||
coturn.service = {
|
||||
container_name = "coturn";
|
||||
image = "coturn/coturn:4.6";
|
||||
network_mode = "host";
|
||||
restart = "unless-stopped";
|
||||
|
||||
settings.services = {
|
||||
# https://conduwuit.puppyirl.gay/turn.html
|
||||
coturn.service = {
|
||||
container_name = "coturn";
|
||||
image = "coturn/coturn:4.6";
|
||||
network_mode = "host";
|
||||
restart = "unless-stopped";
|
||||
|
||||
volumes = [
|
||||
"${config.custom.containers.directory}/coturn/coturn.conf:/etc/coturn/turnserver.conf"
|
||||
];
|
||||
};
|
||||
volumes = [
|
||||
"${config.custom.containers.directory}/coturn/coturn.conf:/etc/coturn/turnserver.conf"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -24,35 +24,31 @@ in {
|
|||
|
||||
networking.firewall.allowedTCPPorts = [22]; # SSH
|
||||
|
||||
virtualisation.arion.projects.forgejo = {
|
||||
serviceName = "forgejo";
|
||||
virtualisation.arion.projects.forgejo.settings.services = {
|
||||
# https://codeberg.org/forgejo/forgejo
|
||||
# https://forgejo.org/docs/latest/admin/
|
||||
#?? docker exec -it forgejo bash
|
||||
#?? sudo -u git forgejo admin user create --username USERNAME --random-password --email EMAIL --admin
|
||||
forgejo.service = {
|
||||
container_name = "forgejo";
|
||||
depends_on = ["db"];
|
||||
env_file = [config.age.secrets."${config.custom.profile}/forgejo/.env".path];
|
||||
image = "codeberg.org/forgejo/forgejo:8";
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/forgejo/data:/data"];
|
||||
|
||||
settings.services = {
|
||||
# https://codeberg.org/forgejo/forgejo
|
||||
# https://forgejo.org/docs/latest/admin/
|
||||
#?? docker exec -it forgejo bash
|
||||
#?? sudo -u git forgejo admin user create --username USERNAME --random-password --email EMAIL --admin
|
||||
forgejo.service = {
|
||||
container_name = "forgejo";
|
||||
depends_on = ["db"];
|
||||
env_file = [config.age.secrets."${config.custom.profile}/forgejo/.env".path];
|
||||
image = "codeberg.org/forgejo/forgejo:8";
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/forgejo/data:/data"];
|
||||
ports = [
|
||||
"127.0.0.1:3333:3000"
|
||||
"22:2222"
|
||||
];
|
||||
};
|
||||
|
||||
ports = [
|
||||
"127.0.0.1:3333:3000"
|
||||
"22:2222"
|
||||
];
|
||||
};
|
||||
|
||||
db.service = {
|
||||
container_name = "forgejo-db";
|
||||
env_file = [config.age.secrets."${config.custom.profile}/forgejo/db.env".path];
|
||||
image = "postgres:15";
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/forgejo/db:/var/lib/postgresql/data"];
|
||||
};
|
||||
db.service = {
|
||||
container_name = "forgejo-db";
|
||||
env_file = [config.age.secrets."${config.custom.profile}/forgejo/db.env".path];
|
||||
image = "postgres:15";
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/forgejo/db:/var/lib/postgresql/data"];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -21,18 +21,14 @@ in {
|
|||
#?? arion-foundryvtt pull
|
||||
environment.shellAliases.arion-foundryvtt = "sudo arion --prebuilt-file ${config.virtualisation.arion.projects.foundryvtt.settings.out.dockerComposeYaml}";
|
||||
|
||||
virtualisation.arion.projects.foundryvtt = {
|
||||
serviceName = "foundryvtt";
|
||||
|
||||
settings.services = {
|
||||
foundryvtt.service = {
|
||||
container_name = "foundryvtt";
|
||||
env_file = [config.age.secrets."${config.custom.profile}/foundryvtt/.env".path];
|
||||
image = "felddy/foundryvtt:12";
|
||||
ports = ["127.0.0.1:30000:30000"];
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/foundryvtt/data:/data"];
|
||||
};
|
||||
virtualisation.arion.projects.foundryvtt.settings.services = {
|
||||
foundryvtt.service = {
|
||||
container_name = "foundryvtt";
|
||||
env_file = [config.age.secrets."${config.custom.profile}/foundryvtt/.env".path];
|
||||
image = "felddy/foundryvtt:12";
|
||||
ports = ["127.0.0.1:30000:30000"];
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/foundryvtt/data:/data"];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -22,39 +22,35 @@ in {
|
|||
#?? arion-headscale pull
|
||||
environment.shellAliases.arion-headscale = "sudo arion --prebuilt-file ${config.virtualisation.arion.projects.headscale.settings.out.dockerComposeYaml}";
|
||||
|
||||
virtualisation.arion.projects.headscale = {
|
||||
serviceName = "headscale";
|
||||
virtualisation.arion.projects.headscale.settings.services = {
|
||||
# https://headscale.net/
|
||||
# https://github.com/juanfont/headscale
|
||||
# BUG: Does not support generic DoH/DoT
|
||||
# https://github.com/juanfont/headscale/issues/1312
|
||||
headscale.service = {
|
||||
command = "serve";
|
||||
container_name = "headscale";
|
||||
env_file = [config.age.secrets."${config.custom.profile}/headscale/.env".path];
|
||||
image = "headscale/headscale:v0.23.0-beta.4";
|
||||
restart = "unless-stopped";
|
||||
|
||||
settings.services = {
|
||||
# https://headscale.net/
|
||||
# https://github.com/juanfont/headscale
|
||||
# BUG: Does not support generic DoH/DoT
|
||||
# https://github.com/juanfont/headscale/issues/1312
|
||||
headscale.service = {
|
||||
command = "serve";
|
||||
container_name = "headscale";
|
||||
env_file = [config.age.secrets."${config.custom.profile}/headscale/.env".path];
|
||||
image = "headscale/headscale:v0.23.0-beta.4";
|
||||
restart = "unless-stopped";
|
||||
ports = [
|
||||
"9999:9999"
|
||||
"9090:9090"
|
||||
];
|
||||
|
||||
ports = [
|
||||
"9999:9999"
|
||||
"9090:9090"
|
||||
];
|
||||
volumes = [
|
||||
"${config.custom.containers.directory}/headscale/config:/etc/headscale"
|
||||
"${config.custom.containers.directory}/headscale/data:/var/lib/headscale"
|
||||
|
||||
volumes = [
|
||||
"${config.custom.containers.directory}/headscale/config:/etc/headscale"
|
||||
"${config.custom.containers.directory}/headscale/data:/var/lib/headscale"
|
||||
|
||||
# Minimum config.yaml
|
||||
# https://github.com/juanfont/headscale/blob/main/config-example.yaml
|
||||
# https://github.com/juanfont/headscale/blob/main/integration/hsic/config.go
|
||||
"${pkgs.writeText "config.yaml" ''
|
||||
noise:
|
||||
private_key_path: /var/lib/headscale/noise_private.key
|
||||
''}:/etc/headscale/config.yaml"
|
||||
];
|
||||
};
|
||||
# Minimum config.yaml
|
||||
# https://github.com/juanfont/headscale/blob/main/config-example.yaml
|
||||
# https://github.com/juanfont/headscale/blob/main/integration/hsic/config.go
|
||||
"${pkgs.writeText "config.yaml" ''
|
||||
noise:
|
||||
private_key_path: /var/lib/headscale/noise_private.key
|
||||
''}:/etc/headscale/config.yaml"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -12,17 +12,13 @@ in {
|
|||
#?? arion-homeassistant pull
|
||||
environment.shellAliases.arion-homeassistant = "sudo arion --prebuilt-file ${config.virtualisation.arion.projects.homeassistant.settings.out.dockerComposeYaml}";
|
||||
|
||||
virtualisation.arion.projects.homeassistant = {
|
||||
serviceName = "homeassistant";
|
||||
|
||||
settings.services = {
|
||||
homeassistant.service = {
|
||||
container_name = "homeassistant";
|
||||
image = "homeassistant/home-assistant:2024.9.1";
|
||||
ports = ["8123:8123"];
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/homeassistant/config:/config"];
|
||||
};
|
||||
virtualisation.arion.projects.homeassistant.settings.services = {
|
||||
homeassistant.service = {
|
||||
container_name = "homeassistant";
|
||||
image = "homeassistant/home-assistant:2024.9.1";
|
||||
ports = ["8123:8123"];
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/homeassistant/config:/config"];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -22,40 +22,36 @@ in {
|
|||
#?? arion-mastodon pull
|
||||
environment.shellAliases.arion-mastodon = "sudo arion --prebuilt-file ${config.virtualisation.arion.projects.mastodon.settings.out.dockerComposeYaml}";
|
||||
|
||||
virtualisation.arion.projects.mastodon = {
|
||||
serviceName = "mastodon";
|
||||
virtualisation.arion.projects.mastodon.settings.services = {
|
||||
# https://github.com/linuxserver/docker-mastodon
|
||||
# https://github.com/mastodon/mastodon/blob/main/docker-compose.yml
|
||||
mastodon.service = {
|
||||
container_name = "mastodon";
|
||||
env_file = [config.age.secrets."${config.custom.profile}/mastodon/.env".path];
|
||||
image = "lscr.io/linuxserver/mastodon:4.2.12";
|
||||
ports = ["3000:443"];
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/mastodon/config:/config"];
|
||||
|
||||
settings.services = {
|
||||
# https://github.com/linuxserver/docker-mastodon
|
||||
# https://github.com/mastodon/mastodon/blob/main/docker-compose.yml
|
||||
mastodon.service = {
|
||||
container_name = "mastodon";
|
||||
env_file = [config.age.secrets."${config.custom.profile}/mastodon/.env".path];
|
||||
image = "lscr.io/linuxserver/mastodon:4.2.12";
|
||||
ports = ["3000:443"];
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/mastodon/config:/config"];
|
||||
depends_on = [
|
||||
"cache"
|
||||
"db"
|
||||
];
|
||||
};
|
||||
|
||||
depends_on = [
|
||||
"cache"
|
||||
"db"
|
||||
];
|
||||
};
|
||||
cache.service = {
|
||||
container_name = "mastodon-cache";
|
||||
image = "redis:latest";
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/mastodon/cache:/data"];
|
||||
};
|
||||
|
||||
cache.service = {
|
||||
container_name = "mastodon-cache";
|
||||
image = "redis:latest";
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/mastodon/cache:/data"];
|
||||
};
|
||||
|
||||
db.service = {
|
||||
container_name = "mastodon-db";
|
||||
env_file = [config.age.secrets."${config.custom.profile}/mastodon/db.env".path];
|
||||
image = "postgres:15";
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/mastodon/db:/var/lib/postgresql/data"];
|
||||
};
|
||||
db.service = {
|
||||
container_name = "mastodon-db";
|
||||
env_file = [config.age.secrets."${config.custom.profile}/mastodon/db.env".path];
|
||||
image = "postgres:15";
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/mastodon/db:/var/lib/postgresql/data"];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -24,63 +24,59 @@ in {
|
|||
environment.shellAliases.arion-netbox = "sudo arion --prebuilt-file ${config.virtualisation.arion.projects.netbox.settings.out.dockerComposeYaml}";
|
||||
|
||||
# https://github.com/netbox-community/netbox-docker
|
||||
virtualisation.arion.projects.netbox = {
|
||||
serviceName = "netbox";
|
||||
# https://github.com/netbox-community/netbox-docker/blob/release/docker-compose.yml
|
||||
virtualisation.arion.projects.netbox.settings.services = let
|
||||
netbox = {
|
||||
container_name = "netbox";
|
||||
depends_on = ["cache" "db"];
|
||||
env_file = [config.age.secrets."${config.custom.profile}/netbox/.env".path];
|
||||
image = "localhost/netbox"; # Built image
|
||||
restart = "unless-stopped";
|
||||
user = "unit:root";
|
||||
volumes = ["${config.custom.containers.directory}/netbox/media:/opt/netbox/netbox/media"];
|
||||
};
|
||||
in {
|
||||
netbox.service =
|
||||
netbox
|
||||
// {
|
||||
ports = ["8585:8080"];
|
||||
|
||||
# https://github.com/netbox-community/netbox-docker/blob/release/docker-compose.yml
|
||||
settings.services = let
|
||||
netbox = {
|
||||
container_name = "netbox";
|
||||
depends_on = ["cache" "db"];
|
||||
env_file = [config.age.secrets."${config.custom.profile}/netbox/.env".path];
|
||||
image = "localhost/netbox"; # Built image
|
||||
restart = "unless-stopped";
|
||||
user = "unit:root";
|
||||
volumes = ["${config.custom.containers.directory}/netbox/media:/opt/netbox/netbox/media"];
|
||||
};
|
||||
in {
|
||||
netbox.service =
|
||||
netbox
|
||||
// {
|
||||
ports = ["8585:8080"];
|
||||
|
||||
# https://github.com/netbox-community/netbox-docker/wiki/Using-Netbox-Plugins
|
||||
#!! Context modifications require a rebuild
|
||||
#?? arion-netbox build --no-cache
|
||||
build.context = "${./.}";
|
||||
};
|
||||
|
||||
housekeeping.service =
|
||||
netbox
|
||||
// {
|
||||
container_name = "netbox-housekeeping";
|
||||
command = ["/opt/netbox/housekeeping.sh"];
|
||||
depends_on = ["netbox"];
|
||||
};
|
||||
|
||||
worker.service =
|
||||
netbox
|
||||
// {
|
||||
container_name = "netbox-worker";
|
||||
command = ["/opt/netbox/venv/bin/python" "/opt/netbox/netbox/manage.py" "rqworker"];
|
||||
depends_on = ["netbox"];
|
||||
};
|
||||
|
||||
cache.service = {
|
||||
container_name = "netbox-cache";
|
||||
command = ["sh" "-c" "valkey-server --requirepass $$REDIS_PASSWORD"];
|
||||
env_file = [config.age.secrets."${config.custom.profile}/netbox/cache.env".path];
|
||||
image = "docker.io/valkey/valkey:8.0";
|
||||
restart = "unless-stopped";
|
||||
# https://github.com/netbox-community/netbox-docker/wiki/Using-Netbox-Plugins
|
||||
#!! Context modifications require a rebuild
|
||||
#?? arion-netbox build --no-cache
|
||||
build.context = "${./.}";
|
||||
};
|
||||
|
||||
db.service = {
|
||||
container_name = "netbox-db";
|
||||
env_file = [config.age.secrets."${config.custom.profile}/netbox/db.env".path];
|
||||
image = "docker.io/postgres:16";
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/netbox/db:/var/lib/postgresql/data"];
|
||||
housekeeping.service =
|
||||
netbox
|
||||
// {
|
||||
container_name = "netbox-housekeeping";
|
||||
command = ["/opt/netbox/housekeeping.sh"];
|
||||
depends_on = ["netbox"];
|
||||
};
|
||||
|
||||
worker.service =
|
||||
netbox
|
||||
// {
|
||||
container_name = "netbox-worker";
|
||||
command = ["/opt/netbox/venv/bin/python" "/opt/netbox/netbox/manage.py" "rqworker"];
|
||||
depends_on = ["netbox"];
|
||||
};
|
||||
|
||||
cache.service = {
|
||||
container_name = "netbox-cache";
|
||||
command = ["sh" "-c" "valkey-server --requirepass $$REDIS_PASSWORD"];
|
||||
env_file = [config.age.secrets."${config.custom.profile}/netbox/cache.env".path];
|
||||
image = "docker.io/valkey/valkey:8.0";
|
||||
restart = "unless-stopped";
|
||||
};
|
||||
|
||||
db.service = {
|
||||
container_name = "netbox-db";
|
||||
env_file = [config.age.secrets."${config.custom.profile}/netbox/db.env".path];
|
||||
image = "docker.io/postgres:16";
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/netbox/db:/var/lib/postgresql/data"];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -22,60 +22,56 @@ in {
|
|||
#?? arion-nextcloud pull
|
||||
environment.shellAliases.arion-nextcloud = "sudo arion --prebuilt-file ${config.virtualisation.arion.projects.nextcloud.settings.out.dockerComposeYaml}";
|
||||
|
||||
virtualisation.arion.projects.nextcloud = {
|
||||
serviceName = "nextcloud";
|
||||
virtualisation.arion.projects.nextcloud.settings.services = {
|
||||
# https://github.com/nextcloud/docker
|
||||
nextcloud.service = {
|
||||
container_name = "nextcloud";
|
||||
env_file = [config.age.secrets."${config.custom.profile}/nextcloud/.env".path];
|
||||
image = "nextcloud:29-apache";
|
||||
ports = ["127.0.0.1:8181:80"];
|
||||
restart = "unless-stopped";
|
||||
|
||||
settings.services = {
|
||||
# https://github.com/nextcloud/docker
|
||||
nextcloud.service = {
|
||||
container_name = "nextcloud";
|
||||
env_file = [config.age.secrets."${config.custom.profile}/nextcloud/.env".path];
|
||||
image = "nextcloud:29-apache";
|
||||
ports = ["127.0.0.1:8181:80"];
|
||||
restart = "unless-stopped";
|
||||
volumes = [
|
||||
"${config.custom.containers.directory}/nextcloud/app:/var/www/html"
|
||||
"${config.custom.containers.directory}/nextcloud/data:/var/www/html/data"
|
||||
];
|
||||
|
||||
volumes = [
|
||||
"${config.custom.containers.directory}/nextcloud/app:/var/www/html"
|
||||
"${config.custom.containers.directory}/nextcloud/data:/var/www/html/data"
|
||||
];
|
||||
depends_on = [
|
||||
"db"
|
||||
"cache"
|
||||
];
|
||||
};
|
||||
|
||||
depends_on = [
|
||||
"db"
|
||||
"cache"
|
||||
];
|
||||
};
|
||||
cron.service = {
|
||||
container_name = "nextcloud-cron";
|
||||
entrypoint = "/cron.sh";
|
||||
image = "nextcloud:29-apache";
|
||||
restart = "unless-stopped";
|
||||
volumes =
|
||||
config.virtualisation.arion.projects.nextcloud.settings.services.nextcloud.service.volumes; # volumes_from
|
||||
|
||||
cron.service = {
|
||||
container_name = "nextcloud-cron";
|
||||
entrypoint = "/cron.sh";
|
||||
image = "nextcloud:29-apache";
|
||||
restart = "unless-stopped";
|
||||
volumes =
|
||||
config.virtualisation.arion.projects.nextcloud.settings.services.nextcloud.service.volumes; # volumes_from
|
||||
depends_on = [
|
||||
"db"
|
||||
"cache"
|
||||
];
|
||||
};
|
||||
|
||||
depends_on = [
|
||||
"db"
|
||||
"cache"
|
||||
];
|
||||
};
|
||||
cache.service = {
|
||||
container_name = "nextcloud-cache";
|
||||
image = "redis:latest";
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/nextcloud/cache:/data"];
|
||||
};
|
||||
|
||||
cache.service = {
|
||||
container_name = "nextcloud-cache";
|
||||
image = "redis:latest";
|
||||
restart = "unless-stopped";
|
||||
volumes = ["${config.custom.containers.directory}/nextcloud/cache:/data"];
|
||||
};
|
||||
db.service = {
|
||||
container_name = "nextcloud-db";
|
||||
env_file = [config.age.secrets."${config.custom.profile}/nextcloud/db.env".path];
|
||||
image = "postgres:15";
|
||||
restart = "unless-stopped";
|
||||
|
||||
db.service = {
|
||||
container_name = "nextcloud-db";
|
||||
env_file = [config.age.secrets."${config.custom.profile}/nextcloud/db.env".path];
|
||||
image = "postgres:15";
|
||||
restart = "unless-stopped";
|
||||
|
||||
volumes = [
|
||||
"${config.custom.containers.directory}/nextcloud/db:/var/lib/postgresql/data"
|
||||
];
|
||||
};
|
||||
volumes = [
|
||||
"${config.custom.containers.directory}/nextcloud/db:/var/lib/postgresql/data"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -12,23 +12,19 @@ in {
|
|||
#?? arion-redlib pull
|
||||
environment.shellAliases.arion-redlib = "sudo arion --prebuilt-file ${config.virtualisation.arion.projects.redlib.settings.out.dockerComposeYaml}";
|
||||
|
||||
virtualisation.arion.projects.redlib = {
|
||||
serviceName = "redlib";
|
||||
virtualisation.arion.projects.redlib.settings.services = {
|
||||
redlib.service = {
|
||||
container_name = "redlib";
|
||||
image = "quay.io/redlib/redlib:latest";
|
||||
ports = ["127.0.0.1:8888:8080"];
|
||||
restart = "unless-stopped";
|
||||
|
||||
settings.services = {
|
||||
redlib.service = {
|
||||
container_name = "redlib";
|
||||
image = "quay.io/redlib/redlib:latest";
|
||||
ports = ["127.0.0.1:8888:8080"];
|
||||
restart = "unless-stopped";
|
||||
|
||||
environment = {
|
||||
REDLIB_DEFAULT_HIDE_HLS_NOTIFICATION = "on";
|
||||
REDLIB_DEFAULT_SHOW_NSFW = "on";
|
||||
REDLIB_DEFAULT_THEME = "dracula";
|
||||
REDLIB_DEFAULT_USE_HLS = "on";
|
||||
REDLIB_DEFAULT_WIDE = "off";
|
||||
};
|
||||
environment = {
|
||||
REDLIB_DEFAULT_HIDE_HLS_NOTIFICATION = "on";
|
||||
REDLIB_DEFAULT_SHOW_NSFW = "on";
|
||||
REDLIB_DEFAULT_THEME = "dracula";
|
||||
REDLIB_DEFAULT_USE_HLS = "on";
|
||||
REDLIB_DEFAULT_WIDE = "off";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -21,33 +21,29 @@ in {
|
|||
#?? arion-searxng pull
|
||||
environment.shellAliases.arion-searxng = "sudo arion --prebuilt-file ${config.virtualisation.arion.projects.searxng.settings.out.dockerComposeYaml}";
|
||||
|
||||
virtualisation.arion.projects.searxng = {
|
||||
serviceName = "searxng";
|
||||
virtualisation.arion.projects.searxng.settings.services = {
|
||||
# https://github.com/searxng/searxng
|
||||
# https://github.com/searxng/searxng-docker
|
||||
searxng.service = {
|
||||
container_name = "searxng";
|
||||
depends_on = ["cache"];
|
||||
env_file = [config.age.secrets."${config.custom.profile}/searxng/.env".path];
|
||||
image = "searxng/searxng:latest";
|
||||
ports = ["127.0.0.1:8000:8080"];
|
||||
restart = "unless-stopped";
|
||||
|
||||
settings.services = {
|
||||
# https://github.com/searxng/searxng
|
||||
# https://github.com/searxng/searxng-docker
|
||||
searxng.service = {
|
||||
container_name = "searxng";
|
||||
depends_on = ["cache"];
|
||||
env_file = [config.age.secrets."${config.custom.profile}/searxng/.env".path];
|
||||
image = "searxng/searxng:latest";
|
||||
ports = ["127.0.0.1:8000:8080"];
|
||||
restart = "unless-stopped";
|
||||
volumes = [
|
||||
"${./limiter.toml}:/etc/searxng/limiter.toml"
|
||||
"${./settings.yml}:/etc/searxng/settings.yml"
|
||||
];
|
||||
};
|
||||
|
||||
volumes = [
|
||||
"${./limiter.toml}:/etc/searxng/limiter.toml"
|
||||
"${./settings.yml}:/etc/searxng/settings.yml"
|
||||
];
|
||||
};
|
||||
|
||||
# https://github.com/valkey-io/valkey
|
||||
cache.service = {
|
||||
command = "valkey-server --save 60 1 --loglevel warning";
|
||||
container_name = "searxng-cache";
|
||||
image = "valkey/valkey:7-alpine";
|
||||
restart = "unless-stopped";
|
||||
};
|
||||
# https://github.com/valkey-io/valkey
|
||||
cache.service = {
|
||||
command = "valkey-server --save 60 1 --loglevel warning";
|
||||
container_name = "searxng-cache";
|
||||
image = "valkey/valkey:7-alpine";
|
||||
restart = "unless-stopped";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue