mirror of
https://github.com/Dokploy/templates.git
synced 2026-03-12 01:56:43 -05:00
Add Domain Locker blueprint (#308)
* Add Domain Locker blueprint with PostgreSQL backend and cron-based updater service * Reformat "tags" arrays in meta.json to multi-line for improved readability
This commit is contained in:
committed by
GitHub
parent
d09809c125
commit
a86d1dccb1
52
blueprints/domain-locker/docker-compose.yml
Normal file
52
blueprints/domain-locker/docker-compose.yml
Normal file
@@ -0,0 +1,52 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:15-alpine
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: ${DL_PG_NAME:-domain_locker}
|
||||
POSTGRES_USER: ${DL_PG_USER:-postgres}
|
||||
POSTGRES_PASSWORD: ${DL_PG_PASSWORD:-changeme2420}
|
||||
expose:
|
||||
- "5432"
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
# - ./db/schema.sql:/docker-entrypoint-initdb.d/init-schema.sql:ro
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U ${DL_PG_USER:-postgres}"]
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 10
|
||||
|
||||
app:
|
||||
image: lissy93/domain-locker:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
NODE_ENV: "production"
|
||||
DL_ENV_TYPE: ${DL_ENV_TYPE:-selfHosted}
|
||||
DL_PG_HOST: ${DL_PG_HOST:-postgres}
|
||||
DL_PG_PORT: ${DL_PG_PORT:-5432}
|
||||
DL_PG_USER: ${DL_PG_USER:-postgres}
|
||||
DL_PG_PASSWORD: ${DL_PG_PASSWORD:-changeme2420}
|
||||
DL_PG_NAME: ${DL_PG_NAME:-domain_locker}
|
||||
expose:
|
||||
- "3000"
|
||||
depends_on:
|
||||
- postgres
|
||||
|
||||
updater:
|
||||
image: alpine:3.20
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- app
|
||||
command: >
|
||||
/bin/sh -c "
|
||||
apk add --no-cache curl &&
|
||||
echo '0 3 * * * /usr/bin/curl -s -X POST http://app:3000/api/domain-updater' > /etc/crontabs/root &&
|
||||
echo '0 4 * * * /usr/bin/curl -s -X POST http://app:3000/api/expiration-reminders' >> /etc/crontabs/root &&
|
||||
crond -f -L /dev/stdout
|
||||
"
|
||||
|
||||
volumes:
|
||||
postgres_data: {}
|
||||
BIN
blueprints/domain-locker/image.png
Normal file
BIN
blueprints/domain-locker/image.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.7 KiB |
33
blueprints/domain-locker/template.toml
Normal file
33
blueprints/domain-locker/template.toml
Normal file
@@ -0,0 +1,33 @@
|
||||
[variables]
|
||||
main_domain = "${domain}"
|
||||
pg_password = "${password:32}"
|
||||
|
||||
[config]
|
||||
[[config.domains]]
|
||||
serviceName = "app"
|
||||
port = 3000
|
||||
host = "${main_domain}"
|
||||
|
||||
[config.env]
|
||||
NODE_ENV = "production"
|
||||
DL_ENV_TYPE = "selfHosted"
|
||||
DL_PG_HOST = "postgres"
|
||||
DL_PG_PORT = "5432"
|
||||
DL_PG_USER = "postgres"
|
||||
DL_PG_PASSWORD = "${pg_password}"
|
||||
DL_PG_NAME = "domain_locker"
|
||||
|
||||
# OPTIONAL ENV VARS (uncomment as needed)
|
||||
# DL_BASE_URL = "http://localhost:3000"
|
||||
# DL_TURNSTILE_KEY = ""
|
||||
# DL_GLITCHTIP_DSN = ""
|
||||
# DL_PLAUSIBLE_URL = ""
|
||||
# DL_PLAUSIBLE_SITE = ""
|
||||
# DL_DOMAIN_INFO_API = ""
|
||||
# DL_DOMAIN_SUBS_API = ""
|
||||
# DL_DISABLE_WRITE_METHODS = "false"
|
||||
|
||||
[[config.mounts]]
|
||||
# Example mount for PostgreSQL persistence (already defined in compose volumes)
|
||||
# filePath = "/var/lib/postgresql/data"
|
||||
# content = ""
|
||||
18
meta.json
18
meta.json
@@ -1462,6 +1462,24 @@
|
||||
"document-signing"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "domain-locker",
|
||||
"name": "Domain Locker",
|
||||
"version": "latest",
|
||||
"description": "Domain Locker is an open-source tool for tracking domain expirations and sending renewal reminders.",
|
||||
"logo": "image.png",
|
||||
"links": {
|
||||
"github": "https://github.com/Lissy93/domain-locker",
|
||||
"website": "https://domain-locker.com/",
|
||||
"docs": "https://github.com/Lissy93/domain-locker#readme"
|
||||
},
|
||||
"tags": [
|
||||
"domains",
|
||||
"monitoring",
|
||||
"utilities",
|
||||
"postgres"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "doublezero",
|
||||
"name": "Double Zero",
|
||||
|
||||
Reference in New Issue
Block a user