1
0
mirror of https://github.com/wallabag/docker synced 2025-12-14 10:16:35 +00:00

12 Commits
2.0.8 ... 2.1.2

Author SHA1 Message Date
Marvin Steadfast
92f5db7ba9 added test for default configuration 2016-10-24 09:53:42 +02:00
Marvin Steadfast
ee4a7e4a46 defaults for environment variable lookup for parameters.yml template
fixes #26
2016-10-21 14:48:32 +02:00
xsteadfastx
e0bc4e895d Merge pull request #25 from xsteadfastx/master
version 2.1.2 and some cleanups
2016-10-19 11:30:00 +02:00
Marvin Steadfast
ed6b4437b8 version 2.1.2 and some cleanups 2016-10-19 11:17:24 +02:00
Marvin Steadfast
af2fb30389 fixed docs to get redis working
thanks to @bobberb for pointing in the right direction.
2016-10-13 11:18:24 +02:00
xsteadfastx
af6c68a312 Merge pull request #21 from xsteadfastx/master
2.1.1 image
2016-10-12 15:26:12 +02:00
Marvin Steadfast
1f4d9af316 added db migration part to the docs 2016-10-11 16:18:52 +02:00
Marvin Steadfast
6a5ab7c126 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.
2016-10-11 16:18:52 +02:00
Nicolas Lœuillet
f66d2aeab0 Merge pull request #20 from tomsquest/patch-1
Fix typo `the a volume` -> `a volume`
2016-10-11 12:16:32 +02:00
Thomas Queste
0d2bf2999a Fix typo the a volume -> a volume 2016-10-11 12:08:50 +02:00
Jeremy Benoist
8bd298316a Merge pull request #18 from m0/m0-fixRunCommandInExample
fixes example run-commands in README
2016-09-17 07:53:59 +02:00
Moritz Maisel
d9f9efcf13 fixes example run-commands in README 2016-09-17 01:04:01 +02:00
7 changed files with 125 additions and 36 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,20 +1,8 @@
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.2 \
SYMFONY__ENV__DATABASE_DRIVER=pdo_sqlite \ POSTGRES_USER=postgres
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
RUN echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \ RUN echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
&& apk add --update \ && apk add --update \
@@ -26,6 +14,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 +37,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 \

View File

@@ -37,7 +37,7 @@ The easiest way to start wallabag is to use the SQLite backend. You can spin tha
$ docker run -p 80:80 wallabag/wallabag $ docker run -p 80:80 wallabag/wallabag
``` ```
and point your browser to `http://localhost:80`. For persistent storage you should start the container with the 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:/var/www/wallabag/data -p 80:80 wallabag/wallabag
@@ -48,7 +48,7 @@ $ docker run -v /opt/wallabag:/var/www/wallabag/data -p 80:80 wallabag/wallabag
For using MariaDB or MySQL you have to define some environment variables with the container. Example: For using MariaDB or MySQL you have to define some environment variables with the container. Example:
``` ```
$ docker run 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" -p 80:80 wallabag/wallabag
``` ```
@@ -57,10 +57,27 @@ $ 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 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
$ 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 --name redis redis:alpine
$ docker run -p 80:80 --link redis:redis wallabag/wallabag
```
## DB migration
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-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 +107,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.

View File

@@ -4,15 +4,16 @@
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_host: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_HOST')|default('127.0.0.1', true) }}"
database_name: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_NAME') }}" database_name: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_NAME')|default('symfony', true) }}"
database_password: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_PASSWORD') }}" database_password: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_PASSWORD')|default('~', true) }}"
database_port: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_PORT') }}" 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) }}"
secret: "{{ lookup('env', 'SYMFONY__ENV__SECRET')|default('ovmpmAWXRCabNlMgzlzFXDYmCFfzGv', true) }}"
tasks: tasks:
@@ -21,10 +22,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

View File

@@ -0,0 +1,44 @@
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_
database_socket: null
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: {{ secret }}
# 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_scheme: tcp
redis_host: redis
redis_port: 6379
redis_path: null

View File

@@ -1,12 +1,13 @@
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
test_database_driver: pdo_sqlite test_database_driver: pdo_sqlite
test_database_host: 127.0.0.1 test_database_host: 127.0.0.1
@@ -17,20 +18,35 @@ 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_scheme: tcp
redis_host: localhost
redis_port: 6379
redis_path: 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"