From e43b301711ebbd64c43a9478a43accae0d9f6e34 Mon Sep 17 00:00:00 2001 From: Nick Yeoman Date: Sat, 17 Aug 2024 21:55:09 -0700 Subject: [PATCH] updated wallabag and added redis --- redis/README.md | 6 +++ redis/docker-compose.yml | 10 ++++ redis/sample-extends.yml | 7 +++ redis/sample.env | 5 ++ thunderbird/sample.env | 2 +- wallabag/README.md | 34 ++++---------- wallabag/docker-compose.yml | 91 +++++++++---------------------------- wallabag/env-sample | 13 ------ wallabag/sample-extends.yml | 17 +++++++ wallabag/sample.env | 20 ++++++++ 10 files changed, 97 insertions(+), 108 deletions(-) create mode 100644 redis/README.md create mode 100644 redis/docker-compose.yml create mode 100644 redis/sample-extends.yml create mode 100644 redis/sample.env delete mode 100644 wallabag/env-sample create mode 100644 wallabag/sample-extends.yml create mode 100644 wallabag/sample.env diff --git a/redis/README.md b/redis/README.md new file mode 100644 index 0000000..225bad5 --- /dev/null +++ b/redis/README.md @@ -0,0 +1,6 @@ +# redis + +Last Updated: Sat August 17, 2024 14:55:08 PDT + +## Overview +Docker Hub: https://hub.docker.com/_/redis diff --git a/redis/docker-compose.yml b/redis/docker-compose.yml new file mode 100644 index 0000000..4b24205 --- /dev/null +++ b/redis/docker-compose.yml @@ -0,0 +1,10 @@ +version: '3.8' + +services: + redis: + image: ${REDIS_IMAGE:-redis:alpine} + restart: unless-stopped + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 20s + timeout: 3s diff --git a/redis/sample-extends.yml b/redis/sample-extends.yml new file mode 100644 index 0000000..fac0b30 --- /dev/null +++ b/redis/sample-extends.yml @@ -0,0 +1,7 @@ +version: '3.4' + +services: + redis: + extends: + file: ${COOKBOOK}/redis/docker-compose.yml + service: redis diff --git a/redis/sample.env b/redis/sample.env new file mode 100644 index 0000000..7ddaa0f --- /dev/null +++ b/redis/sample.env @@ -0,0 +1,5 @@ + +COOKBOOK=/git/docker-compose-cookbooks #HELP: cookbooks + +# redis +REDIS_IMAGE=redis:alpine diff --git a/thunderbird/sample.env b/thunderbird/sample.env index eb06da4..758fc13 100644 --- a/thunderbird/sample.env +++ b/thunderbird/sample.env @@ -1,5 +1,5 @@ # Global -VOL_PATH=/docker/vol/portainer-data #HELP: volpath +VOL_PATH=/docker/vol/thunderbird-data #HELP: volpath COOKBOOK=/git/docker-compose-cookbooks #HELP: cookbooks # Thunderbird diff --git a/wallabag/README.md b/wallabag/README.md index 3f271fe..d467bf3 100644 --- a/wallabag/README.md +++ b/wallabag/README.md @@ -1,29 +1,15 @@ -Here is what I posted to github issues: +# Wallabag -https://github.com/wallabag/docker/issues/153 +This app allows you to save websites, tag them and access them through an android app, which is accessible offline (after sync). -In the hopes of saving someone else time, the Ansible script that runs is located here: -entrypoint.yml +## Overview +Docker Hub: https://hub.docker.com/r/wallabag/wallabag +Project: +Docker Compose Example: https://github.com/wallabag/docker +Proxy Port: 80 -for some reason when Ansible tries to connect to the db host, mariadb closes the connetion: -[Warning] Aborted connection 8 to db: 'unconnected' user: 'unauthenticated' host: '192.168.0.4' (This connection closed normally without authentication) -even though when you connect to the container: -docker exec -it dcebf5dcbda1 sh +## References -you can connect to the database just fine: -mysql -h $SYMFONY__ENV__DATABASE_HOST -u root -p$MYSQL_ROOT_PASSWORD - -But if I manually run the playbook: -ansible-playbook -i /etc/ansible/hosts /etc/ansible/entrypoint.yml -c local "$@" - -I get the warning: -[WARNING]: Found both group and host with same name: localhost - -But the playbook successfully completes. - -If it doesn't (or if you have defined the mariadb user and database name in your compose file) you can try the POPULATE_DATABASE=false and then run php bin/console wallabag:install --env=prod -n from the /var/www/wallabag directory. - -I think (untested) if you ran ansible-playbook -i ${HOSTNAME}, /etc/ansible/entrypoint.yml -c local "$@" instead of using an inventory and there was a check for if {{ database_name }} exists - name: add mariadb db in the playbook, it might work a little better. But I'm not sure how to stop mariadb from closing the connection. - -hope this helps. +* [Geek Cookbook](https://geek-cookbook.funkypenguin.co.nz/recipes/wallabag/) +* [Environment Parameters](https://doc.wallabag.org/en/admin/parameters.html) diff --git a/wallabag/docker-compose.yml b/wallabag/docker-compose.yml index 2047f88..cd4140a 100644 --- a/wallabag/docker-compose.yml +++ b/wallabag/docker-compose.yml @@ -1,75 +1,26 @@ -############################################################################### -# reference link: https://geek-cookbook.funkypenguin.co.nz/recipes/wallabag/ -# You will want this for environment: -# https://doc.wallabag.org/en/admin/parameters.html -# and main docker page: -# https://github.com/wallabag/docker/blob/master/README.md -############################################################################### ---- -version: '3' - -networks: - admin_web: - external: - name: admin_web - -volumes: - wallabag: - wallabag-db: +version: '3.8' services: - - wallabag-db: - image: mariadb:${DB_V} - restart: always - volumes: - - wallabag-db:/var/lib/mysql - networks: - - admin_web - environment: - MYSQL_ROOT_PASSWORD: ${WALLABAG_MYSQL_ROOT_PASSWORD} - # Do not define mysql info, an ansible script in wallabag does that. - wallabag: - #https://hub.docker.com/r/wallabag/wallabag - image: wallabag/wallabag:${WALLABAG_V} + image: ${WALLABAG_IMAGE:-wallabag/wallabag:latest} + restart: unless-stopped environment: - - TZ=it-IT - - PUID=1000 - - PGID=1000 - - SYMFONY__ENV__DOMAIN_NAME=https://${WALLABAG_DOMAIN_NAME} - # 30 characters, try: - - SYMFONY__ENV__SECRET=${WALLABAG_SECRET} - - SYMFONY__ENV__FOSUSER_REGISTRATION=false - # MYSQL - - MYSQL_ROOT_PASSWORD=${WALLABAG_MYSQL_ROOT_PASSWORD} - - SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql - - SYMFONY__ENV__DATABASE_HOST=${PREFIX}_wallabag-db_1 - - SYMFONY__ENV__DATABASE_PORT=3306 - - SYMFONY__ENV__DATABASE_NAME=wallabag - - SYMFONY__ENV__DATABASE_USER=wallabag - - SYMFONY__ENV__DATABASE_PASSWORD=${WALLABAG_MYSQL_PASSWORD} - - SYMFONY__ENV__DATABASE_CHARSET=utf8mb4 - # Redis - - SYMFONY__ENV__REDIS_HOST=${PREFIX}_wallabag-redis_1 - # Mailer doesn't work until v2.4 - + - 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_WEMAIL:-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:/var/www/wallabag/web/assets/images - depends_on: - - wallabag-db - links: - - wallabag-db - networks: - - admin_web - labels: - - "traefik.enable=true" - - "traefik.http.routers.${PREFIX}_wallabag.rule=Host(`${WALLABAG_DOMAIN_NAME}`)" - - "traefik.http.routers.${PREFIX}_wallabag.entrypoints=websecure" - - "traefik.http.routers.${PREFIX}_wallabag.tls.certresolver=letsencrypt" - - "traefik.http.services.${PREFIX}_wallabag.loadbalancer.server.port=80" - - wallabag-redis: - image: redis:5.0.9 - networks: - - admin_web + - "${VOL_PATH:-/tmp}/wallabag:/var/www/wallabag/web/assets/images" diff --git a/wallabag/env-sample b/wallabag/env-sample deleted file mode 100644 index 55870d0..0000000 --- a/wallabag/env-sample +++ /dev/null @@ -1,13 +0,0 @@ -# Domains & Project -PREFIX=test -WALLABAG_DOMAIN_NAME=wallabag.nickyeoman.com - -# Passwords -WALLABAG_MYSQL_ROOT_PASSWORD=ChangeMe2ASecurepass! -WALLABAG_MYSQL_PASSWORD=Again2ASecurepass! -# pwgen -cnsB1v 30 -WALLABAG_SECRET=qKpJcffTtjKqLbgJX9gWN9FHgrjF7v - -# Software versions -DB_V=10.4.11 -WALLABAG_V=2.3.8 diff --git a/wallabag/sample-extends.yml b/wallabag/sample-extends.yml new file mode 100644 index 0000000..db50fe7 --- /dev/null +++ b/wallabag/sample-extends.yml @@ -0,0 +1,17 @@ +version: '3.4' + +services: + wallabag: + extends: + file: ${COOKBOOK}/wallabag/docker-compose.yml + service: wallabag + + wallabag-mariadb: + extends: + file: ${COOKBOOK}/mariadb/docker-compose.yml + service: mariadb + + wallbag-redis: + extends: + file: ${COOKBOOK}/redis/docker-compose.yml + service: redis diff --git a/wallabag/sample.env b/wallabag/sample.env new file mode 100644 index 0000000..b179856 --- /dev/null +++ b/wallabag/sample.env @@ -0,0 +1,20 @@ + +# Global +VOL_PATH=/docker/vol/wallabag-data #HELP: volpath +COOKBOOK=/git/docker-compose-cookbooks #HELP: cookbooks +WALLABAG_TZ=America/Vancouver + +# Wallabag +WALLABAG_IMAGE=wallabag/wallabag:latest +WALLABAG_DB_DRIVER=pdo_mysql +WALLABAG_DB_HOST=wallabag-db +WALLABAG_DB_PORT=3306 +WALLABAG_DB_NAME=wallabag +WALLABAG_DB_USER=wallabag +WALLABAG_DB_PASS=wallapass +WALLABAG_DB_CHARSET=utf8mb4 +WALLABAG_DB_PREFIX=wallabag_ +WALLABAG_MAILER_DSN=smtp://127.0.0.1 +WALLABAG_FROM_WEMAIL=wallabag@example.com +WALLABAG_DOMAIN=https://your-wallabag-instance.wallabag.org +WALLABAG_SERVER=Your wallabag instance