mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-04 02:46:23 +00:00
updated wallabag and added redis
This commit is contained in:
+10
-24
@@ -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)
|
||||
|
||||
+21
-70
@@ -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"
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user