mirror of
https://github.com/wallabag/docker
synced 2025-12-13 17:56:31 +00:00
Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
90265c1653 | ||
|
|
fb020c3be6 | ||
|
|
80a3379a76 | ||
|
|
5203ab63b1 | ||
|
|
65b2e2c7a9 | ||
|
|
4de27027b9 | ||
|
|
924d663c86 | ||
|
|
ec8f599298 | ||
|
|
125aad2c1c | ||
|
|
606b7d681c | ||
|
|
fdaaf37381 | ||
|
|
2b13ed0703 | ||
|
|
e41a237604 | ||
|
|
724d6492bc | ||
|
|
267618a519 | ||
|
|
0fe227a0cc | ||
|
|
d42d34cdac | ||
|
|
58cc845c75 |
@@ -1,8 +1,8 @@
|
||||
FROM alpine:edge
|
||||
MAINTAINER Marvin Steadfast <marvin@xsteadfastx.org>
|
||||
|
||||
ENV WALLABAG_VERSION=2.1.4 \
|
||||
POSTGRES_USER=postgres
|
||||
ARG WALLABAG_VERSION=2.2.1
|
||||
ARG POSTGRES_USER=postgres
|
||||
|
||||
RUN echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
|
||||
&& apk add --update \
|
||||
@@ -32,6 +32,7 @@ RUN echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/
|
||||
php7-phar@testing \
|
||||
php7-session@testing \
|
||||
php7-xml@testing \
|
||||
php7-zlib@testing \
|
||||
php7@testing\
|
||||
py-mysqldb \
|
||||
py-psycopg2 \
|
||||
@@ -56,8 +57,6 @@ RUN cd /var/www/wallabag \
|
||||
|
||||
RUN chown -R nobody:nobody /var/www/wallabag
|
||||
|
||||
RUN chmod +x /entrypoint.sh
|
||||
|
||||
EXPOSE 80
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
CMD ["wallabag"]
|
||||
|
||||
21
README.md
21
README.md
@@ -29,6 +29,7 @@ Default login is `wallabag:wallabag`.
|
||||
- `-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__FOSUSER_REGISTRATION=...`(defaults to "true", enable or disable public user registration)
|
||||
- `-e POPULATE_DATABASE=...`(defaults to "True". Does the DB has to be populated or is it an existing one)
|
||||
|
||||
## SQLite
|
||||
|
||||
@@ -71,12 +72,18 @@ $ docker run -p 6379:6379 --name redis redis:alpine
|
||||
$ docker run -p 80:80 --link redis:redis wallabag/wallabag
|
||||
```
|
||||
|
||||
## DB migration
|
||||
## Upgrading
|
||||
|
||||
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.
|
||||
If there is a version upgrade that needs a database migration. The most easy way to do is running the `migrate` command:
|
||||
|
||||
```
|
||||
$ docker exec -t wallabag /var/www/wallabag/bin/console doctrine:migrations:migrate --env=prod --no-interaction
|
||||
$ 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
|
||||
@@ -136,3 +143,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.
|
||||
|
||||
10
root/entrypoint.sh
Normal file → Executable file
10
root/entrypoint.sh
Normal file → Executable file
@@ -4,5 +4,15 @@ if [ "$1" = "wallabag" ];then
|
||||
ansible-playbook -i /etc/ansible/hosts /etc/ansible/entrypoint.yml -c local
|
||||
exec s6-svscan /etc/s6/
|
||||
fi
|
||||
if [ "$1" = "import" ];then
|
||||
ansible-playbook -i /etc/ansible/hosts /etc/ansible/entrypoint.yml -c local --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
|
||||
ansible-playbook -i /etc/ansible/hosts /etc/ansible/entrypoint.yml -c local
|
||||
cd /var/www/wallabag/
|
||||
exec su -c "bin/console doctrine:migrations:migrate --env=prod --no-interaction" -s /bin/sh nobody
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
database_root_user_postgres: "{{ lookup('env', 'POSTGRES_USER') }}"
|
||||
database_root_password_postgres: "{{ lookup('env', 'POSTGRES_PASSWORD') }}"
|
||||
database_user: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_USER')|default('root', true) }}"
|
||||
populate_database: "{{ lookup('env', 'POPULATE_DATABASE')|default(True, 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) }}"
|
||||
@@ -33,6 +34,8 @@
|
||||
- /var/www/wallabag/data/assets
|
||||
- /var/www/wallabag/data/db
|
||||
notify: chown dir
|
||||
tags:
|
||||
- firstrun
|
||||
|
||||
- name: write parameters.yml
|
||||
template:
|
||||
@@ -68,7 +71,10 @@
|
||||
login_user=root
|
||||
login_password="{{ database_root_password_mariadb }}"
|
||||
notify: run install
|
||||
when: database_driver == 'pdo_mysql'
|
||||
when: (database_driver == 'pdo_mysql') and
|
||||
(populate_database == True)
|
||||
tags:
|
||||
- firstrun
|
||||
|
||||
- name: add mariadb user
|
||||
mysql_user:
|
||||
@@ -82,7 +88,10 @@
|
||||
login_password="{{ database_root_password_mariadb }}"
|
||||
state=present
|
||||
when: (database_driver == 'pdo_mysql') and
|
||||
(database_user != 'root')
|
||||
(database_user != 'root') and
|
||||
(populate_database == True)
|
||||
tags:
|
||||
- firstrun
|
||||
|
||||
- name: postgresql db
|
||||
postgresql_db:
|
||||
@@ -93,7 +102,10 @@
|
||||
login_user="{{ database_root_user_postgres }}"
|
||||
login_password="{{ database_root_password_postgres }}"
|
||||
notify: run install
|
||||
when: database_driver == 'pdo_pgsql'
|
||||
when: (database_driver == 'pdo_pgsql') and
|
||||
(populate_database == True)
|
||||
tags:
|
||||
- firstrun
|
||||
|
||||
- name: add postgresql user
|
||||
postgresql_user:
|
||||
@@ -107,7 +119,10 @@
|
||||
login_password="{{ database_root_password_postgres }}"
|
||||
state=present
|
||||
when: (database_driver == 'pdo_pgsql') and
|
||||
(database_user != 'postgres')
|
||||
(database_user != 'postgres') and
|
||||
(populate_database == True)
|
||||
tags:
|
||||
- firstrun
|
||||
|
||||
- name: remove cache
|
||||
file:
|
||||
|
||||
@@ -8,6 +8,7 @@ parameters:
|
||||
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
|
||||
database_table_prefix: wallabag_
|
||||
database_socket: null
|
||||
database_charset: utf8
|
||||
|
||||
mailer_transport: smtp
|
||||
mailer_host: {{ mailer_host }}
|
||||
@@ -36,9 +37,14 @@ parameters:
|
||||
rabbitmq_port: 5672
|
||||
rabbitmq_user: guest
|
||||
rabbitmq_password: guest
|
||||
rabbitmq_prefetch_count: 10
|
||||
|
||||
# Redis processing
|
||||
redis_scheme: tcp
|
||||
redis_host: redis
|
||||
redis_port: 6379
|
||||
redis_path: null
|
||||
redis_password: null
|
||||
|
||||
# sites credentials
|
||||
sites_credentials: {}
|
||||
|
||||
@@ -268,7 +268,7 @@ output_buffering = 4096
|
||||
; Note: You need to use zlib.output_handler instead of the standard
|
||||
; output_handler, or otherwise the output will be corrupted.
|
||||
; http://php.net/zlib.output-compression
|
||||
zlib.output_compression = Off
|
||||
zlib.output_compression = On
|
||||
|
||||
; http://php.net/zlib.output-compression-level
|
||||
;zlib.output_compression_level = -1
|
||||
|
||||
2
root/etc/s6/.s6-svscan/finish
Executable file
2
root/etc/s6/.s6-svscan/finish
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
exec /bin/true
|
||||
@@ -8,6 +8,7 @@ parameters:
|
||||
database_path: "%kernel.root_dir%/../data/db/wallabag.sqlite"
|
||||
database_table_prefix: wallabag_
|
||||
database_socket: null
|
||||
database_charset: utf8
|
||||
|
||||
test_database_driver: pdo_sqlite
|
||||
test_database_host: 127.0.0.1
|
||||
@@ -44,9 +45,14 @@ parameters:
|
||||
rabbitmq_port: 5672
|
||||
rabbitmq_user: guest
|
||||
rabbitmq_password: guest
|
||||
rabbitmq_prefetch_count: 10
|
||||
|
||||
# Redis processing
|
||||
redis_scheme: tcp
|
||||
redis_host: localhost
|
||||
redis_port: 6379
|
||||
redis_path: null
|
||||
redis_password: null
|
||||
|
||||
# sites credentials
|
||||
sites_credentials: {}
|
||||
|
||||
Reference in New Issue
Block a user