mastible/roles/mastodon-config/tasks/main.yml

95 lines
3.3 KiB
YAML
Raw Normal View History

2017-11-27 01:58:45 +00:00
---
# This role copies over the user-edited .env.production, runs the database
# setup, pre-compiles assets, starts Mastodon daemons, adds media cleanup
# cron job
- name: Generate PAPERCLIP_SECRET and register it
shell: cd /home/mastodon/live && bundle exec rake secret
register: PAPERCLIP_SECRET
environment:
RAILS_ENV: production
PATH: '/home/mastodon/.rbenv/bin:/home/mastodon/.rbenv/shims:/home/mastodon/.rbenv/plugins/ruby-build/bin:{{ ansible_env.PATH }}'
args:
executable: /bin/bash
become: true
become_user: mastodon
- name: Generate SECRET_KEY_BASE and register it
shell: cd /home/mastodon/live && bundle exec rake secret
register: SECRET_KEY_BASE
environment:
RAILS_ENV: production
PATH: '/home/mastodon/.rbenv/bin:/home/mastodon/.rbenv/shims:/home/mastodon/.rbenv/plugins/ruby-build/bin:{{ ansible_env.PATH }}'
args:
executable: /bin/bash
become: true
become_user: mastodon
- name: Generate OTP_SECRET and register it
shell: cd /home/mastodon/live && bundle exec rake secret
register: OTP_SECRET
environment:
RAILS_ENV: production
PATH: '/home/mastodon/.rbenv/bin:/home/mastodon/.rbenv/shims:/home/mastodon/.rbenv/plugins/ruby-build/bin:{{ ansible_env.PATH }}'
args:
executable: /bin/bash
become: true
become_user: mastodon
- name: Copy Mastodon .env.production the first time
template:
src: .env.production
dest: /home/mastodon/live/.env.production
ignore_errors: True
become: true
become_user: mastodon
- name: Generate VAPID keys and register it
shell: cd /home/mastodon/live && bundle exec rake mastodon:webpush:generate_vapid_key
register: VAPID_KEYS
environment:
RAILS_ENV: production
PATH: '/home/mastodon/.rbenv/bin:/home/mastodon/.rbenv/shims:/home/mastodon/.rbenv/plugins/ruby-build/bin:{{ ansible_env.PATH }}'
args:
executable: /bin/bash
environment:
SECRET_KEY_BASE: '0'
become: true
become_user: mastodon
- name: Copy Mastodon .env.production the second time
2017-11-27 01:58:45 +00:00
template:
src: .env.production
dest: /home/mastodon/live/.env.production
become: true
become_user: mastodon
- name: Precompile Mastodon static assets
shell: cd /home/mastodon/live && bundle exec rails assets:precompile
2017-11-27 01:58:45 +00:00
environment:
RAILS_ENV: production
PATH: '/home/mastodon/.rbenv/bin:/home/mastodon/.rbenv/shims:/home/mastodon/.rbenv/plugins/ruby-build/bin:{{ ansible_env.PATH }}'
2017-11-27 01:58:45 +00:00
args:
executable: /bin/bash
become: true
become_user: mastodon
- name: Run Mastodon database setup
shell: cd /home/mastodon/live && bundle exec rails db:setup
2017-11-27 01:58:45 +00:00
environment:
RAILS_ENV: production
SAFETY_ASSURED: 1
PATH: '/home/mastodon/.rbenv/bin:/home/mastodon/.rbenv/shims:/home/mastodon/.rbenv/plugins/ruby-build/bin:{{ ansible_env.PATH }}'
2017-11-27 01:58:45 +00:00
args:
executable: /bin/bash
become: true
become_user: mastodon
- name: Add Mastodon media cache cleanup cronjob
cron:
name: "Mastodon media cache cleanup"
special_time: daily
job: "cd /home/mastodon/live && RAILS_ENV=production /home/mastodon/.rbenv/shims/bundle exec rake mastodon:media:remove_remote"
backup: yes
state: present
become: true
become_user: mastodon
- name: (Re)Start Mastodon services
systemd: name={{ item }} state=restarted
2017-11-27 01:58:45 +00:00
with_items:
- mastodon-sidekiq
- mastodon-streaming
- mastodon-web