No description
.dockerignore | ||
.drone.yml | ||
docker-compose.yml | ||
Dockerfile | ||
entrypoint-wrapper.sh | ||
parse-database-url.sh | ||
README.md |
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.