blob: 19e45ea1f8ab535a1f43d7a78b388ca00a8b60b6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
---
- name: add users
become: yes
user: name="pleroma" shell="/bin/false" home="/opt/pleroma" system="yes"
- name: apt install pleroma dependencies
become: yes
apt: name="libtinfo5"
- name: create config and data directory
become: yes
file:
path: "{{item}}"
state: "directory"
mode: "0755"
with_items:
- "{{pleroma_data_dir}}"
- "/etc/pleroma"
- "/opt/pleroma"
- name: install pleroma config
template:
src: "config.exs.j2"
dest: "/etc/pleroma/{{pleroma_instance}}.config.exs"
owner: "pleroma"
group: "pleroma"
mode: "0600"
become: yes
notify: restart pleroma instance
- name: create instance data directory
become: yes
file:
path: "{{item}}"
state: "directory"
owner: "pleroma"
group: "pleroma"
mode: "0755"
with_items:
- "{{pleroma_data_dir}}/{{pleroma_instance}}"
- "{{pleroma_data_dir}}/{{pleroma_instance}}/uploads"
- "{{pleroma_data_dir}}/{{pleroma_instance}}/static"
- "{{pleroma_data_dir}}/{{pleroma_instance}}/static/emoji"
- name: install pleroma db schema file
become: yes
template:
src: "setup_db.psql.j2"
dest: "/tmp/setup_db_{{pleroma_instance}}.psql"
owner: "{{pleroma_db_superuser}}"
group: "{{pleroma_db_superuser}}"
mode: "0600"
- name: install pleroma psql
become: yes
become_user: "{{pleroma_db_superuser}}"
command: "psql -f /tmp/setup_db_{{pleroma_instance}}.psql"
changed_when: false
- name: download and unarchive pleroma release
become: yes
unarchive:
src: "{{pleroma_download_url}}"
dest: "/tmp/"
creates: "/tmp/release"
remote_src: yes
notify: restart pleroma instance
- name: install pleroma release
become: yes
copy:
remote_src: true
src: "/tmp/release/"
dest: "/opt/pleroma/"
owner: "pleroma"
group: "pleroma"
changed_when: false
- name: install soapbox frontend
include_tasks: soapbox.yaml
when: pleroma_soapbox
- name: configure pleroma systemd service
become: yes
copy:
src: "[email protected]"
dest: "/lib/systemd/system/[email protected]"
notify: restart pleroma instance
- name: ensure pleroma instance is enabled and started
become: yes
systemd: name="pleroma@{{pleroma_instance}}.service" enabled="yes" state="started"
- name: migrate db
become: yes
become_user: "pleroma"
command: "/opt/pleroma/bin/pleroma_ctl migrate"
args:
chdir: "/opt/pleroma/"
environment:
PLEROMA_CONFIG_PATH: "/etc/pleroma/{{pleroma_instance}}.config.exs"
changed_when: false
|