; Date: Wed May 28 2025
Tags: Docker »»»» Self Hosting »»»»

We read an article somewhere, it was very interesting, we learned a lot, and we vow to remember everything we learned. Then we close the browser tab, and amidst our busy life we forget about the article, forget what we learned, until one day it comes to mind. But, we can't remember the title, what site it was on, precisely the topic, and it's difficult to find the article again.
That's where Wallabag helps us. It's a tool for recording things we've read online, and using tagging we can organize those things into useful groups.
There are many services available for this purpose. Where Wallabag shines is that you can host it on your own server for the ultimate in data privacy. You don't have to worry that Big Brother is tracking the articles you've read, because Wallabag stores them on a server you control.
This is for the people who have a server and the skills to self-host a Docker service.
https://hub.docker.com/r/wallabag/wallabag/
Docker Compose file for Wallabag
services:
wallabag:
image: wallabag/wallabag
restart: unless-stopped
environment:
# - MYSQL_ROOT_PASSWORD=wallaroot
# - SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql
# - SYMFONY__ENV__DATABASE_HOST=db
# - SYMFONY__ENV__DATABASE_PORT=3306
# - SYMFONY__ENV__DATABASE_NAME=wallabag
# - SYMFONY__ENV__DATABASE_USER=wallabag
# - SYMFONY__ENV__DATABASE_PASSWORD=wallapass
# - SYMFONY__ENV__DATABASE_CHARSET=utf8mb4
# - SYMFONY__ENV__DATABASE_TABLE_PREFIX="wallabag_"
# - SYMFONY__ENV__MAILER_DSN=smtp://127.0.0.1
# - SYMFONY__ENV__FROM_EMAIL=wallabag@example.com
- SYMFONY__ENV__DOMAIN_NAME=https://bag.example.com
- SYMFONY__ENV__SERVER_NAME="Baggy"
# ports:
# - "80"
volumes:
- /home/david/docker/wallabag/images:/var/www/wallabag/web/assets/images
- /home/david/docker/wallabag/data:/var/www/wallabag/data
healthcheck:
test: ["CMD", "wget" ,"--no-verbose", "--tries=1", "--spider", "http://localhost/api/info"]
interval: 1m
timeout: 3s
depends_on:
# - db
- redis
networks:
- servernet
- wallanet
# db:
# image: mariadb
# restart: unless-stopped
# environment:
# - MYSQL_ROOT_PASSWORD=wallaroot
# volumes:
# - /opt/wallabag/data:/var/lib/mysql
# healthcheck:
# test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
# interval: 20s
# timeout: 3s
redis:
image: redis:alpine
restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 20s
timeout: 3s
networks:
- wallanet
networks:
servernet:
external: true
wallanet:
external: true
Caddy configuration
http://bag.wwwatts.net {
redir https://{host}{uri} permanent
}
https://bag.wwwatts.net {
reverse_proxy wallabag-wallabag-1:80
}
The initial startup, there is a default user/password:
- user: wallabag
- password: wallabag
When I did this, a warning popped up from the browser saying this combination was known to be compromised. Obviously this is a default password, and some administrators may have left the default in place, only to have miscreants access their Wallabag instance.
So... change the password. To do so:
- Click on the upper-right-icon and select Config
- Click on the Password tab
- Enter a new password
Also, on the upper-right-corner menu is a Users Management choice. The table has one entry, wallabag. It's recommended to change the name of this user to admin
(for example). To do so, click on the Edit link.
Next, it's recommended to setup a user account for yourself. The wallabag
/admin
account has full access rights to everything. Subsequent accounts do not have full privileges. It is recommended that your day-day use have limited privileges. Click on the Create a new User button and follow the instructions.
Next, login as your day-day user account.
Importing from Pocket etc to Wallabag
See
https://doc.wallabag.org/user/import/
Importing articles from a desktop browser
For your browser, install the correct extension. Links for this are on the Wallabag home page.
On first install you'll be in the configuration/options screen.
Enter the domain name of your Wallabag instance. Click on Check URL. If successful more boxes will show up to enter tokens and such.
In your Wallabag instance, navigate to API Cients Management. Click on Create a new Client.
On that page you will see a pair of tokens. One by one click on the Copy button, then pages into the corresponding slot on the API Cients Management window. After copying the keys over, enter the user name and password of your account. Click on Get Token.
Afterward, click on the options below. Most of them should be checked.
A new icon will appear in the browser toolbar.
Importing articles using a smart phone
For your mobile device, click on the Android or iOS choice. Links are on the Wallabag home page.
Alternatives
Raindrop -
https://raindrop.io/ - Looks like an excellent tool. The service is not open source, which you may be okay with.
Karakeep -
https://karakeep.app/ - It's open source self hosted, meaning your data is safe. But, it requires having an OpenAI subscription and will cost $$s on every item saved.
Archive Box -
https://archivebox.io/ - Did not explore beyond reading the home page.
https://www.gotchseo.com/best-pocket-alternatives/ -- List to review
https://www.bookmarkninja.com/
How to
https://www.howtoforge.com/how-to-install-wallabag-on-ubuntu-1804/