This commit is contained in:
soraefir
2026-05-09 10:45:16 +02:00
parent 9f5f8751e5
commit cd5deea849
3 changed files with 26 additions and 9 deletions

View File

@@ -1,7 +1,7 @@
{ config, lib, serverCfg }: { config, lib, serverCfg }:
let let
builder = builder =
{ image, imageStream ? null { image ? null, imageStream ? null
, secret ? null , secret ? null
, subdomain ? null, ip ? null, port ? 0 , subdomain ? null, ip ? null, port ? 0
, extraEnv ? { }, extraLabels ? { }, extraOptions ? [ ] , extraEnv ? { }, extraLabels ? { }, extraOptions ? [ ]

View File

@@ -1,7 +1,26 @@
{ config, containerCfg, pkgs, lib, builder, name,... }: { config, containerCfg, pkgs, lib, builder, name,... }:
let let
version = "latest";
serverCfg = config.syscfg.server; serverCfg = config.syscfg.server;
image = pkgs.dockerTools.streamLayeredImage {
name = "etherpad";
tag = pkgs.etherpad-lite.version;
contents = with pkgs;[ etherpad-lite bash coreutils cacert curl ];
fakeRootCommands = ''
mkdir -p ./var/lib/etherpad
chown -R 5001:5001 ./var/lib/etherpad
'';
config = {
Cmd = [ "${pkgs.etherpad-lite}/bin/etherpad-lite" ];
User = "${toString uid}:${toString gid}";
WorkingDir = "/var/lib/etherpad";
ExposedPorts = { "${toString containerCfg.port}/tcp" = {}; };
Env = [
"NODE_ENV=production"
"HOME=/var/lib/etherpad"
];
};
};
in { in {
paths = [{ paths = [{
path="${serverCfg.configPath}/etherpad/data"; path="${serverCfg.configPath}/etherpad/data";
@@ -17,7 +36,7 @@ in {
containers = { containers = {
server = builder.mkContainer { server = builder.mkContainer {
subdomain = containerCfg.subdomain; subdomain = containerCfg.subdomain;
image = "ghcr.io/ether/etherpad:develop:${version}"; imageStream = image;
port = containerCfg.port; port = containerCfg.port;
ip = containerCfg.ip; ip = containerCfg.ip;
secret = name; secret = name;

View File

@@ -1,6 +1,5 @@
{ config, containerCfg, pkgs, lib, builder, name,... }: { config, containerCfg, pkgs, lib, builder, name,... }:
let let
version = "3";
serverCfg = config.syscfg.server; serverCfg = config.syscfg.server;
image = pkgs.dockerTools.streamLayeredImage { image = pkgs.dockerTools.streamLayeredImage {
name = "traefik"; name = "traefik";
@@ -20,9 +19,8 @@ in {
containers = { containers = {
server = builder.mkContainer { server = builder.mkContainer {
subdomain = containerCfg.subdomain;
image = "ghcr.io/traefik/traefik:${version}";
imageStream = image; imageStream = image;
subdomain = containerCfg.subdomain;
ip = containerCfg.ip; ip = containerCfg.ip;
port = 8080; port = 8080;
secret = name; secret = name;