feat: documents sites module, and adds penfield
This commit is contained in:
parent
216e97a10d
commit
1fa1dad73d
2 changed files with 28 additions and 9 deletions
|
|
@ -1,6 +1,21 @@
|
||||||
|
# services.site.<name> options:
|
||||||
|
#
|
||||||
|
# domain — primary domain (required)
|
||||||
|
# repo — git repository URL (required)
|
||||||
|
# port — Node.js server port (required)
|
||||||
|
# redirectDomains — domains that 301 to the primary domain (default: [])
|
||||||
|
# branch — git branch to track (default: "main")
|
||||||
|
# packageManager — "npm" or "pnpm" (default: "pnpm")
|
||||||
|
# entryPoint — Node.js entry point relative to repo root (default: "dist/server/entry.mjs")
|
||||||
|
# environment — env vars for the running server (default: {})
|
||||||
|
# buildEnvironment — env vars for building (default: {})
|
||||||
|
# dataDir — base directory for repo and data (default: /srv/<name>)
|
||||||
|
# readWritePaths — paths the server can write to at runtime (default: [])
|
||||||
|
# afterServices — systemd units to wait for before building (default: ["forgejo.service"])
|
||||||
|
|
||||||
{ ... }:
|
{ ... }:
|
||||||
let
|
let
|
||||||
websiteServiceDir = "/srv/website";
|
websiteData = "/srv/website/data";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
services.site.website = {
|
services.site.website = {
|
||||||
|
|
@ -9,15 +24,19 @@ in
|
||||||
repo = "https://git.ily.rs/lew/website";
|
repo = "https://git.ily.rs/lew/website";
|
||||||
branch = "master";
|
branch = "master";
|
||||||
port = 4322;
|
port = 4322;
|
||||||
packageManager = "pnpm";
|
|
||||||
dataDir = websiteServiceDir;
|
|
||||||
environment = {
|
environment = {
|
||||||
ASTRO_DB_REMOTE_URL = "file:${websiteServiceDir}/data/guestbook.db";
|
ASTRO_DB_REMOTE_URL = "file:${websiteData}/guestbook.db";
|
||||||
};
|
};
|
||||||
buildEnvironment = {
|
buildEnvironment = {
|
||||||
ASTRO_DB_REMOTE_URL = "file:${websiteServiceDir}/data/guestbook.db";
|
ASTRO_DB_REMOTE_URL = "file:${websiteData}/guestbook.db";
|
||||||
};
|
};
|
||||||
readWritePaths = [ "${websiteServiceDir}/data" ];
|
readWritePaths = [ websiteData ];
|
||||||
afterServices = [ "forgejo.service" ];
|
};
|
||||||
|
|
||||||
|
services.site.penfield = {
|
||||||
|
domain = "penfield2.ily.rs";
|
||||||
|
redirectDomains = [ "penfield.wynne.rs" ];
|
||||||
|
repo = "https://git.ily.rs/lew/penfield";
|
||||||
|
port = 4324;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,12 +62,12 @@ let
|
||||||
readWritePaths = mkOption {
|
readWritePaths = mkOption {
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
default = [];
|
default = [];
|
||||||
description = "Extra paths the server can write to at runtime.";
|
description = "Paths the server can write to at runtime.";
|
||||||
};
|
};
|
||||||
|
|
||||||
afterServices = mkOption {
|
afterServices = mkOption {
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
default = [];
|
default = [ "forgejo.service" ];
|
||||||
description = "Systemd units to wait for before building.";
|
description = "Systemd units to wait for before building.";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue