etherpad
This commit is contained in:
@@ -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 ? [ ]
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
{ 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";
|
||||||
tag = pkgs.traefik.version;
|
tag = pkgs.traefik.version;
|
||||||
contents = with pkgs;[ traefik cacert tzdata ];
|
contents = with pkgs;[ traefik cacert tzdata ];
|
||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user