service-wallabag/README.md
2024-07-09 14:27:16 +02:00

81 lines
2.4 KiB
Markdown

[![Build Status](https://cicd.apps.glenux.net/api/badges/glenux-opencontainers/service-wallabag/status.svg)](https://cicd.apps.glenux.net/glenux-opencontainers/service-wallabag)
# Wallabag
## Setup on Dokku
Create app
export APP=wallabag
dokku apps:create $APP
Setup network and domains
Setup storage
mkdir -p /home/data/$APP.wallabag/images
dokku storage:mount $APP /home/data/$APP.wallabag/images:/var/www/wallabag/web/assets/images
Setup database
dokku postgres:create $APP
dokku postgres:link $APP $APP
Setup cache
dokku redis:create $APP
dokku redis:link $APP $APP
Setup configuration
dokku config:set --no-restart $APP SYMFONY__ENV__DATABASE_DRIVER=pdo_pgsql
dokku config:set --no-restart $APP DATABASE_URL=postgresql://wallabag:wallapass@db:5432/wallabag
dokku config:set --no-restart $APP SYMFONY__ENV__DATABASE_TABLE_PREFIX="wallabag_"
dokku config:set --no-restart $APP SYMFONY__ENV__MAILER_DSN=smtp://127.0.0.1
dokku config:set --no-restart $APP SYMFONY__ENV__FROM_EMAIL=$APP@example.com
dokku config:set --no-restart $APP SYMFONY__ENV__DOMAIN_NAME=https://your-$APP-instance.$APP.org
dokku config:set --no-restart $APP SYMFONY__ENV__SERVER_NAME="Your $APP instance"
dokku config:set --no-restart $APP SYMFONY__ENV__SERVER_NAME="Your $APP instance"
dokku config:set --no-restart $APP SYMFONY__ENV__FOSUSER_REGISTRATION=false
dokku config:set --no-restart $APP SYMFONY__ENV__FOSUSER_CONFIRMATION=false
Setup domain and TLS with letsencrypt
dokku domains:add bag bag.danaos.apps.glenux.net
dokku letsencrypt:set $APP email $APP@example.com
dokku letsencrypt:enable $APP
Limit resources
dokku resource:limit --memory 1000m bag
dokku resource:limit --cpu 1 bag
Deploy
git remote add dokku dokku@example.com:$APP
git push
## Post-install
docker exec -it $APP.web.1 su -c "/usr/local/bin/entrypoint-wrapper.sh migrate"
docker exec -it $APP.web.1 su -c "bin/console list --env=prod" -s /bin/sh nobody
docker exec -it $APP.web.1 su -c "bin/console fos:user:create --super-admin --env=prod" -s /bin/sh nobody
docker exec -it $APP.web.1 su -c "bin/console fos:user:promote --super --env=prod" -s /bin/sh nobody
## Setup on host
Add cronjobs
FROM wallabag/wallabag
The end and, hopefully, success.
## Reference
* https://doc.wallabag.org/fr/developer/docker
* https://hub.docker.com/r/wallabag/wallabag/