Merge pull request #52 from Dokploy-Templaters/main

feat: add various one-click templates
This commit is contained in:
Mauricio Siu 2025-04-06 00:50:32 -06:00 committed by GitHub
commit cf34abcfa6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
19 changed files with 571 additions and 0 deletions

View File

@ -0,0 +1,14 @@
version: '3.8'
services:
dragonflydb:
image: 'docker.dragonflydb.io/dragonflydb/dragonfly'
ulimits:
memlock: -1
ports:
- "6379:6379"
volumes:
- dragonflydata:/data
environment:
- DFLY_requirepass
volumes:
dragonflydata:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -0,0 +1,23 @@
[variables]
main_domain = "${domain}"
db_password = "${password:32}"
any_helper = "${uuid}"
[config]
env = [
"DFLY_requirepass=${db_password}",
]
[[config.domains]]
serviceName = "dragonflydb"
port = 6379
host = "${main_domain}"
path = "/"
[[config.mounts]]
filePath = "/content/configuration.conf"
content = """
bind-address = "0.0.0.0"
port = 6379
log-level = "info"
"""

View File

@ -0,0 +1,28 @@
version: '3'
services:
focalboard:
image: mattermost/focalboard:7.11.4
restart: unless-stopped
volumes:
- focalboardData:/opt/focalboard/data
environment:
- VIRTUAL_HOST
- VIRTUAL_PORT
- DB_TYPE
- DB_CONFIG=postgres://${POSTGRES_USER}:${POSTGRES_password}@postgres:5432/${postgres_db}?sslmode=disable
postgres:
image: postgres:17
environment:
- POSTGRES_USER
- POSTGRES_PASSWORD
- POSTGRES_DB
volumes:
- ./postgres_data:/var/lib/postgresql/data
volumes:
focalboardData:
driver: local
focalboardPostgre:
driver: local

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

View File

@ -0,0 +1,18 @@
[variables]
main_domain = "${domain}"
[config]
env = [
"VIRTUAL_HOST=${main_domain}",
"VIRTUAL_PORT=8000 # Do Not Alter",
"DB_TYPE=postgres",
"POSTGRES_USER=focalboard",
"POSTGRES_PASSWORD=${password:32}",
"POSTGRES_DB=focalboard"
]
mounts = []
[[config.domains]]
serviceName = "focalboard"
port = 8000
host = "${main_domain}"

View File

@ -0,0 +1,37 @@
version: "3.8"
services:
forgejo:
image: codeberg.org/forgejo/forgejo:10
environment:
- USER_UID=${USER_UID}
- USER_GID=${USER_GID}
- FORGEJO__database__DB_TYPE=postgres
- FORGEJO__database__HOST=db:5432
- FORGEJO__database__NAME=forgejo
- FORGEJO__database__USER=forgejo
- FORGEJO__database__PASSWD=forgejo
restart: always
volumes:
- forgejo_server:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
depends_on:
- db
db:
image: postgres:17
restart: always
environment:
- POSTGRES_USER=forgejo
- POSTGRES_PASSWORD=forgejo
- POSTGRES_DB=forgejo
volumes:
- forgejo_db:/var/lib/postgresql/data
volumes:
forgejo_db:
driver: local
forgejo_server:
driver: local

View File

@ -0,0 +1,40 @@
<svg viewBox="0 0 212 212" xmlns="http://www.w3.org/2000/svg">
<metadata
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
>
<rdf:RDF>
<cc:Work rdf:about="https://codeberg.org/forgejo/meta/src/branch/readme/branding#logo">
<dc:title>Forgejo logo</dc:title>
<cc:creator rdf:resource="https://caesarschinas.com/"><cc:attributionName>Caesar Schinas</cc:attributionName></cc:creator>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
</cc:Work>
</rdf:RDF>
</metadata>
<style type="text/css">
circle {
fill: none;
stroke: #000;
stroke-width: 15;
}
path {
fill: none;
stroke: #000;
stroke-width: 25;
}
.orange {
stroke:#ff6600;
}
.red {
stroke:#d40000;
}
</style>
<g transform="translate(6,6)">
<path d="M58 168 v-98 a50 50 0 0 1 50-50 h20" class="orange" />
<path d="M58 168 v-30 a50 50 0 0 1 50-50 h20" class="red" />
<circle cx="142" cy="20" r="18" class="orange" />
<circle cx="142" cy="88" r="18" class="red" />
<circle cx="58" cy="180" r="18" class="red" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,11 @@
[variables]
main_domain = "${domain}"
[config]
env = ["USER_UID=1000", "USER_GID=1000"]
mounts = []
[[config.domains]]
serviceName = "forgejo"
port = 3_000
host = "${main_domain}"

View File

@ -0,0 +1,19 @@
version: '3.8'
services:
lodestone:
image: ghcr.io/lodestone-team/lodestone_core
ports:
- "16662:16662"
- "25565-25590:25565-25590"
volumes:
- lodestone:/home/user/.lodestone
restart: unless-stopped
lodestone_dashboard:
image: ghcr.io/lodestone-team/lodestone_dashboard:v0.5.1
restart: always
volumes:
lodestone:
driver: local

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,11 @@
[variables]
main_domain = "${domain}"
[config]
env = {}
mounts = []
[[config.domains]]
serviceName = "lodestone_dashboard"
port = 80
host = "${main_domain}"

View File

@ -0,0 +1,66 @@
services:
postgres:
image: postgres:17
restart: unless-stopped
security_opt:
- no-new-privileges:true
pids_limit: 100
read_only: true
tmpfs:
- /tmp
- /var/run/postgresql
volumes:
- mattermostDbData:/var/lib/postgresql/data
environment:
- TZ
- POSTGRES_USER
- POSTGRES_PASSWORD
- POSTGRES_DB
mattermost:
depends_on:
- postgres
image: mattermost/mattermost-team-edition:10.6.1
restart: unless-stopped
security_opt:
- no-new-privileges:true
pids_limit: 200
read_only: false
tmpfs:
- /tmp
volumes:
- mattermostconf:/mattermost/config:rw
- mattermostdata:/mattermost/data:rw
- mattermostlogs:/mattermost/logs:rw
- mattermostplugsin:/mattermost/plugins:rw
- mattermostclientplugins:/mattermost/client/plugins:rw
- mattermostBleveIndexes:/mattermost/bleve-indexes:rw
environment:
- DOMAIN
- TZ
- POSTGRES_USER
- POSTGRES_PASSWORD
- POSTGRES_DB
- MM_SQLSETTINGS_DRIVERNAME
- MM_SQLSETTINGS_DATASOURCE
- MM_BLEVESETTINGS_INDEXDIR
- MM_SERVICESETTINGS_SITEURL
- APP_PORT
volumes:
mattermostDbData:
driver: local
mattermostconf:
driver: local
mattermostdata:
driver: local
mattermostlogs:
driver: local
mattermostplugsin:
driver: local
mattermostclientplugins:
driver: local
mattermostBleveIndexes:
driver: local

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

View File

@ -0,0 +1,20 @@
[variables]
main_domain = "${domain}"
[config]
env = [
"Domain=${main_domain}",
"POSTGRES_USER=mmuser",
"POSTGRES_PASSWORD=${password:32}",
"POSTGRES_DB=mattermost",
"MM_SQLSETTINGS_DRIVERNAME=postgres",
"MM_SQLSETTINGS_DATASOURCE=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}?sslmode=disable&connect_timeout=10",
"APP_PORT=8065",
"TZ=UTC",
]
mounts = []
[[config.domains]]
serviceName = "mattermost"
port = 8065
host = "${main_domain}"

View File

@ -0,0 +1,137 @@
version: '3.8'
services:
web:
image: makeplane/plane-frontend:${APP_RELEASE:-v0.25.3}
command: node web/server.js web
depends_on:
- api
- worker
env_file:
- .env
space:
image: makeplane/plane-space:${APP_RELEASE:-v0.25.3}
command: node space/server.js space
depends_on:
- api
- worker
- web
env_file:
- .env
admin:
image: makeplane/plane-admin:${APP_RELEASE:-v0.25.3}
command: node admin/server.js admin
depends_on:
- api
- web
env_file:
- .env
live:
image: makeplane/plane-live:${APP_RELEASE:-v0.25.3}
command: node live/dist/server.js live
depends_on:
- api
- web
env_file:
- .env
api:
image: makeplane/plane-backend:${APP_RELEASE:-v0.25.3}
command: ./bin/docker-entrypoint-api.sh
volumes:
- logs_api:/code/plane/logs
depends_on:
- plane-db
- plane-redis
- plane-mq
env_file:
- .env
worker:
image: makeplane/plane-backend:${APP_RELEASE:-v0.25.3}
command: ./bin/docker-entrypoint-worker.sh
volumes:
- logs_worker:/code/plane/logs
depends_on:
- api
- plane-db
- plane-redis
- plane-mq
env_file:
- .env
beat-worker:
image: makeplane/plane-backend:${APP_RELEASE:-v0.25.3}
command: ./bin/docker-entrypoint-beat.sh
volumes:
- logs_beat-worker:/code/plane/logs
depends_on:
- api
- plane-db
- plane-redis
- plane-mq
env_file:
- .env
migrator:
image: makeplane/plane-backend:${APP_RELEASE:-v0.25.3}
command: ./bin/docker-entrypoint-migrator.sh
volumes:
- logs_migrator:/code/plane/logs
depends_on:
- plane-db
- plane-redis
env_file:
- .env
plane-db:
image: postgres:17-alpine
command: postgres -c 'max_connections=1000'
volumes:
- pgdata:/var/lib/postgresql/data
env_file:
- .env
plane-redis:
image: valkey/valkey:7.2.5-alpine
volumes:
- redisdata:/data
env_file:
- .env
plane-mq:
image: rabbitmq:3.13.6-management-alpine
volumes:
- rabbitmq_data:/var/lib/rabbitmq
env_file:
- .env
plane-minio:
image: minio/minio:latest
command: server /export --console-address ":9090"
volumes:
- uploads:/export
env_file:
- .env
proxy:
image: makeplane/plane-proxy:${APP_RELEASE:-v0.25.3}
depends_on:
- web
- api
- space
env_file:
- .env
volumes:
pgdata:
redisdata:
uploads:
logs_api:
logs_worker:
logs_beat-worker:
logs_migrator:
rabbitmq_data:

BIN
blueprints/plane/plane.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,52 @@
[variables]
main_domain = "${domain}"
[config]
env = [
"Domain=${main_domain}",
"PGHOST=plane-db",
"PGDATABASE=plane",
"POSTGRES_USER={username}",
"POSTGRES_PASSWORD={password:32}",
"POSTGRES_DB=plane",
"POSTGRES_PORT=5432",
"PGDATA=/var/lib/postgresql/data",
"REDIS_HOST=plane-redis",
"REDIS_PORT=6379",
"REDIS_URL=redis://plane-redis:6379/",
"MINIO_ROOT_USER=access-key",
"MINIO_ROOT_PASSWORD=password:32",
"AWS_REGION=",
"AWS_ACCESS_KEY_ID={username}",
"AWS_SECRET_ACCESS_KEY=${MINIO_ROOT_PASSWORD}",
"AWS_S3_ENDPOINT_URL=http://plane-minio:9000",
"AWS_S3_BUCKET_NAME=uploads",
"NGINX_PORT=80",
"BUCKET_NAME=uploads",
"FILE_SIZE_LIMIT=5242880",
"RABBITMQ_HOST=plane-mq",
"RABBITMQ_PORT=5672",
"RABBITMQ_DEFAULT_USER={username}",
"RABBITMQ_DEFAULT_PASS={password:32}",
"RABBITMQ_DEFAULT_VHOST=plane",
"RABBITMQ_VHOST=plane",
"API_BASE_URL=http://api:8000",
"WEB_URL=${main_domain}",
"DEBUG=0",
"SENTRY_DSN=",
"SENTRY_ENVIRONMENT=production",
"CORS_ALLOWED_ORIGINS=",
"GUNICORN_WORKERS=1",
"USE_MINIO=1",
"DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@plane-db/plane",
"SECRET_KEY={base64:48}",
"AMQP_URL=amqp://${RABBITMQ_DEFAULT_USER}:${RABBITMQ_DEFAULT_PASS}@plane-mq:5672/plane",
"API_KEY_RATE_LIMIT=60/minute",
"MINIO_ENDPOINT_SSL=0"
]
mounts = []
[[config.domains]]
serviceName = "proxy"
port = 80
host = "${main_domain}"

View File

@ -178,6 +178,22 @@
"applications"
]
},
{
"id": "forgejo",
"name": "Forgejo",
"version": "10",
"description": "Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job",
"logo": "forgejo.svg",
"links": {
"github": "https://codeberg.org/forgejo/forgejo",
"website": "https://forgejo.org/",
"docs": "https://forgejo.org/docs/latest/"
},
"tags": [
"self-hosted",
"storage"
]
},
{
"id": "ghost",
"name": "Ghost",
@ -193,6 +209,39 @@
"cms"
]
},
{
"id": "lodestone",
"name": "Lodestone",
"version": "0.5.1",
"description": "A free, open source server hosting tool for Minecraft and other multiplayers games.",
"logo": "lodestone.png",
"links": {
"github": "https://github.com/Lodestone-Team/lodestone",
"website": "https://lodestone.cc",
"docs": "https://github.com/Lodestone-Team/lodestone/wiki"
},
"tags": [
"minecraft",
"hosting",
"server"
]
},
{
"id": "dragonfly-db",
"name": "Dragonfly",
"version": "1.28.1",
"description": "Dragonfly is a drop-in Redis replacement that is designed for heavy data workloads running on modern cloud hardware.",
"logo": "dragonfly-db.png",
"links": {
"github": "https://github.com/dragonflydb/dragonfly",
"website": "https://www.dragonflydb.io/",
"docs": "https://www.dragonflydb.io/docs"
},
"tags": [
"database",
"redis"
]
},
{
"id": "uptime-kuma",
"name": "Uptime Kuma",
@ -346,6 +395,22 @@
"search"
]
},
{
"id": "mattermost",
"name": "Mattermost",
"version": "10.6.1",
"description": "A single point of collaboration. Designed specifically for digital operations.",
"logo": "mattermost.png",
"links": {
"github": "https://github.com/mattermost/mattermost",
"website": "https://mattermost.com/",
"docs": "https://docs.mattermost.com/"
},
"tags": [
"chat",
"self-hosted"
]
},
{
"id": "phpmyadmin",
"name": "Phpmyadmin",
@ -646,6 +711,21 @@
"storage"
]
},
{
"id": "focalboard",
"name": "Focalboard",
"version": "8.0.0",
"description": "Open source project management for technical teams",
"logo": "focalboard.png",
"links": {
"github": "https://github.com/sysblok/focalboard",
"website": "https://focalboard.com",
"docs": "https://www.focalboard.com/docs/"
},
"tags": [
"kanban"
]
},
{
"id": "tolgee",
"name": "Tolgee",
@ -680,6 +760,21 @@
"monitoring"
]
},
{
"id": "plane",
"name": "Plane",
"version": "v0.25.3",
"description": "Easy, flexible, open source project management software",
"logo": "plane.png",
"links": {
"github": "https://github.com/makeplane/plane",
"website": "https://plane.so",
"docs": "https://docs.plane.so/"
},
"tags": [
"kanban"
]
},
{
"id": "influxdb",
"name": "InfluxDB",