From 455e1914a9eeabb0d38213e056ef3b41bd159784 Mon Sep 17 00:00:00 2001
From: NightVibes33 <214680657+NightVibes33@users.noreply.github.com>
Date: Thu, 21 May 2026 15:49:17 +0000
Subject: [PATCH 1/2] feat: add wallabag template
---
blueprints/wallabag/docker-compose.yml | 61 ++++++++++++++++++++++++++
blueprints/wallabag/template.toml | 18 ++++++++
blueprints/wallabag/wallabag.svg | 5 +++
meta.json | 18 ++++++++
4 files changed, 102 insertions(+)
create mode 100644 blueprints/wallabag/docker-compose.yml
create mode 100644 blueprints/wallabag/template.toml
create mode 100644 blueprints/wallabag/wallabag.svg
diff --git a/blueprints/wallabag/docker-compose.yml b/blueprints/wallabag/docker-compose.yml
new file mode 100644
index 00000000..890758cf
--- /dev/null
+++ b/blueprints/wallabag/docker-compose.yml
@@ -0,0 +1,61 @@
+version: "3.8"
+
+services:
+ wallabag:
+ image: wallabag/wallabag:2.6.14
+ restart: unless-stopped
+ expose:
+ - "80"
+ depends_on:
+ wallabag-db:
+ condition: service_healthy
+ wallabag-redis:
+ condition: service_healthy
+ environment:
+ - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
+ - SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql
+ - SYMFONY__ENV__DATABASE_HOST=wallabag-db
+ - SYMFONY__ENV__DATABASE_PORT=3306
+ - SYMFONY__ENV__DATABASE_NAME=wallabag
+ - SYMFONY__ENV__DATABASE_USER=wallabag
+ - SYMFONY__ENV__DATABASE_PASSWORD=${SYMFONY__ENV__DATABASE_PASSWORD}
+ - SYMFONY__ENV__DATABASE_CHARSET=utf8mb4
+ - SYMFONY__ENV__DATABASE_TABLE_PREFIX=wallabag_
+ - SYMFONY__ENV__MAILER_DSN=smtp://127.0.0.1
+ - SYMFONY__ENV__FROM_EMAIL=${SYMFONY__ENV__FROM_EMAIL}
+ - SYMFONY__ENV__DOMAIN_NAME=${SYMFONY__ENV__DOMAIN_NAME}
+ - SYMFONY__ENV__SERVER_NAME=${SYMFONY__ENV__SERVER_NAME}
+ volumes:
+ - wallabag-images:/var/www/wallabag/web/assets/images
+
+ wallabag-db:
+ image: mariadb:11.4
+ restart: unless-stopped
+ environment:
+ - MARIADB_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
+ - MARIADB_DATABASE=wallabag
+ - MARIADB_USER=wallabag
+ - MARIADB_PASSWORD=${SYMFONY__ENV__DATABASE_PASSWORD}
+ volumes:
+ - wallabag-db-data:/var/lib/mysql
+ healthcheck:
+ test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
+ interval: 20s
+ timeout: 5s
+ retries: 10
+
+ wallabag-redis:
+ image: redis:7-alpine
+ restart: unless-stopped
+ volumes:
+ - wallabag-redis-data:/data
+ healthcheck:
+ test: ["CMD", "redis-cli", "ping"]
+ interval: 20s
+ timeout: 5s
+ retries: 10
+
+volumes:
+ wallabag-images:
+ wallabag-db-data:
+ wallabag-redis-data:
diff --git a/blueprints/wallabag/template.toml b/blueprints/wallabag/template.toml
new file mode 100644
index 00000000..5153ab07
--- /dev/null
+++ b/blueprints/wallabag/template.toml
@@ -0,0 +1,18 @@
+[variables]
+main_domain = "${domain}"
+db_root_password = "${password:32}"
+db_password = "${password:32}"
+from_email = "wallabag@example.com"
+
+[config]
+[[config.domains]]
+serviceName = "wallabag"
+port = 80
+host = "${main_domain}"
+
+[config.env]
+MYSQL_ROOT_PASSWORD = "${db_root_password}"
+SYMFONY__ENV__DATABASE_PASSWORD = "${db_password}"
+SYMFONY__ENV__DOMAIN_NAME = "https://${main_domain}"
+SYMFONY__ENV__FROM_EMAIL = "${from_email}"
+SYMFONY__ENV__SERVER_NAME = "wallabag"
diff --git a/blueprints/wallabag/wallabag.svg b/blueprints/wallabag/wallabag.svg
new file mode 100644
index 00000000..8d4373b4
--- /dev/null
+++ b/blueprints/wallabag/wallabag.svg
@@ -0,0 +1,5 @@
+
diff --git a/meta.json b/meta.json
index 8be7825d..641572c5 100644
--- a/meta.json
+++ b/meta.json
@@ -6517,6 +6517,24 @@
"project-management"
]
},
+ {
+ "id": "wallabag",
+ "name": "wallabag",
+ "version": "2.6.14",
+ "description": "wallabag is a self-hosted read-it-later application for saving, classifying, and reading web articles.",
+ "logo": "wallabag.svg",
+ "links": {
+ "github": "https://github.com/wallabag/wallabag",
+ "website": "https://wallabag.org/",
+ "docs": "https://doc.wallabag.org/"
+ },
+ "tags": [
+ "read-it-later",
+ "bookmarks",
+ "articles",
+ "self-hosted"
+ ]
+ },
{
"id": "wallos",
"name": "Wallos",
From 65a9a0a5a5f9bb5d626b254f4a65deed78ec2ee9 Mon Sep 17 00:00:00 2001
From: Mauricio Siu
Date: Wed, 8 Jul 2026 01:37:02 -0600
Subject: [PATCH 2/2] fix: let wallabag entrypoint provision the database so
the install runs
The template deployed but returned a persistent HTTP 500: MARIADB_DATABASE
pre-created the wallabag database, so the image entrypoint detected an
existing database, skipped bin/console wallabag:install and left an empty
schema. Only MARIADB_ROOT_PASSWORD is set now, letting the entrypoint
create the database/user and run the installer on first boot (matching the
official wallabag docker-compose).
Also:
- build SYMFONY__ENV__DOMAIN_NAME from the generated domain with the http
scheme so assets/redirects match how the domain is served
- point SYMFONY__ENV__REDIS_HOST at the wallabag-redis service (default is
'redis', which does not resolve here)
- randomize SYMFONY__ENV__SECRET instead of relying on the image's
hardcoded default
Co-Authored-By: Claude Fable 5
---
blueprints/wallabag/docker-compose.yml | 9 ++++++---
blueprints/wallabag/template.toml | 4 +++-
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/blueprints/wallabag/docker-compose.yml b/blueprints/wallabag/docker-compose.yml
index 890758cf..e4359cf4 100644
--- a/blueprints/wallabag/docker-compose.yml
+++ b/blueprints/wallabag/docker-compose.yml
@@ -25,6 +25,8 @@ services:
- SYMFONY__ENV__FROM_EMAIL=${SYMFONY__ENV__FROM_EMAIL}
- SYMFONY__ENV__DOMAIN_NAME=${SYMFONY__ENV__DOMAIN_NAME}
- SYMFONY__ENV__SERVER_NAME=${SYMFONY__ENV__SERVER_NAME}
+ - SYMFONY__ENV__SECRET=${SYMFONY__ENV__SECRET}
+ - SYMFONY__ENV__REDIS_HOST=wallabag-redis
volumes:
- wallabag-images:/var/www/wallabag/web/assets/images
@@ -32,10 +34,11 @@ services:
image: mariadb:11.4
restart: unless-stopped
environment:
+ # Only the root password is set on purpose: the wallabag entrypoint
+ # creates the database and user and runs `wallabag:install` itself.
+ # Pre-creating the database (MARIADB_DATABASE) makes the entrypoint
+ # skip the install, leaving an empty schema and a persistent HTTP 500.
- MARIADB_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- - MARIADB_DATABASE=wallabag
- - MARIADB_USER=wallabag
- - MARIADB_PASSWORD=${SYMFONY__ENV__DATABASE_PASSWORD}
volumes:
- wallabag-db-data:/var/lib/mysql
healthcheck:
diff --git a/blueprints/wallabag/template.toml b/blueprints/wallabag/template.toml
index 5153ab07..5094139e 100644
--- a/blueprints/wallabag/template.toml
+++ b/blueprints/wallabag/template.toml
@@ -2,6 +2,7 @@
main_domain = "${domain}"
db_root_password = "${password:32}"
db_password = "${password:32}"
+app_secret = "${password:32}"
from_email = "wallabag@example.com"
[config]
@@ -13,6 +14,7 @@ host = "${main_domain}"
[config.env]
MYSQL_ROOT_PASSWORD = "${db_root_password}"
SYMFONY__ENV__DATABASE_PASSWORD = "${db_password}"
-SYMFONY__ENV__DOMAIN_NAME = "https://${main_domain}"
+SYMFONY__ENV__DOMAIN_NAME = "http://${main_domain}"
SYMFONY__ENV__FROM_EMAIL = "${from_email}"
SYMFONY__ENV__SERVER_NAME = "wallabag"
+SYMFONY__ENV__SECRET = "${app_secret}"