Set Mangane config from role #15
16
README.md
16
README.md
|
@ -1,6 +1,7 @@
|
|||
# Pleroma/Akkoma role
|
||||
Pleroma/Akkoma role is was initially based on role by (Luke Hoersten)[https://src.nth.io/ansible-roles/file/2d705e63f6cb/pleroma/otp] with heavy modifications (basically re-written).
|
||||
This role deploys and updates OTP akkoma (default) or pleroma instance. Currently supported distributions are debian based. Role requires disroot's (nginx)[https://git.disroot.org/Disroot-Ansible/nginx] role and (postgresql)[https://github.com/ANXS/postgresql.git]. Other nginx / postgres roles could be used but may require changes in variables.
|
||||
Pleroma/Akkoma role was initially based on role by (Luke Hoersten)[https://src.nth.io/ansible-roles/file/2d705e63f6cb/pleroma/otp] with heavy modifications (basically re-written).
|
||||
|
||||
This role deploys and updates OTP akkoma (default) or pleroma instance. Currently supported distributions are debian based. Role requires Disroot's (nginx)[https://git.disroot.org/Disroot-Ansible/nginx] role and (postgresql)[https://github.com/ANXS/postgresql.git]. Other nginx / postgres roles could be used but may require changes in variables.
|
||||
|
||||
You can deploy test instance using `Vagrantfile` attached to the role.
|
||||
`vagrant up`
|
||||
|
@ -11,5 +12,14 @@ Then you can then access gitea from your computer on `http://192.168.33.15`
|
|||
|
||||
To update pleroma include `upgrade` **tag**.
|
||||
|
||||
|
||||
## Frontend
|
||||
This role also deploys Mangane as the default frontend (this can be changed with `pleroma_frontends` var). Mangane can be configured in `defaults/main.yml` (See the `# Mangane vars` section).
|
||||
|
||||
⚠️ If you have already deployed Mangane and have changed config from http://192.168.33.15/soapbox/config then you have to first remove this config from DB with `sudo -u pleroma /opt/pleroma/release/bin/pleroma_ctl config delete pleroma frontend_configurations`. Then run the role with `ansible-playbook -b Playbooks/pleroma.yml --tags upgrade`
|
||||
|
||||
|
||||
## Customization
|
||||
In the `files` folder, `avi.png` is the default user avatar.
|
||||
In the `files` folder, `avi.png` is the default user avatar. You can also changes logo that you can find there.
|
||||
|
||||
If you have already deployed but want to do any change, like change logo, avatar or a config, then run the role with `ansible-playbook -b Playbooks/pleroma.yml --tags upgrade`.
|
|
@ -5,6 +5,7 @@ pleroma_user: 'pleroma'
|
|||
pleroma_group: 'pleroma'
|
||||
pleroma_tmp_dir: '/tmp/pleroma/'
|
||||
pleroma_app_dir: '/opt/pleroma'
|
||||
pleroma_config_dir: '/etc/pleroma'
|
||||
|
||||
pleroma_apt_list:
|
||||
- 'libmagic-dev'
|
||||
|
@ -20,19 +21,18 @@ pleroma_apt_list:
|
|||
- 'libimage-exiftool-perl'
|
||||
- 'unzip'
|
||||
|
||||
|
||||
|
||||
pleroma_host: "192.168.33.15"
|
||||
pleroma_port: 4000
|
||||
pleroma_scheme: "http"
|
||||
|
||||
pleroma_proxy_pass: "{{ pleroma_scheme }}://{{ pleroma_host }}:{{ pleroma_port }}"
|
||||
pleroma_config_dir: '/etc/pleroma'
|
||||
|
||||
|
||||
# Configuration vars set in config.exs
|
||||
pleroma_link_host: "192.168.33.15"
|
||||
pleroma_link_port: "80"
|
||||
pleroma_link_scheme: "http"
|
||||
pleroma_https: 'false'
|
||||
pleroma_config_dir: '/etc/pleroma'
|
||||
pleroma_instance_name: "{{ pleroma_link_host }}"
|
||||
pleroma_secret_key: 'CDPbJ/+rD8hd27Hcw8igvGwyIDoS/J1isK4noJOybqfCuNuW9GDm0QNiW7syrGsHQQkTTSkzSZkAlKTqdnUahQ==' #openssl rand -base64 64 | paste --delimiters '' --serial
|
||||
pleroma_invites_enabled: 'false'
|
||||
|
@ -72,7 +72,7 @@ pleroma_custom_emoji_list:
|
|||
url: 'https://fedi.absturztau.be/emoji-packs/manifest.json'
|
||||
pleroma_frontends:
|
||||
- name: 'mangane'
|
||||
conf: 'primary'
|
||||
conf: 'primary' # primary means the frontend that will be served by default for general requests
|
||||
ref: 'dist'
|
||||
url: 'https://github.com/BDX-town/Mangane/releases/latest/download/static.zip'
|
||||
- name: 'admin-fe'
|
||||
|
@ -81,11 +81,13 @@ pleroma_frontends:
|
|||
- name: 'pleroma-fe'
|
||||
conf: 'pleroma'
|
||||
ref: 'develop'
|
||||
|
||||
# If you want to upload custom config files for frontends, specify below using the example
|
||||
#pleroma_frontend_custom_configs:
|
||||
# - name: 'mangane'
|
||||
# filename: 'soapbox.json'
|
||||
# confpath: 'static/instance/soapbox.json'
|
||||
|
||||
pleroma_mrf_simple: 'true'
|
||||
pleroma_mrf_policies:
|
||||
- policy: 'reject'
|
||||
|
@ -101,6 +103,20 @@ pleroma_mrf_policies:
|
|||
- host: 'test.com'
|
||||
reason: 'reason 2'
|
||||
|
||||
# Mangane vars (used in config.exs)
|
||||
mangane_authenticatedProfile: "true"
|
||||
mangane_homeDescription: "This is the Exemple.org instance of Akkoma."
|
||||
mangane_singleUserMode: "false"
|
||||
mangane_brandColor: "#F24173"
|
||||
mangane_accentColor: "#D00A42"
|
||||
mangane_navlinks:
|
||||
- title: 'Link to TOS'
|
||||
url: 'https://example.org/tos'
|
||||
- title: 'Link to PP'
|
||||
url: 'https://example.org/pp'
|
||||
mangane_copyright: "Soyons de bons humains."
|
||||
|
||||
|
||||
#Postgres
|
||||
postgresql_version: 13
|
||||
postgresql_listen_addresses:
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 0 B After Width: | Height: | Size: 4.9 KiB |
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 362.83 362.83">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: #462d7a;
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
stroke: #2c1e50;
|
||||
}
|
||||
|
||||
.cls-2, .cls-3 {
|
||||
stroke-miterlimit: 10;
|
||||
}
|
||||
|
||||
.cls-3 {
|
||||
stroke: #fff;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g id="Layer_9" data-name="Layer 9">
|
||||
<path class="cls-2" d="M269.3,197.19c-5.77-11.54-85.59,16.83-154.76,27.39-21.09,3.22-38.13,4.31-47.3,4.75-.74,2.91-1.76,7.02-2.87,11.97-1.93,8.6-2.89,12.89-2.6,13.78,3.3,9.95,59.73-.88,99.18-7.64,32.67-5.6,115.14-18.96,114.61-30.77-.03-.69-1.11-4.01-3.27-10.65-1.78-5.47-2.67-8.2-2.98-8.83Z"/>
|
||||
</g>
|
||||
<g id="Layer_6" data-name="Layer 6">
|
||||
<path class="cls-1" d="M115.2,131.89c6.26-6.54,20.19-20.63,42.39-26.14,15.79-3.92,28.51-1.28,33.51,0,83.72,21.41,116.03,201.78,77.79,226.32-10.28,6.6-26.86,2.7-36.77-3.3-32.63-19.78-29.3-72.87-44.44-73.73-5.11-.29-7.15,5.8-20.91,24.94-19.63,27.3-31.49,43.44-49.21,50.87-2.53,1.06-26.91,12.07-41.84,1.23-38.55-28-2.96-155.84,39.49-200.18Zm56.31,10.45c-27.39-.52-46.38,38.21-37.98,54.55,10.09,19.62,65.5,18.26,74.77-3.3,7.21-16.78-11.38-50.77-36.79-51.24Z"/>
|
||||
</g>
|
||||
<g id="Layer_4" data-name="Layer 4">
|
||||
<path d="M68.93,86.51c-6.55,27.74,252.45,113.97,267.56,89.66,9.24-14.87-64.9-83.62-163.53-97.57-39.06-5.52-100.95-5.14-104.03,7.91Z"/>
|
||||
</g>
|
||||
<g id="Layer_5" data-name="Layer 5">
|
||||
<path class="cls-3" d="M138.96,93.76c.41-5.25,6.51-5.74,28.85-19.42,26.97-16.51,28.85-22.38,56.86-40.83,30.07-19.81,48.46-31.94,54.82-26.61,9.72,8.15-25.18,43.33-21.31,99.35,.87,12.61,3.12,17.79-.86,23.01-18.25,23.95-120.07-13.68-118.35-35.5Z"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 0 B After Width: | Height: | Size: 1.7 KiB |
|
@ -4,4 +4,5 @@
|
|||
systemd:
|
||||
name: 'pleroma.service'
|
||||
state: 'restarted'
|
||||
enabled: true
|
||||
daemon_reload: 'yes'
|
||||
|
|
|
@ -13,12 +13,16 @@
|
|||
# - '{{ pleroma_app_dir }}'
|
||||
become: 'yes'
|
||||
become_user: "{{ pleroma_user }}"
|
||||
|
||||
tags:
|
||||
- upgrade
|
||||
|
||||
- name: '[Config] - Deploy systemd config'
|
||||
template:
|
||||
src: 'pleroma.service.j2'
|
||||
dest: '/etc/systemd/system/pleroma.service'
|
||||
notify: restart pleroma
|
||||
tags:
|
||||
- upgrade
|
||||
|
||||
- name: '[Config] - Deploy pleroma config'
|
||||
template:
|
||||
|
@ -30,6 +34,8 @@
|
|||
notify: restart pleroma
|
||||
become: 'yes'
|
||||
become_user: "{{ pleroma_user }}"
|
||||
tags:
|
||||
- upgrade
|
||||
|
||||
- name: '[Config] - Create data directories'
|
||||
file:
|
||||
|
@ -46,6 +52,8 @@
|
|||
- '{{ pleroma_data_dir }}/static/instance'
|
||||
become: 'yes'
|
||||
become_user: "{{ pleroma_user }}"
|
||||
tags:
|
||||
- upgrade
|
||||
|
||||
- name: '[Config] - Install custom emoji packs'
|
||||
shell: '{{ pleroma_app_dir }}/release/bin/pleroma_ctl emoji get-packs {{ item.name }} -m {{ item.url }}'
|
||||
|
@ -53,4 +61,5 @@
|
|||
become_user: "{{ pleroma_user }}"
|
||||
with_items: "{{ pleroma_custom_emoji_list }}"
|
||||
when: 'pleroma_custom_emoji == true'
|
||||
|
||||
tags:
|
||||
- upgrade
|
|
@ -37,10 +37,22 @@
|
|||
become: yes
|
||||
become_user: '{{ pleroma_user }}'
|
||||
|
||||
- name: '[Frontend] - Add instance logo'
|
||||
- name: '[Frontend] - Create extra static dir'
|
||||
file:
|
||||
path: '{{ pleroma_data_dir }}/static/static'
|
||||
state: directory
|
||||
owner: '{{ pleroma_user }}'
|
||||
group: '{{ pleroma_group }}'
|
||||
mode: 0775
|
||||
tags:
|
||||
- upgrade
|
||||
become: yes
|
||||
become_user: '{{ pleroma_user }}'
|
||||
|
||||
- name: '[Frontend] - Add instance logo svg'
|
||||
copy:
|
||||
src: '{{ pleroma_extra_files_path }}/logo.svg'
|
||||
dest: '{{ pleroma_data_dir }}/static/instance/logo.svg'
|
||||
dest: '{{ pleroma_data_dir }}/static/static/logo.svg'
|
||||
owner: '{{ pleroma_user }}'
|
||||
group: '{{ pleroma_group }}'
|
||||
mode: 0775
|
||||
|
@ -48,10 +60,34 @@
|
|||
- upgrade
|
||||
become: 'yes'
|
||||
become_user: "{{ pleroma_user }}"
|
||||
|
||||
- name: '[Frontend] - Add instance favicon'
|
||||
|
||||
- name: '[Frontend] - Add instance logo png'
|
||||
copy:
|
||||
src: '{{ pleroma_extra_files_path }}/logo.png'
|
||||
dest: '{{ pleroma_data_dir }}/static/static/logo.png'
|
||||
owner: '{{ pleroma_user }}'
|
||||
group: '{{ pleroma_group }}'
|
||||
mode: 0775
|
||||
tags:
|
||||
- upgrade
|
||||
become: 'yes'
|
||||
become_user: "{{ pleroma_user }}"
|
||||
|
||||
- name: '[Frontend] - Add PWA logo'
|
||||
copy:
|
||||
src: '{{ pleroma_extra_files_path }}/logo-512.png'
|
||||
dest: '{{ pleroma_data_dir }}/static/static/logo-512.png'
|
||||
owner: '{{ pleroma_user }}'
|
||||
group: '{{ pleroma_group }}'
|
||||
mode: 0775
|
||||
tags:
|
||||
- upgrade
|
||||
become: 'yes'
|
||||
become_user: "{{ pleroma_user }}"
|
||||
|
||||
- name: '[Frontend] - Add instance favicon'
|
||||
copy:
|
||||
src: '{{ pleroma_extra_files_path }}/favicon.png'
|
||||
dest: '{{ pleroma_data_dir }}/static/favicon.png'
|
||||
owner: '{{ pleroma_user }}'
|
||||
group: '{{ pleroma_group }}'
|
||||
|
@ -60,7 +96,7 @@
|
|||
- upgrade
|
||||
become: 'yes'
|
||||
become_user: "{{ pleroma_user }}"
|
||||
|
||||
|
||||
- name: '[Frontend] - Add default user avatar'
|
||||
copy:
|
||||
src: '{{ pleroma_extra_files_path }}/avi.png'
|
||||
|
@ -75,7 +111,7 @@
|
|||
|
||||
- name: '[Frontend] - Add custom configs'
|
||||
copy:
|
||||
src: '{{pleroma_extra_files_path }}/{{ item.name }}/{{ item.filename }}'
|
||||
src: '{{ pleroma_extra_files_path }}/{{ item.name }}/{{ item.filename }}'
|
||||
dest: '{{ pleroma_data_dir }}/static/frontends/{{ item.name }}/{{ item.confpath }}'
|
||||
owner: '{{ pleroma_user }}'
|
||||
group: '{{ pleroma_group }}'
|
||||
|
|
|
@ -129,3 +129,74 @@ config :pleroma, :mrf_simple,
|
|||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% for item in pleroma_frontends %}
|
||||
{% if item.name == "mangane" %}
|
||||
config :pleroma, :frontend_configurations,
|
||||
soapbox_fe: %{
|
||||
verifiedIcon: "",
|
||||
authenticatedProfile: {{ mangane_authenticatedProfile }},
|
||||
linkFooterMessage: "", # this adds a message in the irght column once logged
|
||||
homeDescription: "{{ mangane_homeDescription }}",
|
||||
appleAppId: nil,
|
||||
authProvider: "",
|
||||
customCss: [],
|
||||
gdprUrl: "",
|
||||
customRegUrl: "",
|
||||
cryptoDonatePanel: %{
|
||||
limit: 1
|
||||
},
|
||||
singleUserModeProfile: "",
|
||||
extensions: %{},
|
||||
verifiedCanEditName: false,
|
||||
quotePosts: true,
|
||||
singleUserMode: {{ mangane_singleUserMode }},
|
||||
brandColor: "{{ mangane_brandColor }}",
|
||||
links: %{},
|
||||
ads: [],
|
||||
customRegProvider: "",
|
||||
banner: "",
|
||||
defaultSettings: %{},
|
||||
aboutPages: %{},
|
||||
navlinks: %{
|
||||
homeFooter: [
|
||||
{% for item in mangane_navlinks %}
|
||||
%{
|
||||
title: "{{ item.title }}",
|
||||
url: "{{ item.url }}"
|
||||
}{% if not loop.last %},
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
]
|
||||
},
|
||||
promoPanel: %{
|
||||
items: []
|
||||
},
|
||||
greentext: false,
|
||||
allowedEmoji: [
|
||||
"👍",
|
||||
"❤️",
|
||||
"😆",
|
||||
"😮",
|
||||
"😢",
|
||||
"😩",
|
||||
"👍",
|
||||
"❤️",
|
||||
"😆",
|
||||
"😮",
|
||||
"😢",
|
||||
"😩"
|
||||
],
|
||||
accentColor: "{{ mangane_accentColor }}",
|
||||
colors: %{},
|
||||
logo: "/static/logo.svg",
|
||||
{% set current_year = now().year %} # Allows to set the current year in copyright!
|
||||
copyright: "🕶 {{ current_year|string }}. {{ mangane_copyright }}",
|
||||
logoDarkMode: nil,
|
||||
cryptoAddresses: [],
|
||||
displayFqn: true,
|
||||
mobilePages: %{},
|
||||
gdpr: false
|
||||
}
|
||||
{% endif %}
|
||||
{% endfor %}
|
Loading…
Reference in New Issue