mirror of
https://github.com/wallabag/docker
synced 2025-12-13 17:56:31 +00:00
Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
92f5db7ba9 | ||
|
|
ee4a7e4a46 | ||
|
|
e0bc4e895d | ||
|
|
ed6b4437b8 | ||
|
|
af2fb30389 | ||
|
|
af6c68a312 | ||
|
|
1f4d9af316 | ||
|
|
6a5ab7c126 | ||
|
|
f66d2aeab0 | ||
|
|
0d2bf2999a | ||
|
|
8bd298316a | ||
|
|
d9f9efcf13 |
@@ -7,6 +7,7 @@ services:
|
||||
- docker
|
||||
|
||||
env:
|
||||
- DB_TYPE=default
|
||||
- DB_TYPE=sqlite
|
||||
- DB_TYPE=mariadb
|
||||
- DB_TYPE=postgresql
|
||||
|
||||
19
Dockerfile
19
Dockerfile
@@ -1,20 +1,8 @@
|
||||
FROM alpine:edge
|
||||
MAINTAINER Marvin Steadfast <marvin@xsteadfastx.org>
|
||||
|
||||
ENV WALLABAG_VERSION=2.0.8 \
|
||||
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
|
||||
|
||||
ENV WALLABAG_VERSION=2.1.2 \
|
||||
POSTGRES_USER=postgres
|
||||
|
||||
RUN echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
|
||||
&& apk add --update \
|
||||
@@ -26,6 +14,8 @@ RUN echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/
|
||||
nginx \
|
||||
pcre \
|
||||
php7 \
|
||||
php7-amqp@testing \
|
||||
php7-bcmath \
|
||||
php7-ctype@testing \
|
||||
php7-curl@testing \
|
||||
php7-dom@testing \
|
||||
@@ -47,6 +37,7 @@ RUN echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/
|
||||
py-psycopg2 \
|
||||
py-simplejson \
|
||||
s6 \
|
||||
tar \
|
||||
&& rm -rf /var/cache/apk/*
|
||||
|
||||
RUN ln -s /usr/bin/php7 /usr/bin/php \
|
||||
|
||||
25
README.md
25
README.md
@@ -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
|
||||
```
|
||||
|
||||
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
|
||||
@@ -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:
|
||||
|
||||
```
|
||||
$ 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
|
||||
```
|
||||
|
||||
@@ -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:
|
||||
|
||||
```
|
||||
$ 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
|
||||
```
|
||||
|
||||
## 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
|
||||
|
||||
It's a good way to use [docker-compose](https://docs.docker.com/compose/). Example:
|
||||
@@ -90,6 +107,8 @@ services:
|
||||
- MYSQL_ROOT_PASSWORD=wallaroot
|
||||
volumes:
|
||||
- /opt/wallabag:/var/lib/mysql
|
||||
redis:
|
||||
image: redis:alpine
|
||||
```
|
||||
|
||||
Note that you must fill out the mail related variables according to your mail config.
|
||||
|
||||
@@ -4,15 +4,16 @@
|
||||
|
||||
vars:
|
||||
|
||||
database_driver: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_DRIVER') }}"
|
||||
database_host: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_HOST') }}"
|
||||
database_name: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_NAME') }}"
|
||||
database_password: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_PASSWORD') }}"
|
||||
database_port: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_PORT') }}"
|
||||
database_driver: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_DRIVER')|default('pdo_sqlite', true) }}"
|
||||
database_host: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_HOST')|default('127.0.0.1', true) }}"
|
||||
database_name: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_NAME')|default('symfony', true) }}"
|
||||
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_user_postgres: "{{ lookup('env', 'POSTGRES_USER') }}"
|
||||
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:
|
||||
|
||||
@@ -21,10 +22,18 @@
|
||||
path={{ item }}
|
||||
state=directory
|
||||
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/db
|
||||
notify: chown dir
|
||||
|
||||
- name: write parameters.yml
|
||||
template:
|
||||
src=templates/parameters.yml.j2
|
||||
dest=/var/www/wallabag/app/config/parameters.yml
|
||||
|
||||
- stat:
|
||||
path=/var/www/wallabag/data/db/wallabag.sqlite
|
||||
register: wallabag_sqlite_db
|
||||
|
||||
44
root/etc/ansible/templates/parameters.yml.j2
Normal file
44
root/etc/ansible/templates/parameters.yml.j2
Normal 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
|
||||
@@ -1,12 +1,13 @@
|
||||
parameters:
|
||||
database_driver: %env.database_driver%
|
||||
database_host: %env.database_host%
|
||||
database_port: %env.database_port%
|
||||
database_name: %env.database_name%
|
||||
database_user: %env.database_user%
|
||||
database_password: %env.database_password%
|
||||
database_driver: pdo_sqlite
|
||||
database_host: 127.0.0.1
|
||||
database_port: ~
|
||||
database_name: symfony
|
||||
database_user: root
|
||||
database_password: ~
|
||||
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
|
||||
database_table_prefix: wallabag_
|
||||
database_socket: null
|
||||
|
||||
test_database_driver: pdo_sqlite
|
||||
test_database_host: 127.0.0.1
|
||||
@@ -17,20 +18,35 @@ parameters:
|
||||
test_database_path: "%kernel.root_dir%/../data/db/wallabag_test.sqlite"
|
||||
|
||||
mailer_transport: smtp
|
||||
mailer_host: %env.mailer_host%
|
||||
mailer_user: %env.mailer_user%
|
||||
mailer_password: %env.mailer_password%
|
||||
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: %env.secret%
|
||||
secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
|
||||
|
||||
# two factor stuff
|
||||
twofactor_auth: true
|
||||
twofactor_sender: %env.from_email%
|
||||
twofactor_sender: no-reply@wallabag.org
|
||||
|
||||
# fosuser stuff
|
||||
fosuser_registration: 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
|
||||
|
||||
9
tests/docker-compose.default.yml
Normal file
9
tests/docker-compose.default.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
version: '2'
|
||||
services:
|
||||
wallabag:
|
||||
build:
|
||||
context: ../
|
||||
image: wallabag:default
|
||||
container_name: wallabag
|
||||
ports:
|
||||
- "127.0.0.1:80:80"
|
||||
Reference in New Issue
Block a user