Compare commits

...

82 Commits
2.1.1 ... 2.3.5

Author SHA1 Message Date
71dd17939c Merge pull request #97 from mostlyjason/patch-1
Adding example of how to set the domain name
2018-12-15 08:32:22 +01:00
66c3967ef5 Merge pull request #134 from kmlucy/master
Add redis environmental variables
2018-12-15 08:30:49 +01:00
6d7fdd92c8 Merge pull request #136 from wallabag/release-2.3.5
2.3.5
2018-12-15 08:27:38 +01:00
f9f5b5c68c 2.3.5 2018-12-15 07:18:19 +01:00
386924f2cc Update README.md 2018-12-07 22:44:48 -05:00
3d3f11fb85 add redis environmental variables 2018-12-07 22:42:18 -05:00
25bf47149f Merge pull request #132 from wallabag/release-2.3.4
2.3.4
2018-11-24 22:48:53 +01:00
0cee0470de Add missing PHP extension 2018-11-24 22:38:53 +01:00
b626873351 2.3.4 2018-11-24 21:57:13 +01:00
e741136827 Merge pull request #127 from Strubbl/patch-1
Update docker-compose.mariadb.yml
2018-10-15 20:27:05 +00:00
b92f4c2740 Merge pull request #119 from philwrenn/master
Added SYMFONY__ENV__DATABASE_CHARSET envorinment variable to README.
2018-10-15 19:34:19 +00:00
040655c3c4 Update docker-compose.mariadb.yml
fix issue pointed out by @TofPlay in https://github.com/wallabag/wallabag/issues/3742#issuecomment-429947139
2018-10-15 19:58:09 +02:00
5f78ae9a21 Merge pull request #126 from burkemw3/patch-1
Use alpine:latest instead of alpine:edge for base
2018-10-13 06:00:04 +00:00
e510f9db1b Use alpine:latest instead of alpine:edge for base
While investigating of wallabag/wallabag#3723:
- I could not build wallabag docker image with edge
- I succeeded in building with latest
- building with latest resolved wallabag/wallabag#3723

Additionally, alpine recommends against using edge for end users ([0][]).

[0]: https://wiki.alpinelinux.org/wiki/Edge
2018-10-10 20:08:41 -04:00
926e8c7445 Merge pull request #116 from Alwaysin/patch-1
Update to 2.3.3
2018-09-17 05:50:26 +00:00
7d7b1a846f added SYMFONY__ENV__DATABASE_CHARSET envorinment variable to README. 2018-08-12 08:45:44 -04:00
8fd1421d36 Update to 2.3.3 2018-07-15 21:02:12 +02:00
f86d945624 Merge pull request #107 from greenrd/feature/db-driver-class
Support Postgres 10
2018-03-17 13:26:42 +01:00
a37317f55f Support Postgres 10
* Add SYMFONY__ENV__DATABASE_DRIVER_CLASS environment variable which can
  be set to the necessary driver class for Postgres 10
* Use this in travis.yml
2018-03-11 09:22:26 +00:00
eeead4ff44 Merge pull request #103 from TomFaulkner/master
101 - Typo on readme
2018-02-16 08:55:05 +01:00
16a1a1236a Merge pull request #1 from TomFaulkner/TomFaulkner-patch-1-typo-in-readme
Update README.md
2018-02-09 20:24:04 -06:00
2460f55662 Update README.md
Remove dash leading to an error.
2018-02-09 20:23:10 -06:00
0fe76aa896 Merge pull request #102 from wallabag/wllbg-232
wallabag 2.3.2
2018-01-22 14:04:07 +01:00
0f52136d3d wallabag 2.3.2 2018-01-22 13:39:11 +01:00
de684f5a44 Adding example of how to set the domain name 2018-01-08 15:44:33 -08:00
bf0316bac6 Merge pull request #95 from wallabag/nicosomb-patch-1
wallabag 2.3.1
2017-12-26 22:23:26 +01:00
ae7aefe8e4 Updated parameters for 2.3.1 2017-12-26 21:35:43 +01:00
ef910d313c wallabag 2.3.1 2017-12-26 21:12:13 +01:00
51e3b625c0 Merge pull request #87 from bananenmannfrau/master
makes email confirmation for user registration configurable
2017-12-15 14:49:21 +01:00
dcaa684897 Updated README 2017-12-15 14:32:20 +01:00
6edcd745c4 makes email confirmation for user registration configurable 2017-12-15 14:31:11 +01:00
7a476cdab0 Merge pull request #84 from Dehalion/master
allow to override database_charset and locale with env variables
2017-12-13 23:02:33 +01:00
6a7bbbb8d0 Merge pull request #89 from wallabag/wallabag-23
Updated image to wallabag 2.3.0
2017-12-13 22:43:17 +01:00
e5456115c1 Forced postgres 9.6 2017-12-13 22:32:43 +01:00
7b68684720 Updated image to wallabag 2.3.0 2017-12-12 22:28:19 +01:00
b67e80a9f8 allow to override database_charset and locale with env variables 2017-09-20 18:06:33 +02:00
434b17cd8f Merge pull request #74 from Strubbl/use-ssl-for-composer-install
use https for getting composer
2017-08-25 08:55:41 +02:00
5123e9de38 use https for getting composer 2017-07-20 21:32:25 +02:00
5682aefa74 changed docs for persistent storage of images. #71 2017-05-30 11:19:36 +02:00
bf82658342 Merge pull request #69 from wallabag/update-223
Update Dockerfile to 2.2.3
2017-05-18 11:46:16 +02:00
abb0647cbd Update Dockerfile to 2.2.3 2017-05-18 11:05:41 +02:00
6f22d1ef68 switched to alpine edge
there are alot of php fixes in edge. alot of people have problems with
php and older kernel versions to collect random data.

also included a alpine upgrade command. this will prevent docker from
building a wallabag image with older system files.
2017-05-09 08:59:37 +02:00
d1c050662b added edge main repo to fix rabbitmq-c dep for php7-amqp 2017-03-22 11:24:05 +01:00
038a5ea6c7 apk add uses now the no-cache option 2017-03-22 11:13:30 +01:00
c42058bf0f MariaDB default encoding utf8mb4 and maintenance
* MariaDB encoding is set when creating DB through the entrypoint
* Cleaning Dockerfile
  * Removed `POSTGRES_USER`
  * Combined run commands
  * Changed deprecated `MAINTAINER` to `LABEL`
2017-03-22 10:56:57 +01:00
3e4cd35253 Merge pull request #56 from wallabag/wllbg-222
Update Dockerfile with latest release
2017-03-08 10:00:11 +01:00
8c15693e12 Update Dockerfile with latest release 2017-03-02 15:49:19 +01:00
f6e4816eb5 provisioner function in entrypoint 2017-02-06 10:20:38 +01:00
bff2dd3d8b using alpine 3.5 instead of edge 2017-02-06 10:20:38 +01:00
90265c1653 Merge pull request #48 from xsteadfastx/version-2.2.1
Version bumb to 2.2.1 and added migrate command
2017-02-01 11:07:51 +01:00
fb020c3be6 Version bumb to 2.2.1 and added migrate command
made the changes to get 2.2.1 running plus added a migrate command to
the entrypoint. documented it in the readme.
2017-01-31 16:33:19 +01:00
80a3379a76 Merge pull request #45 from janLo/import-worker
Add option to run redis based import workers
2017-01-23 09:53:02 +01:00
5203ab63b1 Rename importer to import 2017-01-23 09:45:42 +01:00
65b2e2c7a9 Add documentation for the redis worker service
Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>
2017-01-23 09:28:27 +01:00
4de27027b9 Add ability to run wannabag redis importer worker
This adds the ability to run wallabag async import worker that
interacts with a redis service.

Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>
2017-01-23 09:28:27 +01:00
924d663c86 Merge pull request #46 from wallabag/dockerfile-216
Update Dockerfile for wallabag 2.1.6
2017-01-18 19:26:07 +01:00
ec8f599298 Update Dockerfile for wallabag 2.1.6 2017-01-18 10:44:17 +01:00
125aad2c1c Merge pull request #43 from lotooo/master
Add a POPULAtE_DATABASE env to use an existing wallabag DB
2017-01-18 09:40:29 +01:00
606b7d681c Merge pull request #44 from janLo/php7-zlib
Install php7-zlib
2017-01-18 09:35:50 +01:00
fdaaf37381 Install php7-zlib
Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>
2017-01-17 15:40:58 +01:00
2b13ed0703 Add a POPULAtE_DATABASE env to use an existing wallabag DB 2017-01-16 22:44:43 +01:00
e41a237604 enabled zlib.output_compression in php.ini
thanks to @itnAAnti. #40
2017-01-04 13:41:31 +01:00
724d6492bc Merge pull request #42 from jsshandle/master
Make entrypoint.sh executable in repository and remove related statement from Dockerfile.
2016-12-29 11:45:41 +01:00
267618a519 Make entrypoint.sh executable in repository and remove related statement from Dockerfile. 2016-12-26 18:59:30 +01:00
0fe227a0cc Merge pull request #36 from jsshandle/master
Add .s6-svscan/finish.
2016-11-28 12:27:22 +01:00
d42d34cdac Add .s6-svscan/finish. 2016-11-26 20:35:51 +01:00
58cc845c75 Dockerfile for 2.1.5 2016-11-21 10:54:30 +01:00
c553787564 Merge pull request #31 from wallabag/docker-214
Dockerfile for 2.1.4
2016-11-20 08:37:45 +01:00
73187d7ce1 Dockerfile for 2.1.4 2016-11-18 11:33:36 +01:00
f7bd58c73a fixed location of php configuration to /etc/php7 2016-11-07 13:20:39 +01:00
ba8f6ec5d3 limit upload size to 100M 2016-11-07 13:20:39 +01:00
68db53e09c Merge pull request #28 from wallabag/release-213
Update Dockerfile for wallabag 2.1.3
2016-11-05 15:13:27 +01:00
530e59329a Update Dockerfile for wallabag 2.1.3 2016-11-04 15:40:24 +01:00
2ae7dee8af fixed typo in README 2016-11-02 11:57:04 +01:00
c2052c2681 env variable to disable user registration 2016-11-02 11:52:22 +01:00
310d55bdea Merge pull request #27 from xsteadfastx/master
set email settings through ansible template
2016-10-31 09:29:08 +01:00
76f5ecb61e set email settings through ansible template 2016-10-28 13:06:52 +02:00
92f5db7ba9 added test for default configuration 2016-10-24 09:53:42 +02:00
ee4a7e4a46 defaults for environment variable lookup for parameters.yml template
fixes #26
2016-10-21 14:48:32 +02:00
e0bc4e895d Merge pull request #25 from xsteadfastx/master
version 2.1.2 and some cleanups
2016-10-19 11:30:00 +02:00
ed6b4437b8 version 2.1.2 and some cleanups 2016-10-19 11:17:24 +02:00
af2fb30389 fixed docs to get redis working
thanks to @bobberb for pointing in the right direction.
2016-10-13 11:18:24 +02:00
14 changed files with 205 additions and 96 deletions

View File

@ -7,6 +7,7 @@ services:
- docker - docker
env: env:
- DB_TYPE=default
- DB_TYPE=sqlite - DB_TYPE=sqlite
- DB_TYPE=mariadb - DB_TYPE=mariadb
- DB_TYPE=postgresql - DB_TYPE=postgresql

View File

@ -1,74 +1,63 @@
FROM alpine:edge FROM alpine:latest
MAINTAINER Marvin Steadfast <marvin@xsteadfastx.org>
ENV WALLABAG_VERSION=2.1.1 \ LABEL maintainer "Marvin Steadfast <marvin@xsteadfastx.org>"
SYMFONY__ENV__DATABASE_DRIVER=pdo_sqlite \
SYMFONY__ENV__DATABASE_HOST=127.0.0.1 \
SYMFONY__ENV__DATABASE_PORT=~ \
SYMFONY__ENV__DATABASE_NAME=symfony \
SYMFONY__ENV__DATABASE_USER=root \
SYMFONY__ENV__DATABASE_PASSWORD=~ \
POSTGRES_USER=postgres \
SYMFONY__ENV__SECRET=ovmpmAWXRCabNlMgzlzFXDYmCFfzGv \
SYMFONY__ENV__MAILER_HOST=127.0.0.1 \
SYMFONY__ENV__MAILER_USER=~ \
SYMFONY__ENV__MAILER_PASSWORD=~ \
SYMFONY__ENV__FROM_EMAIL=wallabag@example.com
ARG WALLABAG_VERSION=2.3.5
RUN echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \ RUN set -ex \
&& apk add --update \ && apk update \
&& apk upgrade --available \
&& apk add \
ansible \ ansible \
curl \ curl \
git \ git \
libwebp@testing \ libwebp \
mariadb-client \ mariadb-client \
nginx \ nginx \
pcre \ pcre \
php7 \ php7 \
php7-amqp@testing \ php7-amqp \
php7-bcmath \ php7-bcmath \
php7-ctype@testing \ php7-ctype \
php7-curl@testing \ php7-curl \
php7-dom@testing \ php7-dom \
php7-fpm@testing \ php7-fpm \
php7-gd@testing \ php7-gd \
php7-gettext@testing \ php7-gettext \
php7-iconv@testing \ php7-iconv \
php7-json@testing \ php7-json \
php7-mbstring@testing \ php7-mbstring \
php7-openssl@testing \ php7-openssl \
php7-pdo_mysql@testing \ php7-pdo_mysql \
php7-pdo_pgsql@testing \ php7-pdo_pgsql \
php7-pdo_sqlite@testing \ php7-pdo_sqlite \
php7-phar@testing \ php7-phar \
php7-session@testing \ php7-session \
php7-xml@testing \ php7-simplexml \
php7@testing\ php7-tokenizer \
php7-xml \
php7-zlib \
php7-sockets \
php7-xmlreader \
py-mysqldb \ py-mysqldb \
py-psycopg2 \ py-psycopg2 \
py-simplejson \ py-simplejson \
rabbitmq-c \
s6 \ s6 \
tar \ tar \
&& rm -rf /var/cache/apk/* && rm -rf /var/cache/apk/* \
RUN ln -s /usr/bin/php7 /usr/bin/php \
&& ln -sf /dev/stdout /var/log/nginx/access.log \ && ln -sf /dev/stdout /var/log/nginx/access.log \
&& ln -sf /dev/stderr /var/log/nginx/error.log && ln -sf /dev/stderr /var/log/nginx/error.log \
&& curl -s https://getcomposer.org/installer | php \
RUN curl -s http://getcomposer.org/installer | php \ && mv composer.phar /usr/local/bin/composer \
&& mv composer.phar /usr/local/bin/composer && git clone --branch $WALLABAG_VERSION --depth 1 https://github.com/wallabag/wallabag.git /var/www/wallabag
RUN git clone --branch $WALLABAG_VERSION --depth 1 https://github.com/wallabag/wallabag.git /var/www/wallabag
COPY root / COPY root /
RUN cd /var/www/wallabag \ RUN set -ex \
&& SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist && cd /var/www/wallabag \
&& SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist \
RUN chown -R nobody:nobody /var/www/wallabag && chown -R nobody:nobody /var/www/wallabag
RUN chmod +x /entrypoint.sh
EXPOSE 80 EXPOSE 80
ENTRYPOINT ["/entrypoint.sh"] ENTRYPOINT ["/entrypoint.sh"]

View File

@ -18,16 +18,27 @@ Default login is `wallabag:wallabag`.
- `-e POSTGRES_PASSWORD=...` (needed for the posgres container to initialise and for the entrypoint in the wallabag container to create a database and user if not there) - `-e POSTGRES_PASSWORD=...` (needed for the posgres container to initialise and for the entrypoint in the wallabag container to create a database and user if not there)
- `-e POSTGRES_USER=...` (needed for the posgres container to initialise and for the entrypoint in the wallabag container to create a database and user if not there) - `-e POSTGRES_USER=...` (needed for the posgres container to initialise and for the entrypoint in the wallabag container to create a database and user if not there)
- `-e SYMFONY__ENV__DATABASE_DRIVER=...` (defaults to "pdo_sqlite", this sets the database driver to use) - `-e SYMFONY__ENV__DATABASE_DRIVER=...` (defaults to "pdo_sqlite", this sets the database driver to use)
- `-e SYMFONY__ENV__DATABASE_DRIVER_CLASS=...` (sets the database driver class to use)
- `-e SYMFONY__ENV__DATABASE_HOST=...` (defaults to "127.0.0.1", if use mysql this should be the name of the mariadb container) - `-e SYMFONY__ENV__DATABASE_HOST=...` (defaults to "127.0.0.1", if use mysql this should be the name of the mariadb container)
- `-e SYMFONY__ENV__DATABASE_PORT=...` (port of the database host) - `-e SYMFONY__ENV__DATABASE_PORT=...` (port of the database host)
- `-e SYMFONY__ENV__DATABASE_NAME=...`(defaults to "symfony", this is the name of the database to use) - `-e SYMFONY__ENV__DATABASE_NAME=...`(defaults to "symfony", this is the name of the database to use)
- `-e SYMFONY__ENV__DATABASE_USER=...` (defaults to "root", this is the name of the database user to use) - `-e SYMFONY__ENV__DATABASE_USER=...` (defaults to "root", this is the name of the database user to use)
- `-e SYMFONY__ENV__DATABASE_PASSWORD=...` (defaults to "~", this is the password of the database user to use) - `-e SYMFONY__ENV__DATABASE_PASSWORD=...` (defaults to "~", this is the password of the database user to use)
- `-e SYMFONY__ENV__DATABASE_CHARSET=...` (defaults to utf8, this is the database charset to use)
- `-e SYMFONY__ENV__SECRET=...` (defaults to "ovmpmAWXRCabNlMgzlzFXDYmCFfzGv") - `-e SYMFONY__ENV__SECRET=...` (defaults to "ovmpmAWXRCabNlMgzlzFXDYmCFfzGv")
- `-e SYMFONY__ENV__MAILER_HOST=...` defaults to "127.0.0.1", the SMTP host) - `-e SYMFONY__ENV__MAILER_HOST=...` (defaults to "127.0.0.1", the SMTP host)
- `-e SYMFONY__ENV__MAILER_USER=...` (defaults to "~", the SMTP user) - `-e SYMFONY__ENV__MAILER_USER=...` (defaults to "~", the SMTP user)
- `-e SYMFONY__ENV__MAILER_PASSWORD=...`(defaults to "~", the SMTP password) - `-e SYMFONY__ENV__MAILER_PASSWORD=...`(defaults to "~", the SMTP password)
- `-e SYMFONY__ENV__FROM_EMAIL=...`(defaults to "wallabag@example.com", the address wallabag uses for outgoing emails) - `-e SYMFONY__ENV__FROM_EMAIL=...`(defaults to "wallabag@example.com", the address wallabag uses for outgoing emails)
- `-e SYMFONY__ENV__FOSUSER_REGISTRATION=...`(defaults to "true", enable or disable public user registration)
- `-e SYMFONY__ENV__FOSUSER_CONFIRMATION=...`(defaults to "true", enable or disable registration confirmation)
- `-e SYMFONY__ENV__DOMAIN_NAME=...` defaults to "https://your-wallabag-url-instance.com", the URL of your wallabag instance)
- `-e SYMFONY__ENV__REDIS_SCHEME=...` (defaults to "tcp", protocol to use to communicate with the target server (tcp, unix, or http))
- `-e SYMFONY__ENV__REDIS_HOST=...` (defaults to "redis", IP or hostname of the target server)
- `-e SYMFONY__ENV__REDIS_PORT=...` (defaults to "6379", port of the target host)
- `-e SYMFONY__ENV__REDIS_PATH=...`(defaults to "~", path of the unix socket file)
- `-e SYMFONY__ENV__REDIS_PASSWORD=...` (defaults to "~", this is the password defined in the Redis server configuration)
- `-e POPULATE_DATABASE=...`(defaults to "True". Does the DB has to be populated or is it an existing one)
## SQLite ## SQLite
@ -40,7 +51,7 @@ $ docker run -p 80:80 wallabag/wallabag
and point your browser to `http://localhost:80`. For persistent storage you should start the container with a volume: and point your browser to `http://localhost:80`. For persistent storage you should start the container with a volume:
``` ```
$ docker run -v /opt/wallabag:/var/www/wallabag/data -p 80:80 wallabag/wallabag $ docker run -v /opt/wallabag/data:/var/www/wallabag/data -v /opt/wallabag/images:/var/www/wallabag/web/assets/images -p 80:80 wallabag/wallabag
``` ```
## MariaDB / MySQL ## MariaDB / MySQL
@ -49,7 +60,7 @@ For using MariaDB or MySQL you have to define some environment variables with th
``` ```
$ docker run --name wallabag-db -e "MYSQL_ROOT_PASSWORD=my-secret-pw" -d mariadb $ docker run --name wallabag-db -e "MYSQL_ROOT_PASSWORD=my-secret-pw" -d mariadb
$ docker run --name wallabag --link wallabag-db:wallabag-db -e "MYSQL_ROOT_PASSWORD=my-secret-pw" -e "SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql" -e "SYMFONY__ENV__DATABASE_HOST=wallabag-db" -e "SYMFONY__ENV__DATABASE_PORT=3306" -e "SYMFONY__ENV__DATABASE_NAME=wallabag" -e "SYMFONY__ENV__DATABASE_USER=wallabag" -e "SYMFONY__ENV__DATABASE_PASSWORD=wallapass" -p 80:80 wallabag/wallabag $ docker run --name wallabag --link wallabag-db:wallabag-db -e "MYSQL_ROOT_PASSWORD=my-secret-pw" -e "SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql" -e "SYMFONY__ENV__DATABASE_HOST=wallabag-db" -e "SYMFONY__ENV__DATABASE_PORT=3306" -e "SYMFONY__ENV__DATABASE_NAME=wallabag" -e "SYMFONY__ENV__DATABASE_USER=wallabag" -e "SYMFONY__ENV__DATABASE_PASSWORD=wallapass" -e "SYMFONY__ENV__DATABASE_CHARSET=utf8mb4" -p 80:80 wallabag/wallabag
``` ```
## PostgreSQL ## PostgreSQL
@ -57,25 +68,37 @@ $ docker run --name wallabag --link wallabag-db:wallabag-db -e "MYSQL_ROOT_PASSW
For using PostgreSQL you have to define some environment variables with the container. Example: For using PostgreSQL you have to define some environment variables with the container. Example:
``` ```
$ docker run --name wallabag-db -e "POSTGRES_PASSWORD=my-secret-pw" -e "POSTGRES_USER=my-super-user" -d postgres $ docker run --name wallabag-db -e "POSTGRES_PASSWORD=my-secret-pw" -e "POSTGRES_USER=my-super-user" -d postgres:9.6
$ docker run --name wallabag --link wallabag-db:wallabag-db -e "POSTGRES_PASSWORD=my-secret-pw" -e "POSTGRES_USER=my-super-user" -e "SYMFONY__ENV__DATABASE_DRIVER=pdo_pgsql" -e "SYMFONY__ENV__DATABASE_HOST=wallabag-db" -e "SYMFONY__ENV__DATABASE_PORT=5432" -e "SYMFONY__ENV__DATABASE_NAME=wallabag" -e "SYMFONY__ENV__DATABASE_USER=wallabag" -e "SYMFONY__ENV__DATABASE_PASSWORD=wallapass" -p 80:80 wallabag/wallabag $ docker run --name wallabag --link wallabag-db:wallabag-db -e "POSTGRES_PASSWORD=my-secret-pw" -e "POSTGRES_USER=my-super-user" -e "SYMFONY__ENV__DATABASE_DRIVER=pdo_pgsql" -e 'SYMFONY__ENV__DATABASE_DRIVER_CLASS=Wallabag\CoreBundle\Doctrine\DBAL\Driver\CustomPostgreSQLDriver' -e "SYMFONY__ENV__DATABASE_HOST=wallabag-db" -e "SYMFONY__ENV__DATABASE_PORT=5432" -e "SYMFONY__ENV__DATABASE_NAME=wallabag" -e "SYMFONY__ENV__DATABASE_USER=wallabag" -e "SYMFONY__ENV__DATABASE_PASSWORD=wallapass" -p 80:80 wallabag/wallabag
``` ```
## Redis ## Redis
To use redis support a linked redis container with the name `redis` is needed. To use redis with a Docker link, a redis container with the name `redis` is needed and none of the `REDIS` environmental variables are needed:
``` ```
$ docker run -p 6379:6379 redis:alpine redis $ docker run -p 6379:6379 --name redis redis:alpine
$ docker run -p 80:80 --link redis:redis wallabag/wallabag $ docker run -p 80:80 --link redis:redis wallabag/wallabag
``` ```
## DB migration To use redis with an external redis host, set the appropriate environmental variables. Example:
If there is a version upgrade that needs a database migration, you should start the container with the new image and run the migration command.
``` ```
$ docker exec -t wallabag /var/www/wallabag/bin/console doctrine:migrations:migrate --env=prod --no-interaction $ docker run -p 80:80 -e "SYMFONY__ENV__REDIS_HOST=my.server.hostname" -e "SYMFONY__ENV__REDIS_PASSWORD=my-secret-pw" wallabag/wallabag
```
## Upgrading
If there is a version upgrade that needs a database migration. The most easy way to do is running the `migrate` command:
```
$ docker run --link wallabag-db:wallabag-db -e <... your config variables here ...> wallabag/wallabag migrate
```
Or you can start the container with the new image and run the migration command manually:
```
$ docker exec -t NAME_OR_ID_OF_YOUR_WALLABAG_CONTAINER /var/www/wallabag/bin/console doctrine:migrations:migrate --env=prod --no-interaction
``` ```
## docker-compose ## docker-compose
@ -83,7 +106,7 @@ $ docker exec -t wallabag /var/www/wallabag/bin/console doctrine:migrations:migr
It's a good way to use [docker-compose](https://docs.docker.com/compose/). Example: It's a good way to use [docker-compose](https://docs.docker.com/compose/). Example:
``` ```
version: '2' version: '3'
services: services:
wallabag: wallabag:
image: wallabag/wallabag image: wallabag/wallabag
@ -95,18 +118,22 @@ services:
- SYMFONY__ENV__DATABASE_NAME=wallabag - SYMFONY__ENV__DATABASE_NAME=wallabag
- SYMFONY__ENV__DATABASE_USER=wallabag - SYMFONY__ENV__DATABASE_USER=wallabag
- SYMFONY__ENV__DATABASE_PASSWORD=wallapass - SYMFONY__ENV__DATABASE_PASSWORD=wallapass
- SYMFONY__ENV__DATABASE_CHARSET=utf8mb4
- SYMFONY__ENV__MAILER_HOST=127.0.0.1 - SYMFONY__ENV__MAILER_HOST=127.0.0.1
- SYMFONY__ENV__MAILER_USER=~ - SYMFONY__ENV__MAILER_USER=~
- SYMFONY__ENV__MAILER_PASSWORD=~ - SYMFONY__ENV__MAILER_PASSWORD=~
- SYMFONY__ENV__FROM_EMAIL=wallabag@example.com - SYMFONY__ENV__FROM_EMAIL=wallabag@example.com
- SYMFONY__ENV__DOMAIN_NAME=your-wallabag-url-instance.com
ports: ports:
- "80" - "80"
volumes:
- /opt/wallabag/images:/var/www/wallabag/web/assets/images
db: db:
image: mariadb image: mariadb
environment: environment:
- MYSQL_ROOT_PASSWORD=wallaroot - MYSQL_ROOT_PASSWORD=wallaroot
volumes: volumes:
- /opt/wallabag:/var/lib/mysql - /opt/wallabag/data:/var/lib/mysql
redis: redis:
image: redis:alpine image: redis:alpine
``` ```
@ -135,3 +162,11 @@ server {
} }
``` ```
## Import worker
To run the [async redis import worker](http://doc.wallabag.org/en/master/developer/asynchronous.html#install-redis-for-asynchronous-tasks) use the following command:
```
$ docker run --name wallabag --link wallabag-db:wallabag-db --link redis:redis -e <... your config variables here ...> wallabag/wallabag import <type>
```
Where `<type>` is one of pocket, readability, instapaper, wallabag_v1, wallabag_v2, firefox or chrome.

22
root/entrypoint.sh Normal file → Executable file
View File

@ -1,8 +1,28 @@
#!/bin/sh #!/bin/sh
provisioner () {
echo "Starting provisioner..."
if ! out=`ansible-playbook -i /etc/ansible/hosts /etc/ansible/entrypoint.yml -c local "$@"`;then
echo $out;
fi
echo "Provisioner finished."
}
if [ "$1" = "wallabag" ];then if [ "$1" = "wallabag" ];then
ansible-playbook -i /etc/ansible/hosts /etc/ansible/entrypoint.yml -c local provisioner
exec s6-svscan /etc/s6/ exec s6-svscan /etc/s6/
fi fi
if [ "$1" = "import" ];then
provisioner --skip-tags=firstrun
cd /var/www/wallabag/
exec su -c "bin/console wallabag:import:redis-worker -e=prod $2 -vv" -s /bin/sh nobody
fi
if [ "$1" = "migrate" ];then
provisioner
cd /var/www/wallabag/
exec su -c "bin/console doctrine:migrations:migrate --env=prod --no-interaction" -s /bin/sh nobody
fi
exec "$@" exec "$@"

View File

@ -4,15 +4,32 @@
vars: vars:
database_driver: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_DRIVER') }}" database_driver: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_DRIVER')|default('pdo_sqlite', true) }}"
database_host: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_HOST') }}" database_driver_class: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_DRIVER_CLASS')|default('~', true) }}"
database_name: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_NAME') }}" database_host: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_HOST')|default('127.0.0.1', true) }}"
database_password: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_PASSWORD') }}" database_name: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_NAME')|default('symfony', true) }}"
database_port: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_PORT') }}" database_password: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_PASSWORD')|default('~', true) }}"
database_port: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_PORT')|default('~', true) }}"
database_root_password_mariadb: "{{ lookup('env', 'MYSQL_ROOT_PASSWORD') }}" database_root_password_mariadb: "{{ lookup('env', 'MYSQL_ROOT_PASSWORD') }}"
database_root_user_postgres: "{{ lookup('env', 'POSTGRES_USER') }}" database_root_user_postgres: "{{ lookup('env', 'POSTGRES_USER') }}"
database_root_password_postgres: "{{ lookup('env', 'POSTGRES_PASSWORD') }}" database_root_password_postgres: "{{ lookup('env', 'POSTGRES_PASSWORD') }}"
database_user: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_USER') }}" database_user: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_USER')|default('root', true) }}"
database_charset: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_CHARSET')|default('utf8', true) }}"
populate_database: "{{ lookup('env', 'POPULATE_DATABASE')|default(True, true) }}"
locale: "{{ lookup('env', 'SYMFONY__ENV__LOCALE')|default('en', true) }}"
secret: "{{ lookup('env', 'SYMFONY__ENV__SECRET')|default('ovmpmAWXRCabNlMgzlzFXDYmCFfzGv', true) }}"
mailer_host: "{{ lookup('env', 'SYMFONY__ENV__MAILER_HOST')|default('127.0.0.1', true) }}"
mailer_user: "{{ lookup('env', 'SYMFONY__ENV__MAILER_USER')|default('~', true) }}"
mailer_password: "{{ lookup('env', 'SYMFONY__ENV__MAILER_PASSWORD')|default('~', true) }}"
from_email: "{{ lookup('env', 'SYMFONY__ENV__FROM_EMAIL')|default('wallabag@example.com', true) }}"
registration: "{{ lookup('env', 'SYMFONY__ENV__FOSUSER_REGISTRATION')|default('true', true) }}"
registration_mail_confirmation: "{{ lookup('env', 'SYMFONY__ENV__FOSUSER_CONFIRMATION')|default('true', true) }}"
domain_name: "{{ lookup('env', 'SYMFONY__ENV__DOMAIN_NAME')|default('https://your-wallabag-url-instance.com', true) }}"
redis_scheme: "{{ lookup('env', 'SYMFONY__ENV__REDIS_SCHEME')|default('tcp', true) }}"
redis_host: "{{ lookup('env', 'SYMFONY__ENV__REDIS_HOST')|default('redis', true) }}"
redis_port: "{{ lookup('env', 'SYMFONY__ENV__REDIS_PORT')|default('6379', true) }}"
redis_path: "{{ lookup('env', 'SYMFONY__ENV__REDIS_PATH')|default('~', true) }}"
redis_password: "{{ lookup('env', 'SYMFONY__ENV__REDIS_PASSWORD')|default('~', true) }}"
tasks: tasks:
@ -27,6 +44,8 @@
- /var/www/wallabag/data/assets - /var/www/wallabag/data/assets
- /var/www/wallabag/data/db - /var/www/wallabag/data/db
notify: chown dir notify: chown dir
tags:
- firstrun
- name: write parameters.yml - name: write parameters.yml
template: template:
@ -61,8 +80,12 @@
login_port={{ database_port }} login_port={{ database_port }}
login_user=root login_user=root
login_password="{{ database_root_password_mariadb }}" login_password="{{ database_root_password_mariadb }}"
encoding="utf8mb4"
notify: run install notify: run install
when: database_driver == 'pdo_mysql' when: (database_driver == 'pdo_mysql') and
(populate_database == True)
tags:
- firstrun
- name: add mariadb user - name: add mariadb user
mysql_user: mysql_user:
@ -76,7 +99,10 @@
login_password="{{ database_root_password_mariadb }}" login_password="{{ database_root_password_mariadb }}"
state=present state=present
when: (database_driver == 'pdo_mysql') and when: (database_driver == 'pdo_mysql') and
(database_user != 'root') (database_user != 'root') and
(populate_database == True)
tags:
- firstrun
- name: postgresql db - name: postgresql db
postgresql_db: postgresql_db:
@ -87,12 +113,16 @@
login_user="{{ database_root_user_postgres }}" login_user="{{ database_root_user_postgres }}"
login_password="{{ database_root_password_postgres }}" login_password="{{ database_root_password_postgres }}"
notify: run install notify: run install
when: database_driver == 'pdo_pgsql' when: (database_driver == 'pdo_pgsql') and
(populate_database == True)
tags:
- firstrun
- name: add postgresql user - name: add postgresql user
postgresql_user: postgresql_user:
name="{{ database_user }}" name="{{ database_user }}"
password="{{ database_password }}" password="{{ database_password }}"
encrypted=true
db={{ database_name }} db={{ database_name }}
priv=ALL priv=ALL
login_host="{{ database_host }}" login_host="{{ database_host }}"
@ -101,7 +131,10 @@
login_password="{{ database_root_password_postgres }}" login_password="{{ database_root_password_postgres }}"
state=present state=present
when: (database_driver == 'pdo_pgsql') and when: (database_driver == 'pdo_pgsql') and
(database_user != 'postgres') (database_user != 'postgres') and
(populate_database == True)
tags:
- firstrun
- name: remove cache - name: remove cache
file: file:

View File

@ -1,5 +1,6 @@
parameters: parameters:
database_driver: {{ database_driver }} database_driver: {{ database_driver }}
database_driver_class: {{ database_driver_class }}
database_host: {{ database_host }} database_host: {{ database_host }}
database_port: {{ database_port }} database_port: {{ database_port }}
database_name: {{ database_name }} database_name: {{ database_name }}
@ -7,26 +8,30 @@ parameters:
database_password: {{ database_password }} database_password: {{ database_password }}
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite" database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
database_table_prefix: wallabag_ database_table_prefix: wallabag_
database_socket: null
database_charset: {{ database_charset }}
domain_name: {{ domain_name }}
mailer_transport: smtp mailer_transport: smtp
mailer_host: 127.0.0.1 mailer_host: {{ mailer_host }}
mailer_user: ~ mailer_user: {{ mailer_user }}
mailer_password: ~ mailer_password: {{ mailer_password }}
locale: en locale: {{ locale }}
# A secret key that's used to generate certain security-related tokens # A secret key that's used to generate certain security-related tokens
secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv secret: {{ secret }}
# two factor stuff # two factor stuff
twofactor_auth: true twofactor_auth: true
twofactor_sender: no-reply@wallabag.org twofactor_sender: no-reply@wallabag.org
# fosuser stuff # fosuser stuff
fosuser_registration: true fosuser_registration: {{ registration }}
fosuser_confirmation: true fosuser_confirmation: {{ registration_mail_confirmation }}
from_email: no-reply@wallabag.org from_email: {{ from_email }}
rss_limit: 50 rss_limit: 50
@ -35,7 +40,11 @@ parameters:
rabbitmq_port: 5672 rabbitmq_port: 5672
rabbitmq_user: guest rabbitmq_user: guest
rabbitmq_password: guest rabbitmq_password: guest
rabbitmq_prefetch_count: 10
# Redis processing # Redis processing
redis_host: redis redis_scheme: {{ redis_scheme }}
redis_port: 6379 redis_host: {{ redis_host }}
redis_port: {{ redis_port }}
redis_path: {{ redis_path }}
redis_password: {{ redis_password }}

View File

@ -23,7 +23,7 @@ http {
gzip on; gzip on;
gzip_disable "msie6"; gzip_disable "msie6";
open_file_cache max=100; open_file_cache max=100;
client_max_body_size 50M; client_max_body_size 100M;
upstream php-upstream { upstream php-upstream {

View File

@ -268,7 +268,7 @@ output_buffering = 4096
; Note: You need to use zlib.output_handler instead of the standard ; Note: You need to use zlib.output_handler instead of the standard
; output_handler, or otherwise the output will be corrupted. ; output_handler, or otherwise the output will be corrupted.
; http://php.net/zlib.output-compression ; http://php.net/zlib.output-compression
zlib.output_compression = Off zlib.output_compression = On
; http://php.net/zlib.output-compression-level ; http://php.net/zlib.output-compression-level
;zlib.output_compression_level = -1 ;zlib.output_compression_level = -1
@ -670,7 +670,7 @@ auto_globals_jit = On
; Its value may be 0 to disable the limit. It is ignored if POST data reading ; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading. ; is disabled through enable_post_data_reading.
; http://php.net/post-max-size ; http://php.net/post-max-size
post_max_size = 20G post_max_size = 100M
; Automatically add files before PHP document. ; Automatically add files before PHP document.
; http://php.net/auto-prepend-file ; http://php.net/auto-prepend-file
@ -802,7 +802,7 @@ upload_tmp_dir = /tmp/
; Maximum allowed size for uploaded files. ; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize ; http://php.net/upload-max-filesize
upload_max_filesize = 20G upload_max_filesize = 100M
; Maximum number of files that can be uploaded via a single request ; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20 max_file_uploads = 20

2
root/etc/s6/.s6-svscan/finish Executable file
View File

@ -0,0 +1,2 @@
#!/bin/sh
exec /bin/true

View File

@ -1,12 +1,17 @@
parameters: parameters:
database_driver: %env.database_driver% database_driver: pdo_sqlite
database_host: %env.database_host% database_host: 127.0.0.1
database_port: %env.database_port% database_port: ~
database_name: %env.database_name% database_name: symfony
database_user: %env.database_user% database_user: root
database_password: %env.database_password% database_password: ~
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite" database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
database_table_prefix: wallabag_ database_table_prefix: wallabag_
database_socket: null
database_charset: utf8
database_driver_class: null
domain_name: https://your-wallabag-url-instance.com
test_database_driver: pdo_sqlite test_database_driver: pdo_sqlite
test_database_host: 127.0.0.1 test_database_host: 127.0.0.1
@ -43,7 +48,11 @@ parameters:
rabbitmq_port: 5672 rabbitmq_port: 5672
rabbitmq_user: guest rabbitmq_user: guest
rabbitmq_password: guest rabbitmq_password: guest
rabbitmq_prefetch_count: 10
# Redis processing # Redis processing
redis_scheme: tcp
redis_host: localhost redis_host: localhost
redis_port: 6379 redis_port: 6379
redis_path: null
redis_password: null

View File

@ -0,0 +1,9 @@
version: '2'
services:
wallabag:
build:
context: ../
image: wallabag:default
container_name: wallabag
ports:
- "127.0.0.1:80:80"

View File

@ -18,5 +18,6 @@ services:
- "127.0.0.1:80:80" - "127.0.0.1:80:80"
db: db:
image: mariadb image: mariadb
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --character-set-client-handshake=FALSE
environment: environment:
- MYSQL_ROOT_PASSWORD=wallaroot - MYSQL_ROOT_PASSWORD=wallaroot

View File

@ -10,6 +10,7 @@ services:
- POSTGRES_USER=my-super-user - POSTGRES_USER=my-super-user
- SYMFONY__ENV__SECRET=F00B4R - SYMFONY__ENV__SECRET=F00B4R
- SYMFONY__ENV__DATABASE_DRIVER=pdo_pgsql - SYMFONY__ENV__DATABASE_DRIVER=pdo_pgsql
- SYMFONY__ENV__DATABASE_DRIVER_CLASS=Wallabag\CoreBundle\Doctrine\DBAL\Driver\CustomPostgreSQLDriver
- SYMFONY__ENV__DATABASE_HOST=db - SYMFONY__ENV__DATABASE_HOST=db
- SYMFONY__ENV__DATABASE_PORT=5432 - SYMFONY__ENV__DATABASE_PORT=5432
- SYMFONY__ENV__DATABASE_NAME=wallabag - SYMFONY__ENV__DATABASE_NAME=wallabag
@ -18,7 +19,7 @@ services:
ports: ports:
- "127.0.0.1:80:80" - "127.0.0.1:80:80"
db: db:
image: postgres image: postgres:10.3
environment: environment:
- POSTGRES_PASSWORD=my-secret-pw - POSTGRES_PASSWORD=my-secret-pw
- POSTGRES_USER=my-super-user - POSTGRES_USER=my-super-user