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
|
# Wallabag
|
||||||
|
|
||||||
This app allows you to save websites, tag them and access them through an android app, which is accessible offline (after sync).
|
|
||||||
|
|
||||||
## Overview
|
## 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
|
## References
|
||||||
|
|
||||||
* [Geek Cookbook](https://geek-cookbook.funkypenguin.co.nz/recipes/wallabag/)
|
- [Geek Cookbook](https://geek-cookbook.funkypenguin.co.nz/recipes/wallabag/)
|
||||||
* [Environment Parameters](https://doc.wallabag.org/en/admin/parameters.html)
|
|
||||||
|
## 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_IMAGE=wallabag/wallabag:latest
|
||||||
WALLABAG_DB_DRIVER=pdo_mysql
|
MARIADB_IMAGE=mariadb:11
|
||||||
WALLABAG_DB_HOST=wallabag-db
|
WALLABAG_RESTART=unless-stopped
|
||||||
WALLABAG_DB_PORT=3306
|
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_NAME=wallabag
|
||||||
WALLABAG_DB_USER=wallabag
|
WALLABAG_DB_USER=wallabag
|
||||||
WALLABAG_DB_PASS=wallapass
|
WALLABAG_DB_PASSWORD=changeme
|
||||||
WALLABAG_DB_CHARSET=utf8mb4
|
WALLABAG_MYSQL_ROOT_PASSWORD=changeme-root
|
||||||
WALLABAG_DB_PREFIX=wallabag_
|
|
||||||
|
# Mail (optional)
|
||||||
WALLABAG_MAILER_DSN=smtp://127.0.0.1
|
WALLABAG_MAILER_DSN=smtp://127.0.0.1
|
||||||
WALLABAG_FROM_WEMAIL=wallabag@example.com
|
WALLABAG_FROM_EMAIL=wallabag@example.com
|
||||||
WALLABAG_DOMAIN=https://your-wallabag-instance.wallabag.org
|
|
||||||
WALLABAG_SERVER=Your wallabag instance
|
|
||||||
|
|||||||
Reference in New Issue
Block a user