--- - hosts: localhost remote_user: root vars: 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')|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) }}" 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) }}" 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 }}" 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 }}" 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