From 48ac4ae879aaa43fe0dc735659af27f8c3589fc1 Mon Sep 17 00:00:00 2001 From: Jonas DOREL Date: Fri, 16 Apr 2021 17:37:24 +0200 Subject: [PATCH 1/5] Add docker-compose file --- .env.example | 18 ++++++++++++++++++ .gitignore | 2 ++ README.md | 38 ++++---------------------------------- docker-compose.yml | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 60 insertions(+), 34 deletions(-) create mode 100644 .env.example create mode 100644 docker-compose.yml diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..397e1c8 --- /dev/null +++ b/.env.example @@ -0,0 +1,18 @@ +MYSQL_ROOT_PASSWORD=wallaroot +MYSQL_HOST=db +MYSQL_DATABASE=wallabag +MYSQL_USER=wallabag +MYSQL_PASSWORD=wallabag_password + +MAILER_HOST=127.0.0.1 +MAILER_USER=~ +MAILER_PASSWORD=~ + +FROM_EMAIL=wallabag@example.com +SERVER_PORT=8080 +SERVER_URL=http://localhost:${SERVER_PORT} +SERVER_NAME="Your wallabag instance" + + +WALLABAG_DATA_IMAGES=./data/wallabag +MYSQL_DATA=./data/mysql diff --git a/.gitignore b/.gitignore index d418184..e08dc29 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ .cache __pycache__/* *.pyc +.env +/data diff --git a/README.md b/README.md index a7b8a77..0962b0b 100644 --- a/README.md +++ b/README.md @@ -107,40 +107,10 @@ $ docker exec -t NAME_OR_ID_OF_YOUR_WALLABAG_CONTAINER /var/www/wallabag/bin/con ## docker-compose -It's a good way to use [docker-compose](https://docs.docker.com/compose/). Example: - -``` -version: '3' -services: - wallabag: - image: wallabag/wallabag - 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__MAILER_HOST=127.0.0.1 - - SYMFONY__ENV__MAILER_USER=~ - - SYMFONY__ENV__MAILER_PASSWORD=~ - - SYMFONY__ENV__FROM_EMAIL=wallabag@example.com - - SYMFONY__ENV__DOMAIN_NAME=https://your-wallabag-url-instance.com - - SYMFONY__ENV__SERVER_NAME="Your wallabag instance" - ports: - - "80" - volumes: - - /opt/wallabag/images:/var/www/wallabag/web/assets/images - db: - image: mariadb - environment: - - MYSQL_ROOT_PASSWORD=wallaroot - volumes: - - /opt/wallabag/data:/var/lib/mysql - redis: - image: redis:alpine +It's a good way to use [docker-compose](https://docs.docker.com/compose/). Just use use included `docker-compose` and `.env.example` files : +``` +cp .env.example .env +docker-compose up -d ``` Note that you must fill out the mail related variables according to your mail config. diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..e35e70f --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,36 @@ +version: '3' +services: + wallabag: + image: wallabag/wallabag + environment: + MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} + SYMFONY__ENV__DATABASE_DRIVER: pdo_mysql + SYMFONY__ENV__DATABASE_HOST: ${MYSQL_HOST} + SYMFONY__ENV__DATABASE_PORT: 3306 + SYMFONY__ENV__DATABASE_NAME: ${MYSQL_DATABASE} + SYMFONY__ENV__DATABASE_USER: ${MYSQL_USER} + SYMFONY__ENV__DATABASE_PASSWORD: ${MYSQL_PASSWORD} + SYMFONY__ENV__DATABASE_CHARSET: utf8mb4 + SYMFONY__ENV__MAILER_HOST: ${MAILER_HOST} + SYMFONY__ENV__MAILER_USER: ${MAILER_USER} + SYMFONY__ENV__MAILER_PASSWORD: ${MAILER_PASSWORD} + SYMFONY__ENV__FROM_EMAIL: ${FROM_EMAIL} + SYMFONY__ENV__DOMAIN_NAME: ${SERVER_URL} + SYMFONY__ENV__SERVER_NAME: ${SERVER_NAME} + ports: + - "${SERVER_PORT}:80" + volumes: + - ${WALLABAG_DATA_IMAGES}:/var/www/wallabag/web/assets/images + + db: + image: mariadb + environment: + MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} + MYSQL_USER: ${MYSQL_USER} + MYSQL_PASSWORD: ${MYSQL_PASSWORD} + MYSQL_DATABASE: ${MYSQL_DATABASE} + volumes: + - ${MYSQL_DATA}:/var/lib/mysql + + redis: + image: redis:alpine From 414eb9720e0518cb7e87ba9b4c04fd038b5e4d80 Mon Sep 17 00:00:00 2001 From: Jonas DOREL Date: Fri, 16 Apr 2021 18:01:04 +0200 Subject: [PATCH 2/5] feat(docker-compose): add data_config volume --- .env.example | 3 ++- docker-compose.yml | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.env.example b/.env.example index 397e1c8..60830df 100644 --- a/.env.example +++ b/.env.example @@ -14,5 +14,6 @@ SERVER_URL=http://localhost:${SERVER_PORT} SERVER_NAME="Your wallabag instance" -WALLABAG_DATA_IMAGES=./data/wallabag +WALLABAG_DATA_IMAGES=./data/wallabag_images +WALLABAG_DATA_CONFIG=./data/wallabag_config MYSQL_DATA=./data/mysql diff --git a/docker-compose.yml b/docker-compose.yml index e35e70f..0fcbd79 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,6 +21,7 @@ services: - "${SERVER_PORT}:80" volumes: - ${WALLABAG_DATA_IMAGES}:/var/www/wallabag/web/assets/images + - ${WALLABAG_DATA_CONFIG}:/var/www/wallabag/app/config:rw db: image: mariadb From be31a69662945b102b6d67407f68fc36b7bf2caf Mon Sep 17 00:00:00 2001 From: Jonas DOREL Date: Fri, 16 Apr 2021 18:15:10 +0200 Subject: [PATCH 3/5] feat(docker-compose): add restart policy --- docker-compose.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 0fcbd79..53cacc4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,6 +2,7 @@ version: '3' services: wallabag: image: wallabag/wallabag + restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} SYMFONY__ENV__DATABASE_DRIVER: pdo_mysql @@ -25,6 +26,7 @@ services: db: image: mariadb + restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_USER: ${MYSQL_USER} @@ -35,3 +37,4 @@ services: redis: image: redis:alpine + restart: unless-stopped From 741791bf84a16fc3af6d0f3a3bbb5a70a8952ce8 Mon Sep 17 00:00:00 2001 From: Jonas DOREL Date: Fri, 16 Apr 2021 18:43:42 +0200 Subject: [PATCH 4/5] fix(docker-compose): db should not be initialized --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 53cacc4..efb4eef 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -31,7 +31,7 @@ services: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} - MYSQL_DATABASE: ${MYSQL_DATABASE} + # MYSQL_DATABASE: # /!\ Do not set this : https://github.com/wallabag/docker/issues/138#issuecomment-460075215 volumes: - ${MYSQL_DATA}:/var/lib/mysql From bddfcc69488063cce50dd959f1855dce2c6cbbf1 Mon Sep 17 00:00:00 2001 From: Jonas DOREL Date: Fri, 16 Apr 2021 18:44:42 +0200 Subject: [PATCH 5/5] fix(docker-compose): config folder must be populated --- .env.example | 1 - docker-compose.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/.env.example b/.env.example index 60830df..a6acc51 100644 --- a/.env.example +++ b/.env.example @@ -15,5 +15,4 @@ SERVER_NAME="Your wallabag instance" WALLABAG_DATA_IMAGES=./data/wallabag_images -WALLABAG_DATA_CONFIG=./data/wallabag_config MYSQL_DATA=./data/mysql diff --git a/docker-compose.yml b/docker-compose.yml index efb4eef..6258a0e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -22,7 +22,6 @@ services: - "${SERVER_PORT}:80" volumes: - ${WALLABAG_DATA_IMAGES}:/var/www/wallabag/web/assets/images - - ${WALLABAG_DATA_CONFIG}:/var/www/wallabag/app/config:rw db: image: mariadb