Update to 2.0.2 (#19)

Bookworm requires npm as seperate package.

Co-authored-by: meaz <meaz@disroot.org>
Reviewed-on: #19
Reviewed-by: meaz <meaz@no-reply@disroot.org>
Co-authored-by: muppeth <muppeth@disroot.org>
Co-committed-by: muppeth <muppeth@disroot.org>
This commit is contained in:
muppeth 2024-05-13 22:49:52 +02:00 committed by muppeth
parent 290ab93e15
commit 48bd3bf10e
10 changed files with 54 additions and 29 deletions

View File

@ -14,8 +14,16 @@ Then you can access etherpad from your computer on http://192.168.33.8:9001
## Playbook
The playbook includes mariadb role and deploys entire stack needed to run Etherpad-lite. Additional role is also available in the Ansible roles repos in git.
## Tags
You can use tags when you deploy:
- `config`: to deploy just config
- `modules`: to deploy modules
⚠ Since the v.2.0.2, modules can only be installed, not removed. The devs are working on this: https://github.com/ether/etherpad-lite/issues/6272 So if you need to remove a plugin, log into the admin interface.
## CHANGELOG
- **14.04.2024** - Bumped version to 2.0.2 and change from npm to pnpm
- **26.03.2021** - Bumped version to 1.8.13 and enable ep_adminpads2
- **04.03.2021** - Bumped version to 1.8.11 and adjusted readme file
- **21.11.2020** - Make it ready for public release

2
Vagrantfile vendored
View File

@ -8,7 +8,7 @@
Vagrant.configure("2") do |config|
#config.ssh.insert_key = false
config.vm.define "etherpad" do |etherpad|
etherpad.vm.box = "generic/debian11"
etherpad.vm.box = "generic/debian12"
etherpad.vm.provider :libvirt do |libvirt|
libvirt.memory = 256
end

View File

@ -1,6 +1,6 @@
---
etherpad_version: '1.9.7'
etherpad_version: '2.0.2'
etherpad_skin: 'colibris'
etherpad_skinVariants: 'super-light-toolbar super-light-editor light-background'
etherpad_username: 'etherpad'
@ -50,12 +50,14 @@ etherpad_smtp_host: 'localhost'
etherpad_smtp_port: '587'
etherpad_smtp_user: 'support'
etherpad_smtp_pass: 'changeme'
etherpad_nodejs_version: '18'
etherpad_nodejs_version: '21'
etherpad_apt:
- curl
- nodejs
- git
etherpad_admin_page: 'true' # set to something else if you don't want to build admin page
etherpad_plugins_list:
ep_adminpads2: enabled
ep_comments_page: enabled

View File

@ -7,7 +7,7 @@
owner: "{{ etherpad_username }}"
group: "{{ etherpad_group }}"
mode: 0755
tags: configuration
tags: config
- name: '[CONFIGURE] - Deploy config'
template:
@ -18,4 +18,4 @@
mode: 0644
notify:
restart etherpad
tags: configuration
tags: config

18
tasks/install.yml Normal file
View File

@ -0,0 +1,18 @@
---
- name: '[INSTALL] - Install with pnpm'
shell:
cmd: pnpm install
args:
chdir: "{{ etherpad_app_dir }}/app"
become: yes
become_user: "{{ etherpad_username }}"
- name: '[INSTALL] - Build admin pages with pnpm'
shell:
cmd: pnpm run build
args:
chdir: "{{ etherpad_app_dir }}/app/admin"
become: yes
become_user: "{{ etherpad_username }}"
when: etherpad_admin_page == "true"

View File

@ -1,18 +1,24 @@
---
- name: '[INSTALLDEPS] - Add Nodesource apt key.'
- name: '[INSTALL] - Add Nodesource apt key.'
apt_key:
url: https://keyserver.ubuntu.com/pks/lookup?op=get&fingerprint=on&search=0x1655A0AB68576280
id: "68576280"
url: https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key
state: present
- name: '[INSTALLDEPS] - Add repository for nodejs'
apt_repository:
repo: deb https://deb.nodesource.com/node_{{ etherpad_nodejs_version }}.x {{ ansible_distribution_release }} main
repo: deb https://deb.nodesource.com/node_{{ etherpad_nodejs_version }}.x nodistro main
state: present
update_cache: yes
filename: 'nodesource'
- name: '[INSTALLDEPS] - Install dependencies'
apt:
name: "{{ etherpad_apt }}"
update_cache: yes
state: latest
- name: '[INSTALLDEPS] - Install pnpm'
npm:
name: pnpm
global: true

View File

@ -11,15 +11,18 @@
- name: Deploy configuration
include_tasks: configure.yml
tags: configuration
- name: Install Modules
include_tasks: modules.yml
tags: modules
tags: config
- name: Use abiword
include_tasks: abiword.yml
when: etherpad_abiword != 'null'
- name: Install etherpad
include_tasks: install.yml
- name: Install Modules
include_tasks: modules.yml
tags: modules
- name: Systemd
include_tasks: systemd.yml

View File

@ -5,24 +5,12 @@
# then uses filter to get all plugins names in one line, without comas or quotes as needed for npm
- name: '[Modules] - Install modules'
shell:
cmd: "npm install --no-save --legacy-peer-deps {{ etherpad_plugins_list| dict2items | selectattr('value', 'eq', 'enabled') | map(attribute='key') |join(',') | replace(\",\", \" \") }}"
cmd: "pnpm run install-plugins {{ etherpad_plugins_list| dict2items | selectattr('value', 'eq', 'enabled') | map(attribute='key') |join(',') | replace(\",\", \" \") }}"
args:
chdir: "{{ etherpad_app_dir }}/app"
become: yes
become_user: "{{ etherpad_username }}"
when: etherpad_plugins_list| dict2items | selectattr('value', 'eq', 'enabled') |length > 0
notify:
restart etherpad
tags: modules
- name: '[Modules] - Uninstall modules'
shell:
cmd: "npm uninstall {{ etherpad_plugins_list| dict2items | selectattr('value', 'eq', 'disabled') | map(attribute='key') |join(',') | replace(\",\", \" \") }}"
args:
chdir: "{{ etherpad_app_dir }}/app"
become: yes
become_user: "{{ etherpad_username }}"
when: etherpad_plugins_list| dict2items | selectattr('value', 'eq', 'disabled') |length > 0
notify:
restart etherpad
tags: modules

View File

@ -8,7 +8,7 @@ User={{ etherpad_username }}
Group={{ etherpad_group }}
WorkingDirectory={{ etherpad_app_dir }}/app
Environment=NODE_ENV=production
ExecStart={{ etherpad_app_dir }}/app/bin/run.sh
ExecStart=pnpm run prod
StandardOutput=file:{{ etherpad_logfile }}
Restart=always
RestartSec=3

View File

@ -541,7 +541,7 @@
/*
* Restrict socket.io transport methods
*/
"socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"],
"socketTransportProtocols" : ["websocket", "polling"],
"socketIo": {
/*