|
| 1 | +name: libredb-studio |
| 2 | +services: |
| 3 | + libredb-studio: |
| 4 | + image: libredb/libredb-studio:1.0.0 |
| 5 | + container_name: libredb-studio |
| 6 | + restart: unless-stopped |
| 7 | + ports: |
| 8 | + - target: 3000 |
| 9 | + published: '3016' |
| 10 | + protocol: tcp |
| 11 | + environment: |
| 12 | + ADMIN_EMAIL: admin@libredb.org |
| 13 | + ADMIN_PASSWORD: '' |
| 14 | + JWT_SECRET: '' |
| 15 | + STORAGE_PROVIDER: sqlite |
| 16 | + STORAGE_SQLITE_PATH: /app/data/libredb-storage.db |
| 17 | + AUTH_COOKIE_SECURE: 'false' |
| 18 | + volumes: |
| 19 | + - type: bind |
| 20 | + source: /DATA/AppData/$AppID/data |
| 21 | + target: /app/data |
| 22 | + healthcheck: |
| 23 | + test: |
| 24 | + - CMD |
| 25 | + - node |
| 26 | + - -e |
| 27 | + - "require('http').get('http://127.0.0.1:3000/api/db/health',r=>process.exit(r.statusCode===200?0:1)).on('error',()=>process.exit(1))" |
| 28 | + interval: 30s |
| 29 | + timeout: 5s |
| 30 | + retries: 5 |
| 31 | + start_period: 40s |
| 32 | + deploy: |
| 33 | + resources: |
| 34 | + reservations: |
| 35 | + memory: 256M |
| 36 | + network_mode: bridge |
| 37 | + privileged: false |
| 38 | + x-casaos: |
| 39 | + envs: |
| 40 | + - container: ADMIN_EMAIL |
| 41 | + description: |
| 42 | + en_US: Email address for the initial admin account created on first start. |
| 43 | + zh_CN: 首次启动时创建的初始管理员账户的电子邮件地址。 |
| 44 | + - container: ADMIN_PASSWORD |
| 45 | + description: |
| 46 | + en_US: Leave empty and the app generates a strong password on first start and prints it once to the container log. Set your own only if you prefer to choose it. It applies on the first start only. To change the password later, set this to the new value, add ADMIN_PASSWORD_RESET=true, restart, then remove that variable. |
| 47 | + zh_CN: 留空时,应用会在首次启动时生成强密码并在容器日志中打印一次。仅在希望自行指定时填写。该值仅在首次启动时生效:之后如需更改密码,请将其设为新值并添加 ADMIN_PASSWORD_RESET=true,重启后再删除该变量。 |
| 48 | + - container: JWT_SECRET |
| 49 | + description: |
| 50 | + en_US: Leave empty and a strong secret is generated on first start. This value also encrypts saved connection passwords, so never reuse a value published anywhere. If you set your own it must be at least 32 characters, or the container exits at boot. |
| 51 | + zh_CN: 留空时会在首次启动时生成强密钥。该值同时用于加密已保存的连接密码,因此切勿使用任何公开过的值。如自行设置,长度至少为 32 个字符,否则容器将在启动时退出。 |
| 52 | + - container: STORAGE_PROVIDER |
| 53 | + description: |
| 54 | + en_US: Storage backend. Keep as "sqlite" for a self-contained setup. |
| 55 | + zh_CN: 存储后端。独立部署请保持为 "sqlite"。 |
| 56 | + - container: STORAGE_SQLITE_PATH |
| 57 | + description: |
| 58 | + en_US: Path to the SQLite database file inside the persistent data volume. |
| 59 | + zh_CN: 持久化数据卷内 SQLite 数据库文件的路径。 |
| 60 | + - container: AUTH_COOKIE_SECURE |
| 61 | + description: |
| 62 | + en_US: Keep "false" so the auth cookie works over plain HTTP on the LAN, otherwise login fails. |
| 63 | + zh_CN: 请保持为 "false",以便身份验证 Cookie 在局域网的普通 HTTP 下正常工作,否则将无法登录。 |
| 64 | + ports: |
| 65 | + - container: '3000' |
| 66 | + description: |
| 67 | + en_US: WebUI HTTP Port |
| 68 | + zh_CN: WebUI HTTP 端口 |
| 69 | + protocol: tcp |
| 70 | + volumes: |
| 71 | + - container: /app/data |
| 72 | + description: |
| 73 | + en_US: LibreDB Studio data directory (SQLite database). |
| 74 | + zh_CN: LibreDB Studio 数据目录(SQLite 数据库)。 |
| 75 | +x-casaos: |
| 76 | + id: org.libredb.studio |
| 77 | + architectures: |
| 78 | + - amd64 |
| 79 | + - arm64 |
| 80 | + main: libredb-studio |
| 81 | + author: libredb |
| 82 | + category: Developer |
| 83 | + description: |
| 84 | + en_US: LibreDB Studio is an open-source (MIT), self-hosted SQL IDE. It provides a modern web-based interface to connect to forty-one database engines (PostgreSQL, MySQL, Oracle, Db2, SQL Server, MongoDB, Redis, ClickHouse, Cassandra, Elasticsearch, Prometheus, Apache Kafka, Neo4j, Qdrant, Milvus, InfluxDB, etcd and more), browse schemas, and write and run queries from any browser on your LAN. Some are read-only because their own SQL is. Druid, Elasticsearch and OpenSearch have no `UPDATE` and no `CREATE TABLE` at all. Several more are read-only by construction. Data is stored locally in a SQLite database, so everything stays under your control. |
| 85 | + zh_CN: LibreDB Studio 是一款开源(MIT)的自托管 SQL IDE。它提供现代化的基于 Web 的界面,支持连接 41 种数据库引擎(PostgreSQL、MySQL、Oracle、Db2、SQL Server、MongoDB、Redis、ClickHouse、Cassandra、Elasticsearch、Prometheus、Apache Kafka、Neo4j、Qdrant、Milvus、InfluxDB、etcd 等),浏览架构,并可通过局域网中的任意浏览器编写和运行查询。其中一部分(如 Druid、Elasticsearch、OpenSearch)为只读,因为它们自身的 SQL 完全没有 `UPDATE`,也没有 `CREATE TABLE`;另有数种出于设计为只读。数据本地存储于 SQLite 数据库中,一切尽在您的掌控之中。 |
| 86 | + developer: libredb |
| 87 | + icon: icon.svg |
| 88 | + screenshot_link: |
| 89 | + - screenshot-1.png |
| 90 | + - screenshot-2.png |
| 91 | + - screenshot-3.png |
| 92 | + tagline: |
| 93 | + en_US: Open-source self-hosted SQL IDE. |
| 94 | + zh_CN: 开源自托管 SQL IDE。 |
| 95 | + thumbnail: thumbnail.png |
| 96 | + title: |
| 97 | + en_US: LibreDB Studio |
| 98 | + zh_CN: LibreDB Studio |
| 99 | + index: / |
| 100 | + scheme: http |
| 101 | + port_map: '3016' |
| 102 | + version: '1.0.0' |
| 103 | + update_at: '2026-10-18' |
| 104 | + release_notes: |
| 105 | + en_US: |- |
| 106 | + - Updates LibreDB Studio to 1.0.0, a major release. Twelve connection types join, taking the count to forty-one engines: BigQuery, MQTT, Firestore, RabbitMQ, Snowflake, OPC UA, Apache Spark, MTConnect, Modbus, Sparkplug B, NETCONF and SNMP. |
| 107 | + - It carries one security fix: a disconnect request now closes only the caller's own connections (GHSA-78jw-7pvp-64h3), so a server that several accounts share should be upgraded. |
| 108 | + - Studio can now run under a control plane that decides who may open which database with which credential. It stays off unless an operator sets `GOVERNANCE_SOURCE`, and an install without that variable behaves as 0.18.3 did. |
| 109 | + - Agent mode now executes statements on MySQL and MariaDB, MongoDB and Kubernetes. |
| 110 | + - For anyone calling the HTTP API: a refusal for a missing privilege answers 403 instead of 401, and a statement timeout 504 instead of 408. |
| 111 | + zh_CN: |- |
| 112 | + - 将 LibreDB Studio 更新至 1.0.0,这是一个大版本。新增十二种连接类型,总数达到四十一种引擎:BigQuery、MQTT、Firestore、RabbitMQ、Snowflake、OPC UA、Apache Spark、MTConnect、Modbus、Sparkplug B、NETCONF 和 SNMP。 |
| 113 | + - 本版本包含一项安全修复:断开连接请求现在只关闭调用者自己的连接(GHSA-78jw-7pvp-64h3),因此多个账号共用的服务器应当升级。 |
| 114 | + - Studio 现在可以运行在一个控制平面之下,由它决定谁可以用哪个凭据打开哪个数据库。除非运维人员设置 `GOVERNANCE_SOURCE`,该功能保持关闭;未设置该变量的安装与 0.18.3 的行为一致。 |
| 115 | + - 代理模式现在可以在 MySQL 和 MariaDB、MongoDB 以及 Kubernetes 上执行语句。 |
| 116 | + - 调用 HTTP API 的一方需注意:权限不足的拒绝现在返回 403 而不是 401,语句超时返回 504 而不是 408。 |
| 117 | + website: https://libredb.org |
| 118 | + repo: https://github.com/libredb/libredb-studio |
| 119 | + support: https://github.com/libredb/libredb-studio/issues |
| 120 | + docs: https://github.com/libredb/libredb-studio/tree/main/docs |
0 commit comments