mirror of
https://github.com/Dokploy/templates.git
synced 2026-07-08 07:25:23 +02:00
feat(blueprint): add LibreDB Studio (#931)
* feat: add libredb-studio compose Adds LibreDB Studio — an MIT-licensed, AI-powered open-source SQL IDE (PostgreSQL, MySQL, Oracle, SQL Server, SQLite, MongoDB, Redis). This commit adds the docker-compose.yml. The template.toml and meta.json entry follow in the same branch. Image: ghcr.io/libredb/libredb-studio Repo: https://github.com/libredb/libredb-studio * feat: add libredb-studio template.toml Adds the Dokploy template.toml for LibreDB Studio. Defines auto-generated secrets (admin password, user password, JWT secret), exposes port 3000 on the primary domain, and persists data via a mount at /app/data. * feat: add libredb-studio to meta.json Registers LibreDB Studio in the template catalog index (meta.json), alphabetically-independent top entry. Completes the LibreDB Studio template (compose + template.toml + meta entry). * fix: sort libredb-studio entry alphabetically in meta.json Moves the libredb-studio entry to its correct alphabetical position between librechat and libredesk so meta.json remains sorted by id. Resolves the failing "Validate and Process Meta.json" check (duplicates/sort-order validation). * fix: expand libredb-studio tags to match meta.json formatting Formats the libredb-studio "tags" array as a multi-line block to match the output of dedupe-and-sort-meta.js, making the entry byte-identical to the canonical processed file. Resolves the failing "Validate and Process Meta.json" check. * fix: remove invalid mounts block from libredb-studio template.toml Removes the [[config.mounts]] block, which failed validation because Dokploy requires a 'content' field for file mounts. Data persistence is already handled by the named volume (libredb-data:/app/data) in docker-compose.yml, so no file mount is needed. Resolves the failing "Validate Docker Compose Files" check. * fix: correct indentation of libredb-studio tags in meta.json Adjusts the indentation of the "tags" key to 4 spaces so the libredb-studio entry is byte-identical to the output of dedupe-and-sort-meta.js. Resolves the remaining "Validate and Process Meta.json" check failure. * feat: add libredb-studio logo Adds the libredb-studio.svg logo to blueprints/libredb-studio/ so it matches the "logo" field in meta.json. Resolves the "Validate Blueprints Structure and Meta" check, which verifies that each meta.json logo has a corresponding file in its blueprint folder. * fix: bump libredb-studio image to v0.9.27 Updates the image tag from v0.9.13 to v0.9.27 (current release) so reviewers can test against the latest version. * fix: update LibreDB Studio version to v0.9.27 Update version field from v0.9.13 to v0.9.27 in meta.json * fix(blueprint): remove v prefix from image tag GHCR tags do not use v prefix (0.9.27 not v0.9.27) * fix(meta): remove v prefix from version field GHCR tags do not use v prefix (0.9.27 not v0.9.27)
This commit is contained in:
17
blueprints/libredb-studio/docker-compose.yml
Normal file
17
blueprints/libredb-studio/docker-compose.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
libredb-studio:
|
||||
image: ghcr.io/libredb/libredb-studio:0.9.27
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- ADMIN_EMAIL=admin@libredb.org
|
||||
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
|
||||
- USER_EMAIL=user@libredb.org
|
||||
- USER_PASSWORD=${USER_PASSWORD}
|
||||
- JWT_SECRET=${JWT_SECRET}
|
||||
- STORAGE_PROVIDER=sqlite
|
||||
- STORAGE_SQLITE_PATH=/app/data/libredb-storage.db
|
||||
volumes:
|
||||
- libredb-data:/app/data
|
||||
volumes:
|
||||
libredb-data:
|
||||
32
blueprints/libredb-studio/libredb-studio.svg
Normal file
32
blueprints/libredb-studio/libredb-studio.svg
Normal file
@@ -0,0 +1,32 @@
|
||||
<svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<linearGradient id="logo-gradient" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" stop-color="#4F46E5" />
|
||||
<stop offset="100%" stop-color="#9333EA" />
|
||||
</linearGradient>
|
||||
<linearGradient id="code-gradient" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" stop-color="#10B981" />
|
||||
<stop offset="100%" stop-color="#3B82F6" />
|
||||
</linearGradient>
|
||||
<filter id="glow" x="-20%" y="-20%" width="140%" height="140%">
|
||||
<feGaussianBlur stdDeviation="3" result="blur" />
|
||||
<feComposite in="SourceGraphic" in2="blur" operator="over" />
|
||||
</filter>
|
||||
</defs>
|
||||
|
||||
<!-- Background Shape -->
|
||||
<path d="M100 20L169.282 60V140L100 180L30.718 140V60L100 20Z" fill="url(#logo-gradient)" fill-opacity="0.05" stroke="url(#logo-gradient)" stroke-width="1.5"/>
|
||||
|
||||
<!-- Database Layers (De-emphasized) -->
|
||||
<g opacity="0.3">
|
||||
<rect x="70" y="80" width="60" height="10" rx="2" fill="url(#logo-gradient)" />
|
||||
<rect x="70" y="95" width="60" height="10" rx="2" fill="url(#logo-gradient)" />
|
||||
<rect x="70" y="110" width="60" height="10" rx="2" fill="url(#logo-gradient)" />
|
||||
</g>
|
||||
|
||||
<!-- Coding Brackets (Emphasized) -->
|
||||
<g filter="url(#glow)">
|
||||
<path d="M55 70L35 100L55 130" stroke="url(#code-gradient)" stroke-width="6" stroke-linecap="round" stroke-linejoin="round" />
|
||||
<path d="M145 70L165 100L145 130" stroke="url(#code-gradient)" stroke-width="6" stroke-linecap="round" stroke-linejoin="round" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
18
blueprints/libredb-studio/template.toml
Normal file
18
blueprints/libredb-studio/template.toml
Normal file
@@ -0,0 +1,18 @@
|
||||
[variables]
|
||||
admin_password = "${password:32}"
|
||||
user_password = "${password:32}"
|
||||
jwt_secret = "${password:64}"
|
||||
|
||||
[config]
|
||||
[[config.domains]]
|
||||
serviceName = "libredb-studio"
|
||||
port = 3000
|
||||
|
||||
[[config.env]]
|
||||
ADMIN_PASSWORD = "${admin_password}"
|
||||
|
||||
[[config.env]]
|
||||
USER_PASSWORD = "${user_password}"
|
||||
|
||||
[[config.env]]
|
||||
JWT_SECRET = "${jwt_secret}"
|
||||
16
meta.json
16
meta.json
@@ -3884,6 +3884,22 @@
|
||||
"generative-ai"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "libredb-studio",
|
||||
"name": "LibreDB Studio",
|
||||
"version": "0.9.27",
|
||||
"description": "The modern, AI-powered open-source SQL IDE. Query PostgreSQL, MySQL, Oracle, SQL Server, SQLite, MongoDB and Redis from your browser.",
|
||||
"logo": "libredb-studio.svg",
|
||||
"links": {
|
||||
"github": "https://github.com/libredb/libredb-studio",
|
||||
"website": "https://libredb.org/",
|
||||
"docs": "https://libredb.org/"
|
||||
},
|
||||
"tags": [
|
||||
"database",
|
||||
"sql"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "libredesk",
|
||||
"name": "Libredesk",
|
||||
|
||||
Reference in New Issue
Block a user