mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-03 18:36:22 +00:00
refactor: rewrite wallabag_dev to match template conventions
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+72
-8
@@ -1,15 +1,79 @@
|
||||
# Wallabag
|
||||
|
||||
This app allows you to save websites, tag them and access them through an android app, which is accessible offline (after sync).
|
||||
|
||||
## Overview
|
||||
Docker Hub: https://hub.docker.com/r/wallabag/wallabag
|
||||
Project:
|
||||
Docker Compose Example: https://github.com/wallabag/docker
|
||||
Proxy Port: 80
|
||||
|
||||
Wallabag is a self-hosted read-it-later application: save web pages,
|
||||
tag them, and read them later (including offline via the Android/iOS
|
||||
apps after sync). This stack runs Wallabag with a MariaDB database.
|
||||
|
||||
## Project Details
|
||||
|
||||
- **Project Repository:** [github.com/wallabag/wallabag](https://github.com/wallabag/wallabag)
|
||||
- **Container Image:** [Docker Hub](https://hub.docker.com/r/wallabag/wallabag)
|
||||
- **Compose Example:** [github.com/wallabag/docker](https://github.com/wallabag/docker)
|
||||
- **Documentation:** [doc.wallabag.org](https://doc.wallabag.org/)
|
||||
- **Reverse Proxy Port:** `80`
|
||||
|
||||
## Getting Started
|
||||
|
||||
1. Copy `sample.env` and set `WALLABAG_DOMAIN` and the database
|
||||
passwords
|
||||
2. Start the containers: `docker compose up -d` (first start runs the
|
||||
database install and can take a minute or two)
|
||||
3. Open http://localhost:8082 in your browser and sign in with the
|
||||
default `wallabag` / `wallabag` account — change its password
|
||||
immediately
|
||||
|
||||
## Environment Variable Notes
|
||||
|
||||
WALLABAG_DOMAIN – public base URL; must match how users reach the
|
||||
site or logins and asset links break
|
||||
WALLABAG_DB_NAME / WALLABAG_DB_USER / WALLABAG_DB_PASSWORD –
|
||||
database name and credentials, shared by both services
|
||||
WALLABAG_MYSQL_ROOT_PASSWORD – MariaDB root password; the wallabag
|
||||
container also needs it to create the database on first start
|
||||
WALLABAG_MAILER_DSN / WALLABAG_FROM_EMAIL – optional SMTP settings
|
||||
for password-reset and notification emails
|
||||
WALLABAG_PORT – host port for the web UI (default 8082)
|
||||
|
||||
See the [parameter documentation](https://doc.wallabag.org/en/admin/parameters.html)
|
||||
for the full list of `SYMFONY__ENV__` settings.
|
||||
|
||||
## Volume Notes
|
||||
|
||||
- `/var/www/wallabag/web/assets/images` — saved article images;
|
||||
stored at `${VOL_PATH:-/data}/wallabag/images` on the host
|
||||
- `/var/lib/mysql` — MariaDB data; stored at
|
||||
`${VOL_PATH:-/data}/wallabag/db` on the host
|
||||
|
||||
## Network Notes
|
||||
|
||||
Requires proxy network. The database is only attached to the stack's
|
||||
`internal` network.
|
||||
|
||||
## Docker Run
|
||||
|
||||
Not recommended — Wallabag needs its MariaDB companion. Use the
|
||||
compose file.
|
||||
|
||||
## Additional Notes / Gotchas
|
||||
|
||||
- This is a `_dev` stack — experimental, not yet production-ready.
|
||||
- The default login after install is `wallabag` / `wallabag`.
|
||||
- `SYMFONY__ENV__` variables are baked into Wallabag's config on
|
||||
startup; after changing one, restart the container.
|
||||
|
||||
## References
|
||||
|
||||
* [Geek Cookbook](https://geek-cookbook.funkypenguin.co.nz/recipes/wallabag/)
|
||||
* [Environment Parameters](https://doc.wallabag.org/en/admin/parameters.html)
|
||||
- [Geek Cookbook](https://geek-cookbook.funkypenguin.co.nz/recipes/wallabag/)
|
||||
|
||||
## Dockhand Stack, Deploy from Git
|
||||
|
||||
- Cookbooks Repository
|
||||
- stackname: wallabag_dev
|
||||
- Compose file path: wallabag_dev/compose.yaml
|
||||
- Additional env file (optional): wallabag_dev/sample.env
|
||||
|
||||
Then "Load" wallabag_dev/sample.env into the Environment variables in dockhand.
|
||||
|
||||
Create the Stack
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
# Wallabag Read-It-Later
|
||||
|
||||
services:
|
||||
wallabag:
|
||||
image: ${WALLABAG_IMAGE:-wallabag/wallabag:latest}
|
||||
restart: ${WALLABAG_RESTART:-unless-stopped}
|
||||
|
||||
volumes:
|
||||
- ${VOL_PATH:-/data}/wallabag/images:/var/www/wallabag/web/assets/images
|
||||
|
||||
environment:
|
||||
- TZ=${TZ:-America/Vancouver}
|
||||
- MYSQL_ROOT_PASSWORD=${WALLABAG_MYSQL_ROOT_PASSWORD:-changeme-root}
|
||||
- SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql
|
||||
- SYMFONY__ENV__DATABASE_HOST=wallabag-db
|
||||
- SYMFONY__ENV__DATABASE_PORT=3306
|
||||
- SYMFONY__ENV__DATABASE_NAME=${WALLABAG_DB_NAME:-wallabag}
|
||||
- SYMFONY__ENV__DATABASE_USER=${WALLABAG_DB_USER:-wallabag}
|
||||
- SYMFONY__ENV__DATABASE_PASSWORD=${WALLABAG_DB_PASSWORD:-changeme}
|
||||
- SYMFONY__ENV__DATABASE_CHARSET=utf8mb4
|
||||
- SYMFONY__ENV__DATABASE_TABLE_PREFIX=wallabag_
|
||||
- SYMFONY__ENV__MAILER_DSN=${WALLABAG_MAILER_DSN:-smtp://127.0.0.1}
|
||||
- SYMFONY__ENV__FROM_EMAIL=${WALLABAG_FROM_EMAIL:-wallabag@example.com}
|
||||
- SYMFONY__ENV__DOMAIN_NAME=${WALLABAG_DOMAIN:-http://localhost:8082}
|
||||
- SYMFONY__ENV__SERVER_NAME=${WALLABAG_SERVER_NAME:-wallabag}
|
||||
|
||||
ports:
|
||||
- "${WALLABAG_PORT:-8082}:80"
|
||||
|
||||
networks:
|
||||
- proxy
|
||||
- internal
|
||||
|
||||
depends_on:
|
||||
- wallabag-db
|
||||
|
||||
wallabag-db:
|
||||
image: ${MARIADB_IMAGE:-mariadb:11}
|
||||
restart: ${WALLABAG_RESTART:-unless-stopped}
|
||||
|
||||
volumes:
|
||||
- ${VOL_PATH:-/data}/wallabag/db:/var/lib/mysql
|
||||
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${WALLABAG_MYSQL_ROOT_PASSWORD:-changeme-root}
|
||||
|
||||
networks:
|
||||
- internal
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
internal:
|
||||
driver: bridge
|
||||
@@ -1,27 +0,0 @@
|
||||
services:
|
||||
wallabag:
|
||||
image: ${WALLABAG_IMAGE:-wallabag/wallabag:latest}
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- SYMFONY__ENV__DATABASE_DRIVER=${WALLABAG_DB_DRIVER:-pdo_mysql}
|
||||
- SYMFONY__ENV__DATABASE_HOST=${WALLABAG_DB_HOST:-wallabag-db}
|
||||
- SYMFONY__ENV__DATABASE_PORT=${WALLABAG_DB_PORT:-3306}
|
||||
- SYMFONY__ENV__DATABASE_NAME=${WALLABAG_DB_NAME:-wallabag}
|
||||
- SYMFONY__ENV__DATABASE_USER=${WALLABAG_DB_USER:-wallabag}
|
||||
- SYMFONY__ENV__DATABASE_PASSWORD=${WALLABAG_DB_PASS:-wallapass}
|
||||
- SYMFONY__ENV__DATABASE_CHARSET=${WALLABAG_DB_CHARSET:-utf8mb4}
|
||||
- SYMFONY__ENV__DATABASE_TABLE_PREFIX=${WALLABAG_DB_PREFIX:-wallabag_}
|
||||
- SYMFONY__ENV__MAILER_DSN=${WALLABAG_MAILER_DSN:-smtp://127.0.0.1}
|
||||
- SYMFONY__ENV__FROM_EMAIL=${WALLABAG_FROM_EMAIL:-wallabag@example.com}
|
||||
- SYMFONY__ENV__DOMAIN_NAME=${WALLABAG_DOMAIN:-https://your-wallabag-instance.wallabag.org}
|
||||
- SYMFONY__ENV__SERVER_NAME=${WALLABAG_SERVER:-Your wallabag instance}
|
||||
- TZ=${WALLABAG_TZ:-America/Vancouver}
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost/api/info"]
|
||||
interval: 1m
|
||||
timeout: 3s
|
||||
volumes:
|
||||
- wallabag-data:/var/www/wallabag/web/assets/images
|
||||
|
||||
volumes:
|
||||
wallabag-data:
|
||||
+16
-13
@@ -1,17 +1,20 @@
|
||||
# Global
|
||||
WALLABAG_TZ=America/Vancouver
|
||||
|
||||
# Wallabag
|
||||
WALLABAG_IMAGE=wallabag/wallabag:latest
|
||||
WALLABAG_DB_DRIVER=pdo_mysql
|
||||
WALLABAG_DB_HOST=wallabag-db
|
||||
WALLABAG_DB_PORT=3306
|
||||
MARIADB_IMAGE=mariadb:11
|
||||
WALLABAG_RESTART=unless-stopped
|
||||
VOL_PATH=/data
|
||||
WALLABAG_PORT=8082
|
||||
TZ=America/Vancouver
|
||||
|
||||
# Public URL used in emails and generated links (set to your proxy domain)
|
||||
WALLABAG_DOMAIN=http://localhost:8082
|
||||
WALLABAG_SERVER_NAME=wallabag
|
||||
|
||||
# Database
|
||||
WALLABAG_DB_NAME=wallabag
|
||||
WALLABAG_DB_USER=wallabag
|
||||
WALLABAG_DB_PASS=wallapass
|
||||
WALLABAG_DB_CHARSET=utf8mb4
|
||||
WALLABAG_DB_PREFIX=wallabag_
|
||||
WALLABAG_DB_PASSWORD=changeme
|
||||
WALLABAG_MYSQL_ROOT_PASSWORD=changeme-root
|
||||
|
||||
# Mail (optional)
|
||||
WALLABAG_MAILER_DSN=smtp://127.0.0.1
|
||||
WALLABAG_FROM_WEMAIL=wallabag@example.com
|
||||
WALLABAG_DOMAIN=https://your-wallabag-instance.wallabag.org
|
||||
WALLABAG_SERVER=Your wallabag instance
|
||||
WALLABAG_FROM_EMAIL=wallabag@example.com
|
||||
|
||||
Reference in New Issue
Block a user