feat: Add numerous new blueprint templates for various applications

This commit is contained in:
Mauricio Siu
2025-03-09 19:05:57 -06:00
parent eed6aebb85
commit fbbb4f46f3
216 changed files with 13001 additions and 44 deletions

View File

@@ -0,0 +1,49 @@
services:
db:
image: postgres:17-alpine
ports:
- 5432
environment:
- POSTGRES_PASSWORD=listmonk
- POSTGRES_USER=listmonk
- POSTGRES_DB=listmonk
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -U listmonk"]
interval: 10s
timeout: 5s
retries: 6
volumes:
- listmonk-data:/var/lib/postgresql/data
setup:
image: listmonk/listmonk:v4.1.0
volumes:
- ../files/config.toml:/listmonk/config.toml
depends_on:
- db
command:
[
sh,
-c,
"sleep 3 && ./listmonk --install --idempotent --yes --config config.toml",
]
app:
restart: unless-stopped
image: listmonk/listmonk:v4.1.0
environment:
- TZ=Etc/UTC
depends_on:
- db
- setup
volumes:
- ../files/config.toml:/listmonk/config.toml
- listmonk-uploads:/listmonk/uploads
volumes:
listmonk-uploads:
listmonk-data:
driver: local

View File

@@ -0,0 +1,52 @@
import {
type DomainSchema,
type Schema,
type Template,
generateRandomDomain,
} from "../utils";
export function generate(schema: Schema): Template {
const randomDomain = generateRandomDomain(schema);
const domains: DomainSchema[] = [
{
host: randomDomain,
port: 9000,
serviceName: "app",
},
];
const envs = [
"# visit the page to setup your super admin user",
"# check config.toml in Advanced / Volumes for more options",
];
const mounts: Template["mounts"] = [
{
filePath: "config.toml",
content: `[app]
address = "0.0.0.0:9000"
[db]
host = "db"
port = 5432
user = "listmonk"
password = "listmonk"
database = "listmonk"
ssl_mode = "disable"
max_open = 25
max_idle = 25
max_lifetime = "300s"
params = ""
`,
},
];
return {
envs,
mounts,
domains,
};
}