mirror of
https://github.com/wallabag/docker
synced 2025-12-13 17:56:31 +00:00
164 lines
6.1 KiB
YAML
164 lines
6.1 KiB
YAML
---
|
|
- hosts: localhost
|
|
remote_user: root
|
|
|
|
vars:
|
|
|
|
database_driver: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_DRIVER')|default('pdo_sqlite', true) }}"
|
|
database_driver_class: "{{ lookup('env', 'SYMFONY__ENV__DATABASE_DRIVER_CLASS')|default('~', 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')|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:
|
|
|
|
- name: needed dirs
|
|
file:
|
|
path={{ item }}
|
|
state=directory
|
|
with_items:
|
|
- /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
|
|
tags:
|
|
- firstrun
|
|
|
|
- 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
|
|
when: database_driver == 'pdo_sqlite'
|
|
|
|
- name: notify install for sqlite
|
|
debug:
|
|
msg='notify installation script if sqlite db does not exist'
|
|
changed_when: true
|
|
notify: run install
|
|
when: (database_driver == 'pdo_sqlite') and
|
|
(wallabag_sqlite_db.stat.exists == False)
|
|
|
|
- name: wait for db container
|
|
wait_for:
|
|
host="{{ database_host }}"
|
|
port="{{ database_port }}"
|
|
when: (database_driver == 'pdo_mysql') or
|
|
(database_driver == 'pdo_pgsql')
|
|
|
|
- name: add mariadb db
|
|
mysql_db:
|
|
name="{{ database_name }}"
|
|
state=present
|
|
login_host="{{ database_host }}"
|
|
login_port={{ database_port }}
|
|
login_user=root
|
|
login_password="{{ database_root_password_mariadb }}"
|
|
encoding="utf8mb4"
|
|
notify: run install
|
|
when: (database_driver == 'pdo_mysql') and
|
|
(populate_database == True)
|
|
tags:
|
|
- firstrun
|
|
|
|
- name: add mariadb user
|
|
mysql_user:
|
|
name="{{ database_user }}"
|
|
host=%
|
|
password="{{ database_password }}"
|
|
priv={{ database_name }}.*:ALL
|
|
login_host="{{ database_host }}"
|
|
login_port={{ database_port }}
|
|
login_user=root
|
|
login_password="{{ database_root_password_mariadb }}"
|
|
state=present
|
|
when: (database_driver == 'pdo_mysql') and
|
|
(database_user != 'root') and
|
|
(populate_database == True)
|
|
tags:
|
|
- firstrun
|
|
|
|
- name: postgresql db
|
|
postgresql_db:
|
|
name="{{ database_name }}"
|
|
state=present
|
|
login_host="{{ database_host }}"
|
|
port={{ database_port }}
|
|
login_user="{{ database_root_user_postgres }}"
|
|
login_password="{{ database_root_password_postgres }}"
|
|
notify: run install
|
|
when: (database_driver == 'pdo_pgsql') and
|
|
(populate_database == True)
|
|
tags:
|
|
- firstrun
|
|
|
|
- name: add postgresql user
|
|
postgresql_user:
|
|
name="{{ database_user }}"
|
|
password="{{ database_password }}"
|
|
encrypted=true
|
|
db={{ database_name }}
|
|
priv=ALL
|
|
login_host="{{ database_host }}"
|
|
port={{ database_port }}
|
|
login_user="{{ database_root_user_postgres }}"
|
|
login_password="{{ database_root_password_postgres }}"
|
|
state=present
|
|
when: (database_driver == 'pdo_pgsql') and
|
|
(database_user != 'postgres') and
|
|
(populate_database == True)
|
|
tags:
|
|
- firstrun
|
|
|
|
- name: remove cache
|
|
file:
|
|
path=/var/www/wallabag/var/cache
|
|
state=absent
|
|
|
|
- name: run composer
|
|
shell: SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
|
|
args:
|
|
chdir: /var/www/wallabag
|
|
notify: chown dir
|
|
|
|
handlers:
|
|
|
|
- name: run install
|
|
shell: php bin/console wallabag:install --env=prod -n
|
|
args:
|
|
chdir: /var/www/wallabag
|
|
notify: chown dir
|
|
|
|
- name: chown dir
|
|
file:
|
|
path=/var/www/wallabag
|
|
recurse=yes
|
|
owner=nobody
|
|
group=nobody
|