1
0
mirror of https://github.com/wallabag/docker synced 2026-06-25 07:44:14 +00:00

added new dependencies and added redis support

somehow there is a problem with the parameters.yml and environment
variables. ansible templates are now used.

database migration is still a big problem.
This commit is contained in:
Marvin Steadfast
2016-10-05 12:57:15 +02:00
parent f66d2aeab0
commit 6a5ab7c126
5 changed files with 90 additions and 8 deletions
+4 -1
View File
@@ -1,7 +1,7 @@
FROM alpine:edge FROM alpine:edge
MAINTAINER Marvin Steadfast <marvin@xsteadfastx.org> MAINTAINER Marvin Steadfast <marvin@xsteadfastx.org>
ENV WALLABAG_VERSION=2.0.8 \ ENV WALLABAG_VERSION=2.1.1 \
SYMFONY__ENV__DATABASE_DRIVER=pdo_sqlite \ SYMFONY__ENV__DATABASE_DRIVER=pdo_sqlite \
SYMFONY__ENV__DATABASE_HOST=127.0.0.1 \ SYMFONY__ENV__DATABASE_HOST=127.0.0.1 \
SYMFONY__ENV__DATABASE_PORT=~ \ SYMFONY__ENV__DATABASE_PORT=~ \
@@ -26,6 +26,8 @@ RUN echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/
nginx \ nginx \
pcre \ pcre \
php7 \ php7 \
php7-amqp@testing \
php7-bcmath \
php7-ctype@testing \ php7-ctype@testing \
php7-curl@testing \ php7-curl@testing \
php7-dom@testing \ php7-dom@testing \
@@ -47,6 +49,7 @@ RUN echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/
py-psycopg2 \ py-psycopg2 \
py-simplejson \ py-simplejson \
s6 \ s6 \
tar \
&& rm -rf /var/cache/apk/* && rm -rf /var/cache/apk/*
RUN ln -s /usr/bin/php7 /usr/bin/php \ RUN ln -s /usr/bin/php7 /usr/bin/php \
+11
View File
@@ -61,6 +61,15 @@ $ docker run --name wallabag-db -e "POSTGRES_PASSWORD=my-secret-pw" -e "POSTGRES
$ 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_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
To use redis support a linked redis container with the name `redis` is needed.
```
$ docker run -p 6379:6379 redis:alpine redis
$ docker run -p 80:80 --link redis:redis wallabag/wallabag
```
## docker-compose ## docker-compose
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:
@@ -90,6 +99,8 @@ services:
- MYSQL_ROOT_PASSWORD=wallaroot - MYSQL_ROOT_PASSWORD=wallaroot
volumes: volumes:
- /opt/wallabag:/var/lib/mysql - /opt/wallabag:/var/lib/mysql
redis:
image: redis:alpine
``` ```
Note that you must fill out the mail related variables according to your mail config. Note that you must fill out the mail related variables according to your mail config.
+15 -1
View File
@@ -21,10 +21,18 @@
path={{ item }} path={{ item }}
state=directory state=directory
with_items: with_items:
- /var/www/wallabag/data/db - /var/www/wallabag/app
- /var/www/wallabag/app/config
- /var/www/wallabag/data
- /var/www/wallabag/data/assets - /var/www/wallabag/data/assets
- /var/www/wallabag/data/db
notify: chown dir notify: chown dir
- name: write parameters.yml
template:
src=templates/parameters.yml.j2
dest=/var/www/wallabag/app/config/parameters.yml
- stat: - stat:
path=/var/www/wallabag/data/db/wallabag.sqlite path=/var/www/wallabag/data/db/wallabag.sqlite
register: wallabag_sqlite_db register: wallabag_sqlite_db
@@ -114,6 +122,12 @@
chdir: /var/www/wallabag chdir: /var/www/wallabag
notify: chown dir notify: chown dir
- name: run migration
shell: php bin/console doctrine:migrations:migrate --env=prod
args:
chdir: /var/www/wallabag
notify: chown dir
- name: chown dir - name: chown dir
file: file:
path=/var/www/wallabag path=/var/www/wallabag
@@ -0,0 +1,41 @@
parameters:
database_driver: {{ database_driver }}
database_host: {{ database_host }}
database_port: {{ database_port }}
database_name: {{ database_name }}
database_user: {{ database_user }}
database_password: {{ database_password }}
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
database_table_prefix: wallabag_
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: ~
mailer_password: ~
locale: en
# A secret key that's used to generate certain security-related tokens
secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
# two factor stuff
twofactor_auth: true
twofactor_sender: no-reply@wallabag.org
# fosuser stuff
fosuser_registration: true
fosuser_confirmation: true
from_email: no-reply@wallabag.org
rss_limit: 50
# RabbitMQ processing
rabbitmq_host: localhost
rabbitmq_port: 5672
rabbitmq_user: guest
rabbitmq_password: guest
# Redis processing
redis_host: redis
redis_port: 6379
@@ -17,20 +17,33 @@ parameters:
test_database_path: "%kernel.root_dir%/../data/db/wallabag_test.sqlite" test_database_path: "%kernel.root_dir%/../data/db/wallabag_test.sqlite"
mailer_transport: smtp mailer_transport: smtp
mailer_host: %env.mailer_host% mailer_host: 127.0.0.1
mailer_user: %env.mailer_user% mailer_user: ~
mailer_password: %env.mailer_password% mailer_password: ~
locale: en locale: en
# 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: %env.secret% secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
# two factor stuff # two factor stuff
twofactor_auth: true twofactor_auth: true
twofactor_sender: %env.from_email% twofactor_sender: no-reply@wallabag.org
# fosuser stuff # fosuser stuff
fosuser_registration: true
fosuser_confirmation: true fosuser_confirmation: true
from_email: %env.from_email% from_email: no-reply@wallabag.org
rss_limit: 50
# RabbitMQ processing
rabbitmq_host: localhost
rabbitmq_port: 5672
rabbitmq_user: guest
rabbitmq_password: guest
# Redis processing
redis_host: localhost
redis_port: 6379