mirror of
https://github.com/Dokploy/templates.git
synced 2026-07-10 00:15:28 +02:00
Merge pull request #884 from BinkyTwin/codex/add-paperless-ngx-template
feat: add Paperless-ngx and Gatus templates
This commit is contained in:
14
blueprints/gatus/docker-compose.yml
Normal file
14
blueprints/gatus/docker-compose.yml
Normal file
@@ -0,0 +1,14 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
gatus:
|
||||
image: ghcr.io/twin/gatus:v5.36.0
|
||||
restart: unless-stopped
|
||||
expose:
|
||||
- 8080
|
||||
volumes:
|
||||
- gatus-data:/data
|
||||
- ../files/config.yaml:/config/config.yaml:ro
|
||||
|
||||
volumes:
|
||||
gatus-data: {}
|
||||
8
blueprints/gatus/gatus.svg
Normal file
8
blueprints/gatus/gatus.svg
Normal file
@@ -0,0 +1,8 @@
|
||||
<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="128" height="128" rx="24" fill="#102A43"/>
|
||||
<path d="M28 80C34 56 49 42 64 42C79 42 94 56 100 80" stroke="#62D2A2" stroke-width="10" stroke-linecap="round"/>
|
||||
<path d="M42 80C47 67 55 60 64 60C73 60 81 67 86 80" stroke="#F8F9FA" stroke-width="10" stroke-linecap="round"/>
|
||||
<circle cx="64" cy="84" r="12" fill="#62D2A2"/>
|
||||
<path d="M64 84L81 55" stroke="#102A43" stroke-width="6" stroke-linecap="round"/>
|
||||
<path d="M30 96H98" stroke="#F8F9FA" stroke-width="8" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 611 B |
18
blueprints/gatus/meta.json
Normal file
18
blueprints/gatus/meta.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"id": "gatus",
|
||||
"name": "Gatus",
|
||||
"version": "v5.36.0",
|
||||
"description": "Gatus is an automated service health dashboard for monitoring HTTP, DNS, TCP, ICMP, and other endpoints.",
|
||||
"logo": "gatus.svg",
|
||||
"links": {
|
||||
"github": "https://github.com/TwiN/gatus",
|
||||
"website": "https://gatus.io/",
|
||||
"docs": "https://github.com/TwiN/gatus#configuration"
|
||||
},
|
||||
"tags": [
|
||||
"monitoring",
|
||||
"status-page",
|
||||
"uptime",
|
||||
"observability"
|
||||
]
|
||||
}
|
||||
31
blueprints/gatus/template.toml
Normal file
31
blueprints/gatus/template.toml
Normal file
@@ -0,0 +1,31 @@
|
||||
[variables]
|
||||
main_domain = "${domain}"
|
||||
monitor_name = "Example website"
|
||||
monitor_url = "https://example.org/"
|
||||
|
||||
[config]
|
||||
[[config.domains]]
|
||||
serviceName = "gatus"
|
||||
port = 8080
|
||||
host = "${main_domain}"
|
||||
|
||||
[[config.mounts]]
|
||||
filePath = "config.yaml"
|
||||
content = """
|
||||
storage:
|
||||
type: sqlite
|
||||
path: /data/data.db
|
||||
|
||||
ui:
|
||||
title: Gatus
|
||||
header: Gatus
|
||||
|
||||
endpoints:
|
||||
- name: ${monitor_name}
|
||||
group: external
|
||||
url: "${monitor_url}"
|
||||
interval: 5m
|
||||
conditions:
|
||||
- "[STATUS] == 200"
|
||||
- "[CERTIFICATE_EXPIRATION] > 48h"
|
||||
"""
|
||||
62
blueprints/paperless-ngx/docker-compose.yml
Normal file
62
blueprints/paperless-ngx/docker-compose.yml
Normal file
@@ -0,0 +1,62 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
paperless-ngx:
|
||||
image: ghcr.io/paperless-ngx/paperless-ngx:2.20.15
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
paperless-ngx-db:
|
||||
condition: service_healthy
|
||||
paperless-ngx-broker:
|
||||
condition: service_healthy
|
||||
expose:
|
||||
- 8000
|
||||
environment:
|
||||
PAPERLESS_REDIS: redis://paperless-ngx-broker:6379
|
||||
PAPERLESS_DBHOST: paperless-ngx-db
|
||||
PAPERLESS_DBNAME: paperless
|
||||
PAPERLESS_DBUSER: paperless
|
||||
PAPERLESS_DBPASS: ${POSTGRES_PASSWORD}
|
||||
PAPERLESS_SECRET_KEY: ${PAPERLESS_SECRET_KEY}
|
||||
PAPERLESS_URL: ${PAPERLESS_URL}
|
||||
PAPERLESS_TIME_ZONE: ${PAPERLESS_TIME_ZONE}
|
||||
PAPERLESS_OCR_LANGUAGE: ${PAPERLESS_OCR_LANGUAGE}
|
||||
volumes:
|
||||
- paperless-data:/usr/src/paperless/data
|
||||
- paperless-media:/usr/src/paperless/media
|
||||
- paperless-export:/usr/src/paperless/export
|
||||
- paperless-consume:/usr/src/paperless/consume
|
||||
|
||||
paperless-ngx-db:
|
||||
image: postgres:18-alpine
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: paperless
|
||||
POSTGRES_USER: paperless
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
volumes:
|
||||
- paperless-db:/var/lib/postgresql
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U paperless -d paperless"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
paperless-ngx-broker:
|
||||
image: redis:8-alpine
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- paperless-redis:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
volumes:
|
||||
paperless-data: {}
|
||||
paperless-media: {}
|
||||
paperless-export: {}
|
||||
paperless-consume: {}
|
||||
paperless-db: {}
|
||||
paperless-redis: {}
|
||||
18
blueprints/paperless-ngx/meta.json
Normal file
18
blueprints/paperless-ngx/meta.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"id": "paperless-ngx",
|
||||
"name": "Paperless-ngx",
|
||||
"version": "2.20.15",
|
||||
"description": "Paperless-ngx is a self-hosted document management system for scanning, indexing, and archiving documents.",
|
||||
"logo": "paperless-ngx.svg",
|
||||
"links": {
|
||||
"github": "https://github.com/paperless-ngx/paperless-ngx",
|
||||
"website": "https://paperless-ngx.com/",
|
||||
"docs": "https://docs.paperless-ngx.com/"
|
||||
},
|
||||
"tags": [
|
||||
"documents",
|
||||
"ocr",
|
||||
"productivity",
|
||||
"self-hosted"
|
||||
]
|
||||
}
|
||||
10
blueprints/paperless-ngx/paperless-ngx.svg
Normal file
10
blueprints/paperless-ngx/paperless-ngx.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="128" height="128" rx="24" fill="#F3FAF7"/>
|
||||
<path d="M38 18H78L100 40V104C100 109.523 95.5228 114 90 114H38C32.4772 114 28 109.523 28 104V28C28 22.4772 32.4772 18 38 18Z" fill="#FFFFFF" stroke="#1F7A5C" stroke-width="6"/>
|
||||
<path d="M78 18V36C78 41.5228 82.4772 46 88 46H100" stroke="#1F7A5C" stroke-width="6" stroke-linejoin="round"/>
|
||||
<path d="M46 62H82" stroke="#35A77C" stroke-width="6" stroke-linecap="round"/>
|
||||
<path d="M46 78H82" stroke="#35A77C" stroke-width="6" stroke-linecap="round"/>
|
||||
<path d="M46 94H68" stroke="#35A77C" stroke-width="6" stroke-linecap="round"/>
|
||||
<circle cx="91" cy="91" r="19" fill="#1F7A5C"/>
|
||||
<path d="M83 91L89 97L101 84" stroke="#FFFFFF" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 867 B |
20
blueprints/paperless-ngx/template.toml
Normal file
20
blueprints/paperless-ngx/template.toml
Normal file
@@ -0,0 +1,20 @@
|
||||
[variables]
|
||||
main_domain = "${domain}"
|
||||
postgres_password = "${password:32}"
|
||||
paperless_secret_key = "${password:64}"
|
||||
paperless_url = "http://${main_domain}"
|
||||
paperless_timezone = "UTC"
|
||||
paperless_ocr_language = "eng"
|
||||
|
||||
[config]
|
||||
[[config.domains]]
|
||||
serviceName = "paperless-ngx"
|
||||
port = 8000
|
||||
host = "${main_domain}"
|
||||
|
||||
[config.env]
|
||||
POSTGRES_PASSWORD = "${postgres_password}"
|
||||
PAPERLESS_SECRET_KEY = "${paperless_secret_key}"
|
||||
PAPERLESS_URL = "${paperless_url}"
|
||||
PAPERLESS_TIME_ZONE = "${paperless_timezone}"
|
||||
PAPERLESS_OCR_LANGUAGE = "${paperless_ocr_language}"
|
||||
Reference in New Issue
Block a user