diff options
| -rw-r--r-- | roles/nginx/tasks/main.yaml | 6 | ||||
| -rw-r--r-- | roles/pleroma/defaults/main.yaml | 14 | ||||
| -rw-r--r-- | roles/pleroma/meta/main.yaml | 4 | ||||
| -rw-r--r-- | roles/pleroma/tasks/main.yaml | 37 | ||||
| -rw-r--r-- | roles/pleroma/templates/prod.secret.exs.j2 | 4 | ||||
| -rw-r--r-- | roles/pleroma/templates/setup_db.psql.j2 | 3 | ||||
| -rw-r--r-- | roles/postgresql/defaults/main.yaml | 10 | ||||
| -rw-r--r-- | roles/postgresql/handlers/main.yaml | 5 | ||||
| -rw-r--r-- | roles/postgresql/tasks/main.yaml | 27 |
9 files changed, 87 insertions, 23 deletions
diff --git a/roles/nginx/tasks/main.yaml b/roles/nginx/tasks/main.yaml index 7a0589f..e255410 100644 --- a/roles/nginx/tasks/main.yaml +++ b/roles/nginx/tasks/main.yaml @@ -9,12 +9,6 @@ template: src="{{nginx_conf_src}}" dest="/etc/nginx/sites-available/{{nginx_conf_dst}}" notify: restart nginx -# https://certbot.eff.org/lets-encrypt/ubuntuxenial-nginx -- name: add certbot (letsencrypt) repo - become: yes - apt_repository: repo="ppa:certbot/certbot" - when: nginx_enable_ssl - - name: install nginx packages become: yes apt: name="python-certbot-nginx" diff --git a/roles/pleroma/defaults/main.yaml b/roles/pleroma/defaults/main.yaml index 94ff9e4..1002817 100644 --- a/roles/pleroma/defaults/main.yaml +++ b/roles/pleroma/defaults/main.yaml @@ -20,9 +20,17 @@ pleroma_signup_open: "true" pleroma_db_host: "localhost" pleroma_db_superuser: "postgres" +pleroma_version: "v1.0.6" + pleroma_apt_packages: - - "postgresql" - - "esl-erlang" - "elixir" - - "build-essential" - "git" + - "build-essential" + + # - "erlang-dev" + # - "erlang-tools" + # - "erlang-parsetools" + # - "erlang-ssh" + # - "erlang-ssl" + # - "erlang-inets" + # - "erlang-xmerl" diff --git a/roles/pleroma/meta/main.yaml b/roles/pleroma/meta/main.yaml deleted file mode 100644 index d7aa38d..0000000 --- a/roles/pleroma/meta/main.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- - -dependencies: - - nginx diff --git a/roles/pleroma/tasks/main.yaml b/roles/pleroma/tasks/main.yaml index dfc9b0c..8cd1cb5 100644 --- a/roles/pleroma/tasks/main.yaml +++ b/roles/pleroma/tasks/main.yaml @@ -2,11 +2,11 @@ - name: add erland solutions key become: yes - apt_key: "url=http://packages.erlang-solutions.com/debian/erlang_solutions.asc" + apt_key: url="http://packages.erlang-solutions.com/debian/erlang_solutions.asc" - name: install erland solutions repo become: yes - apt_repository: repo="deb http://binaries.erlang-solutions.com/debian bionic contrib" + apt_repository: repo="deb http://binaries.erlang-solutions.com/debian buster contrib" - name: update apt package cache become: yes @@ -26,6 +26,7 @@ git: repo: "https://git.pleroma.social/pleroma/pleroma.git" dest: "~{{pleroma_user}}/pleroma" + version: "{{pleroma_version}}" force: yes - name: install pleroma config files @@ -36,7 +37,6 @@ group: "{{pleroma_user}}" mode: "0775" become: yes - become_user: "{{pleroma_user}}" with_items: - "setup_db.psql" - "prod.secret.exs" @@ -45,11 +45,18 @@ - name: install pleroma psql become: yes become_user: "{{pleroma_db_superuser}}" - command: "psql -f ~{{pleroma_user}}/pleroma/config/setup_db.psql -h {{pleroma_db_host}}" + command: "psql -f ~{{pleroma_user}}/pleroma/config/setup_db.psql" notify: restart pleroma - environment: - PGUSER: "{{pleroma_db_superuser}}" - PGPASSWORD: "{{pleroma_db_superpass}}" + +# - name: restore +# postgresql_db: +# state: "restore" +# db: "{{pleroma_user}}" +# target: "/tmp/{{pleroma_user}}-backup.sql" +# login_user: "{{pleroma_user}}" +# login_password: "{{pleroma_db_passwd}}" +# login_host: "{{pleroma_db_host}}" +# when: "{{pleroma_restore_db}}" - name: migrate db become: yes @@ -78,3 +85,19 @@ - name: enable pleroma systemd service systemd: name="{{pleroma_user}}" enabled="yes" state="started" become: yes + + +# - name: backup db +# postgresql_db: +# state: "dump" +# db: "{{pleroma_user}}" +# target: "/tmp/{{pleroma_user}}-backup.sql" +# login_user: "{{pleroma_user}}" +# login_password: "{{pleroma_db_passwd}}" +# login_host: "{{pleroma_db_host}}" + + + + + +# pg_dump -U pleroma_nth_io -h pleroma.ctzpnw3lfkwz.us-east-1.rds.amazonaws.com pleroma_nth_io -f pleroma_nth_io_dump.sql diff --git a/roles/pleroma/templates/prod.secret.exs.j2 b/roles/pleroma/templates/prod.secret.exs.j2 index 2c4d9f2..85b0bbb 100644 --- a/roles/pleroma/templates/prod.secret.exs.j2 +++ b/roles/pleroma/templates/prod.secret.exs.j2 @@ -27,4 +27,6 @@ config :pleroma, Pleroma.Repo, password: "{{pleroma_db_passwd}}", database: "{{pleroma_user}}", hostname: "{{pleroma_db_host}}", - pool_size: 10 + pool_size: 10, + timeout: 60000, + pool_timeout: 60000 diff --git a/roles/pleroma/templates/setup_db.psql.j2 b/roles/pleroma/templates/setup_db.psql.j2 index 459bec8..9a4af30 100644 --- a/roles/pleroma/templates/setup_db.psql.j2 +++ b/roles/pleroma/templates/setup_db.psql.j2 @@ -1,6 +1,5 @@ CREATE USER {{pleroma_user}} WITH ENCRYPTED PASSWORD '{{pleroma_db_passwd}}'; -CREATE DATABASE {{pleroma_user}}; -ALTER DATABASE {{pleroma_user}} OWNER TO {{pleroma_user}}; +CREATE DATABASE {{pleroma_user}} WITH OWNER {{pleroma_user}}; \c {{pleroma_user}}; --Extensions made by ecto.migrate that need superuser access CREATE EXTENSION IF NOT EXISTS citext; diff --git a/roles/postgresql/defaults/main.yaml b/roles/postgresql/defaults/main.yaml new file mode 100644 index 0000000..ff230a9 --- /dev/null +++ b/roles/postgresql/defaults/main.yaml @@ -0,0 +1,10 @@ +--- + +postgresql_version: "11" +postgresql_config_path: "/etc/postgresql/{{postgresql_version}}/main/postgresql.conf" +postgresql_data_dir: "/var/lib/postgresql/{{postgresql_version}}/main" +postgresql_apt_packages: + - "postgresql-{{postgresql_version}}" + - "pgcli" + - "postgresql-client" + - "postgresql-common" diff --git a/roles/postgresql/handlers/main.yaml b/roles/postgresql/handlers/main.yaml new file mode 100644 index 0000000..d2eb688 --- /dev/null +++ b/roles/postgresql/handlers/main.yaml @@ -0,0 +1,5 @@ +--- + +- name: restart postgres + become: yes + systemd: name="postgresql" state="restarted" daemon_reload="yes" diff --git a/roles/postgresql/tasks/main.yaml b/roles/postgresql/tasks/main.yaml new file mode 100644 index 0000000..6195840 --- /dev/null +++ b/roles/postgresql/tasks/main.yaml @@ -0,0 +1,27 @@ +--- + +- name: install postgresql + become: yes + apt: name="{{postgresql_apt_packages}}" + +- name: configure postgresql data dir + become: yes + lineinfile: + path: "{{postgresql_config_path}}" + regexp: "^data_directory = " + line: "data_directory = '{{postgresql_data_dir}}'" + notify: restart postgres + +- name: create postgresql data dir + become: yes + file: + path: "{{postgresql_data_dir}}" + state: "directory" + mode: "0700" + owner: "postgres" + group: "postgres" + notify: restart postgres + +- name: ensure postgresql is started + become: yes + systemd: name="postgresql" enabled="yes" state="started" |
