wallabag
wallabag is a self-hosted read-it-later application for saving, classifying, and reading web articles.
Configuration
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}
- SYMFONY__ENV__SECRET=${SYMFONY__ENV__SECRET}
- SYMFONY__ENV__REDIS_HOST=wallabag-redis
volumes:
- wallabag-images:/var/www/wallabag/web/assets/images
wallabag-db:
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}
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:[variables]
main_domain = "${domain}"
db_root_password = "${password:32}"
db_password = "${password:32}"
app_secret = "${password:32}"
from_email = "[email protected]"
[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 = "http://${main_domain}"
SYMFONY__ENV__FROM_EMAIL = "${from_email}"
SYMFONY__ENV__SERVER_NAME = "wallabag"
SYMFONY__ENV__SECRET = "${app_secret}"Base64
To import this template in Dokploy: create a Compose service → Advanced → Base64 import and paste the content below:
ewogICJjb21wb3NlIjogInZlcnNpb246IFwiMy44XCJcblxuc2VydmljZXM6XG4gIHdhbGxhYmFnOlxuICAgIGltYWdlOiB3YWxsYWJhZy93YWxsYWJhZzoyLjYuMTRcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGV4cG9zZTpcbiAgICAgIC0gXCI4MFwiXG4gICAgZGVwZW5kc19vbjpcbiAgICAgIHdhbGxhYmFnLWRiOlxuICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeVxuICAgICAgd2FsbGFiYWctcmVkaXM6XG4gICAgICAgIGNvbmRpdGlvbjogc2VydmljZV9oZWFsdGh5XG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAtIE1ZU1FMX1JPT1RfUEFTU1dPUkQ9JHtNWVNRTF9ST09UX1BBU1NXT1JEfVxuICAgICAgLSBTWU1GT05ZX19FTlZfX0RBVEFCQVNFX0RSSVZFUj1wZG9fbXlzcWxcbiAgICAgIC0gU1lNRk9OWV9fRU5WX19EQVRBQkFTRV9IT1NUPXdhbGxhYmFnLWRiXG4gICAgICAtIFNZTUZPTllfX0VOVl9fREFUQUJBU0VfUE9SVD0zMzA2XG4gICAgICAtIFNZTUZPTllfX0VOVl9fREFUQUJBU0VfTkFNRT13YWxsYWJhZ1xuICAgICAgLSBTWU1GT05ZX19FTlZfX0RBVEFCQVNFX1VTRVI9d2FsbGFiYWdcbiAgICAgIC0gU1lNRk9OWV9fRU5WX19EQVRBQkFTRV9QQVNTV09SRD0ke1NZTUZPTllfX0VOVl9fREFUQUJBU0VfUEFTU1dPUkR9XG4gICAgICAtIFNZTUZPTllfX0VOVl9fREFUQUJBU0VfQ0hBUlNFVD11dGY4bWI0XG4gICAgICAtIFNZTUZPTllfX0VOVl9fREFUQUJBU0VfVEFCTEVfUFJFRklYPXdhbGxhYmFnX1xuICAgICAgLSBTWU1GT05ZX19FTlZfX01BSUxFUl9EU049c210cDovLzEyNy4wLjAuMVxuICAgICAgLSBTWU1GT05ZX19FTlZfX0ZST01fRU1BSUw9JHtTWU1GT05ZX19FTlZfX0ZST01fRU1BSUx9XG4gICAgICAtIFNZTUZPTllfX0VOVl9fRE9NQUlOX05BTUU9JHtTWU1GT05ZX19FTlZfX0RPTUFJTl9OQU1FfVxuICAgICAgLSBTWU1GT05ZX19FTlZfX1NFUlZFUl9OQU1FPSR7U1lNRk9OWV9fRU5WX19TRVJWRVJfTkFNRX1cbiAgICAgIC0gU1lNRk9OWV9fRU5WX19TRUNSRVQ9JHtTWU1GT05ZX19FTlZfX1NFQ1JFVH1cbiAgICAgIC0gU1lNRk9OWV9fRU5WX19SRURJU19IT1NUPXdhbGxhYmFnLXJlZGlzXG4gICAgdm9sdW1lczpcbiAgICAgIC0gd2FsbGFiYWctaW1hZ2VzOi92YXIvd3d3L3dhbGxhYmFnL3dlYi9hc3NldHMvaW1hZ2VzXG5cbiAgd2FsbGFiYWctZGI6XG4gICAgaW1hZ2U6IG1hcmlhZGI6MTEuNFxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgZW52aXJvbm1lbnQ6XG4gICAgICAjIE9ubHkgdGhlIHJvb3QgcGFzc3dvcmQgaXMgc2V0IG9uIHB1cnBvc2U6IHRoZSB3YWxsYWJhZyBlbnRyeXBvaW50XG4gICAgICAjIGNyZWF0ZXMgdGhlIGRhdGFiYXNlIGFuZCB1c2VyIGFuZCBydW5zIGB3YWxsYWJhZzppbnN0YWxsYCBpdHNlbGYuXG4gICAgICAjIFByZS1jcmVhdGluZyB0aGUgZGF0YWJhc2UgKE1BUklBREJfREFUQUJBU0UpIG1ha2VzIHRoZSBlbnRyeXBvaW50XG4gICAgICAjIHNraXAgdGhlIGluc3RhbGwsIGxlYXZpbmcgYW4gZW1wdHkgc2NoZW1hIGFuZCBhIHBlcnNpc3RlbnQgSFRUUCA1MDAuXG4gICAgICAtIE1BUklBREJfUk9PVF9QQVNTV09SRD0ke01ZU1FMX1JPT1RfUEFTU1dPUkR9XG4gICAgdm9sdW1lczpcbiAgICAgIC0gd2FsbGFiYWctZGItZGF0YTovdmFyL2xpYi9teXNxbFxuICAgIGhlYWx0aGNoZWNrOlxuICAgICAgdGVzdDogW1wiQ01EXCIsIFwiaGVhbHRoY2hlY2suc2hcIiwgXCItLWNvbm5lY3RcIiwgXCItLWlubm9kYl9pbml0aWFsaXplZFwiXVxuICAgICAgaW50ZXJ2YWw6IDIwc1xuICAgICAgdGltZW91dDogNXNcbiAgICAgIHJldHJpZXM6IDEwXG5cbiAgd2FsbGFiYWctcmVkaXM6XG4gICAgaW1hZ2U6IHJlZGlzOjctYWxwaW5lXG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICB2b2x1bWVzOlxuICAgICAgLSB3YWxsYWJhZy1yZWRpcy1kYXRhOi9kYXRhXG4gICAgaGVhbHRoY2hlY2s6XG4gICAgICB0ZXN0OiBbXCJDTURcIiwgXCJyZWRpcy1jbGlcIiwgXCJwaW5nXCJdXG4gICAgICBpbnRlcnZhbDogMjBzXG4gICAgICB0aW1lb3V0OiA1c1xuICAgICAgcmV0cmllczogMTBcblxudm9sdW1lczpcbiAgd2FsbGFiYWctaW1hZ2VzOlxuICB3YWxsYWJhZy1kYi1kYXRhOlxuICB3YWxsYWJhZy1yZWRpcy1kYXRhOlxuIiwKICAiY29uZmlnIjogIlt2YXJpYWJsZXNdXG5tYWluX2RvbWFpbiA9IFwiJHtkb21haW59XCJcbmRiX3Jvb3RfcGFzc3dvcmQgPSBcIiR7cGFzc3dvcmQ6MzJ9XCJcbmRiX3Bhc3N3b3JkID0gXCIke3Bhc3N3b3JkOjMyfVwiXG5hcHBfc2VjcmV0ID0gXCIke3Bhc3N3b3JkOjMyfVwiXG5mcm9tX2VtYWlsID0gXCJ3YWxsYWJhZ0BleGFtcGxlLmNvbVwiXG5cbltjb25maWddXG5bW2NvbmZpZy5kb21haW5zXV1cbnNlcnZpY2VOYW1lID0gXCJ3YWxsYWJhZ1wiXG5wb3J0ID0gODBcbmhvc3QgPSBcIiR7bWFpbl9kb21haW59XCJcblxuW2NvbmZpZy5lbnZdXG5NWVNRTF9ST09UX1BBU1NXT1JEID0gXCIke2RiX3Jvb3RfcGFzc3dvcmR9XCJcblNZTUZPTllfX0VOVl9fREFUQUJBU0VfUEFTU1dPUkQgPSBcIiR7ZGJfcGFzc3dvcmR9XCJcblNZTUZPTllfX0VOVl9fRE9NQUlOX05BTUUgPSBcImh0dHA6Ly8ke21haW5fZG9tYWlufVwiXG5TWU1GT05ZX19FTlZfX0ZST01fRU1BSUwgPSBcIiR7ZnJvbV9lbWFpbH1cIlxuU1lNRk9OWV9fRU5WX19TRVJWRVJfTkFNRSA9IFwid2FsbGFiYWdcIlxuU1lNRk9OWV9fRU5WX19TRUNSRVQgPSBcIiR7YXBwX3NlY3JldH1cIlxuIgp9Links
Tags
read-it-later, bookmarks, articles, self-hosted
Version: 2.6.14