ITSquad: Difference between revisions

From Pirate Party Belgium
Jump to navigation Jump to search
(→‎Expenses: link to services)
 
(51 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{ProjectSidebar
{{ProjectSidebar
|title = ITSquad
|title=ITSquad
|start = 2012/05/20
|status=doing
|members = [[User:Tierce|tierce]], [[User:HgO|HgO]], [[User:ZeFredz|Fred]], [[User:Ilja|Ilja]], anyone else?
|topics=Pirate Party
|contact = it +@+ pirateparty.be, or meet us at our [[Pirate Lab]]
|start=2012/05/20
|status = active
|contact=it +@+ pirateparty.be, or meet us at our [[Pirate Lab]]
|topics = Pirate Party
|members=[[User:Tierce|tierce]], [[User:HgO|HgO]], [[User:ZeFredz|Fred]], [[User:Ilja|Ilja]], anyone else?
}}
}}
[[Category:Operational]]
[[Category:Operational]]
[[Category:Active Projects]]
[[Category:Active Projects]]
Line 13: Line 12:
== Description ==
== Description ==


Takes care of all IT-infrastructure of the pirate party. Contact if you want to do an IT-project, need an email address, have requests for a Crew, would like to add a feature to the site, etc.
The ITSquad takes care of the IT-infrastructure of the pirate party. Contact if you want to do an IT-project, need an email address, have requests for a Crew, would like to add a feature to the site, etc.
 
We can also help with finding, and sometimes providing, tools and services whose values are in line with the values of the Pirateparty. Take a look on our [[ITSquad/Pirates_Selection|Pirates Selection page]] for more information.


== Expenses ==
== Expenses ==
Line 19: Line 20:
{| class="wikitable"
{| class="wikitable"
!style="text-align:left" |[[ITNow#Networking4all|Networking4All]] (''registrar'')
!style="text-align:left" |[[ITNow#Networking4all|Networking4All]] (''registrar'')
! style="text-align:left" | 76,65€
! style="text-align:left" | 54,75€
! style="text-align:left" | Yearly
! style="text-align:left" | Yearly
|-
|-
Line 30: Line 31:
|Yearly
|Yearly
|-
|-
|depiratenpartij.be
|<s>depiratenpartij.be</s>
|10,95€
|
|Yearly
|Yearly
|-
|-
Line 38: Line 39:
|Yearly
|Yearly
|-
|-
|diepiratenpartei.be
|<s>diepiratenpartei.be</s>
|10,95€
|
|Yearly
|Yearly
|-
|-
Line 57: Line 58:
|-
|-
!style="text-align:left;" | [[ITNow#Hetzner|Hetzner]] (''hosting provider'')
!style="text-align:left;" | [[ITNow#Hetzner|Hetzner]] (''hosting provider'')
!style="text-align:left;" | 473,40€
!style="text-align:left;" | 431,64€
!style="text-align:left;" | Yearly
!style="text-align:left;" | Yearly
|-
|-
|[https://wiki.pirateparty.be/ Mediawiki webserver] since December 2016
|[https://wiki.pirateparty.be/ Mediawiki webserver] since October 2019
|8,35€
|3,01€
|Monthly
|-
|[https://pirateparty.be/ Wordpress websites] (en,fr,nl) since March 2020
|3,01€
|Monthly
|-
|[https://mastodon.pirateparty.be/ Mastodon server] (with 125Go volume) since October 2019
|11,98€
|Monthly
|-
|[https://talk.pirateparty.be/ Mumble server] since March 2020
|3,01€
|Monthly
|Monthly
|-
|-
|[https://pirateparty.be/ Wordpress websites] (en,fr,nl) since December 2016
|[https://liege.pirateparty.be/ Liège yunohost server] since September 2018
|8,35€
|3,01€
|Monthly
|Monthly
|-
|-
|[https://pad.pirateparty.be/ Etherpad-Lite pad server] since March 2017
|[https://parley.be/ parley yunohost server] since November 2018
|8,35€
|3,01€
|Monthly
|Monthly
|-
|-
|[https://mastodon.pirateparty.be/ Mastodon server] since April 2017
|[https://status.pirateparty.be/ Monitoring server] since January 2020
|14,40€
|3,01€
|Monthly
|Monthly
|-
| Storage box (500Go) since September 2019
| 5,93€
| Monthly
|-
|-
!style="text-align:left;"| TOTAL (''if nothing changes'')
!style="text-align:left;"| TOTAL (''if nothing changes'')
! style="text-align:left" | 670,05€
! style="text-align:left" | 606,39€
! style="text-align:left" | Yearly
! style="text-align:left" | Yearly
|}
|}
Line 90: Line 107:
* the [[ITSquad/Pirates Selection|Pirates Selection]], a [[ITSquad/Pirates Selection/brainstorming|brainstorming]] about IT tools that could be useful for pirates.
* the [[ITSquad/Pirates Selection|Pirates Selection]], a [[ITSquad/Pirates Selection/brainstorming|brainstorming]] about IT tools that could be useful for pirates.
* the [[ITSquad/Hackathon|Hackathon]], to work together on IT stuff during one long day.
* the [[ITSquad/Hackathon|Hackathon]], to work together on IT stuff during one long day.
* the [[ITSquad/Mastodon|Mastodon]], to maintain a decentralized and libre social-network
* [https://pad.parley.be/p/it-squad Pad] dedicated for the ITSquad
 
== Administration Docs ==
 
=== Ansible ===
 
To manage our servers in an automated way: https://dev.parley.be/PPBe/ansible-infra
 
=== Mastodon ===
 
To maintain a decentralized and libre social-network
 
See the [[ITSquad/Mastodon|Mastodon]] page
 
=== Parley ===
 
[https://parley.be Parley] is a place where we provide simple services open for everyone. All are free software.
 
==== Upgrading ====
 
Upgrading can be done from [https://parley.be/yunohost/admin/ the admin interface] or from the cli over ssh. Before updating applications, make a backup. Backups will be created automatically during upgrade, but if you do them manually, you can check that they haven't failed. When doing risky upgrades, please take a snapshot from the Hetzner admin console. An example of a risky upgrade is for migrations like Debian Stretch to Debian Buster.
 
We also have unattended_upgrades running, so security and application upgrades should happen automatically.
 
==== Landing page ====
 
The landing page is a simple HTML page with css and javascript (but has graceful degradation for those who want to disable javascript). The files can be found on [https://dev.parley.be/PPBe/parley_landing_page/ our git repo]. Updates should be pushed to there. More information can be found in the README.md
 
The files for the webapp-application are stored on the Parley server in ''/var/www/my_webapp__2/''. You can find a systemlink to the nginx configuration and to a daily cronjob file. The files of the site themselves are stored in the ''www'' folder. It uses git, so updating is ''cd /var/www/my_webapp__2/www; git pull''.
 
There is also an sftp connection (but can probably be removed since updating happens using git and the nginx and cronjob files can't be changed through sftp).
 
You can update the website on the server and then ''git add <changed-files>; git commit; git push'', or you can make the changes to the repo and then wait for the daily job to do it's work.
 
==== Jirafeau ====
 
We used to have a Jirafeau instance, but it gave too much problems because people uploading unethical or illegal material. In the end it was simply not worth the effort.
 
==== Spam ====
 
See https://github.com/YunoHost/issues/issues/2021 for an ad-hoc solution that was once used. Files have been reverted after ynh11, so this is possibly not active any more.
 
==== Issues ====
===== 2023-08-18 =====
 
During the migration to ynh 11 the pads didn't work any more. Logs showed
 
npm ERR! peer dep missing: eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8, required by eslint-plugin-import@2.28.0
 
This was worked around by doing
 
su -s /bin/bash - etherpad_mypads
mv node_modules/eslint-plugin-import eslint-plugin-import_bkp
 
I also tried the following first, but that gave me other errors
 
su -s /bin/bash - etherpad_mypads
npm install "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8"
npm install "eslint"
 
=== Yunohost ===
 
We try to promote and use yunohost because it's a good server OS for self hosting. Crews who want to administer their own services can get a ynh server. We can provide the service to set everything up, teach some basics and provide support in case of trouble. An explanation on how and why can be found on [https://blog.ilja.space/~/B/yunohost-for-decentralised-grassroot-movements this blogpost].
 
==== Setting up an instance ====
 
If a crewmember is interested in running their server from home, an option is [https://neutrinet.be/nl/brique an internet cube], but typically we'll use a vps. To set up a vps:
 
* See liege.pirateparty.be for an example
* At least one person of the crew will be admin and contact for us. Make sure we know who that is.
* Log in to Hetzner > cloud > Default > make a new server > install Debian and run the [https://yunohost.org/#/install yunohost installer for Debian]
* Run the post-install and add a subdomain to ynh and set up the DNS records. The easiest is to set A and AAAA records for the crew.pirateparty.be and a CNAME for *.crew.pirateparty.be. Make sure to set up the other DNS records as well (CAA, TXT...)
* Add reverse DNS: Log in to hetzner > cloud > Default > Choose correct server > Networking > Under Primary IPS you can see the reverse DNS. Set it for both ipv4 and ipv6
* Run the diagnostics from the admin interface and set everything up correctly
 
==== Things to know for the admin(s) ====
 
* Please keep the server updatet
* If there are problems, contact us via chat or mail. We're here to help, make use of it
* Keep an eye on resources
* There's a good chance that mails will be blacklisted by default by MS and Google. What you can do is "warm up" your domain. Send mails to people who use outlook and gmail accounts and make sure they reply. Or have them send to you. Basically, you want MS and Google to see 'healthy' traffic form your domain/ip.
* Total cost to ppbe is €X/month and ppbe pays for this. If people want to give some monetary support for it, they can donate to ppbe whatever amount they see fit (pay-what-you-want). It's also possible to [https://donate.yunohost.org/ donate to the yunohost project].
* Try to give a short tour of the admin and user interface, so they know what they can do and how


== Todo ==
== Todo ==
Line 97: Line 196:


== Meetings ==
== Meetings ==
 
{{Events|type=Meeting|ITSquad|lang=fr|limit=10}}
{{Events|type=Meeting|ITSquad|lang=fr|limit=15}}

Latest revision as of 08:25, 18 August 2023

ITSquad Toicon-icon-avocado-build.svg
Topics Pirate Party
Start date Sun 20 May 2012
Contact it +@+ pirateparty.be
or meet us at our Pirate Lab
Status In progress

Description

The ITSquad takes care of the IT-infrastructure of the pirate party. Contact if you want to do an IT-project, need an email address, have requests for a Crew, would like to add a feature to the site, etc.

We can also help with finding, and sometimes providing, tools and services whose values are in line with the values of the Pirateparty. Take a look on our Pirates Selection page for more information.

Expenses

Networking4All (registrar) 54,75€ Yearly
parley.be 10,95€ Yearly
thepirateparty.be 10,95€ Yearly
depiratenpartij.be Yearly
lepartipirate.be 10,95€ Yearly
diepiratenpartei.be Yearly
piratenpartij.be 10,95€ Yearly
pirateparty.be 10,95€ Yearly
Infomaniak (hosting provider)
Mailboxes @pirateparty.be and old mailing lists @piratepary.be 120,00€ Yearly
Hetzner (hosting provider) 431,64€ Yearly
Mediawiki webserver since October 2019 3,01€ Monthly
Wordpress websites (en,fr,nl) since March 2020 3,01€ Monthly
Mastodon server (with 125Go volume) since October 2019 11,98€ Monthly
Mumble server since March 2020 3,01€ Monthly
Liège yunohost server since September 2018 3,01€ Monthly
parley yunohost server since November 2018 3,01€ Monthly
Monitoring server since January 2020 3,01€ Monthly
Storage box (500Go) since September 2019 5,93€ Monthly
TOTAL (if nothing changes) 606,39€ Yearly

Ressources

Administration Docs

Ansible

To manage our servers in an automated way: https://dev.parley.be/PPBe/ansible-infra

Mastodon

To maintain a decentralized and libre social-network

See the Mastodon page

Parley

Parley is a place where we provide simple services open for everyone. All are free software.

Upgrading

Upgrading can be done from the admin interface or from the cli over ssh. Before updating applications, make a backup. Backups will be created automatically during upgrade, but if you do them manually, you can check that they haven't failed. When doing risky upgrades, please take a snapshot from the Hetzner admin console. An example of a risky upgrade is for migrations like Debian Stretch to Debian Buster.

We also have unattended_upgrades running, so security and application upgrades should happen automatically.

Landing page

The landing page is a simple HTML page with css and javascript (but has graceful degradation for those who want to disable javascript). The files can be found on our git repo. Updates should be pushed to there. More information can be found in the README.md

The files for the webapp-application are stored on the Parley server in /var/www/my_webapp__2/. You can find a systemlink to the nginx configuration and to a daily cronjob file. The files of the site themselves are stored in the www folder. It uses git, so updating is cd /var/www/my_webapp__2/www; git pull.

There is also an sftp connection (but can probably be removed since updating happens using git and the nginx and cronjob files can't be changed through sftp).

You can update the website on the server and then git add <changed-files>; git commit; git push, or you can make the changes to the repo and then wait for the daily job to do it's work.

Jirafeau

We used to have a Jirafeau instance, but it gave too much problems because people uploading unethical or illegal material. In the end it was simply not worth the effort.

Spam

See https://github.com/YunoHost/issues/issues/2021 for an ad-hoc solution that was once used. Files have been reverted after ynh11, so this is possibly not active any more.

Issues

2023-08-18

During the migration to ynh 11 the pads didn't work any more. Logs showed

npm ERR! peer dep missing: eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8, required by eslint-plugin-import@2.28.0

This was worked around by doing

su -s /bin/bash - etherpad_mypads
mv node_modules/eslint-plugin-import eslint-plugin-import_bkp

I also tried the following first, but that gave me other errors

su -s /bin/bash - etherpad_mypads
npm install "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8"
npm install "eslint"

Yunohost

We try to promote and use yunohost because it's a good server OS for self hosting. Crews who want to administer their own services can get a ynh server. We can provide the service to set everything up, teach some basics and provide support in case of trouble. An explanation on how and why can be found on this blogpost.

Setting up an instance

If a crewmember is interested in running their server from home, an option is an internet cube, but typically we'll use a vps. To set up a vps:

  • See liege.pirateparty.be for an example
  • At least one person of the crew will be admin and contact for us. Make sure we know who that is.
  • Log in to Hetzner > cloud > Default > make a new server > install Debian and run the yunohost installer for Debian
  • Run the post-install and add a subdomain to ynh and set up the DNS records. The easiest is to set A and AAAA records for the crew.pirateparty.be and a CNAME for *.crew.pirateparty.be. Make sure to set up the other DNS records as well (CAA, TXT...)
  • Add reverse DNS: Log in to hetzner > cloud > Default > Choose correct server > Networking > Under Primary IPS you can see the reverse DNS. Set it for both ipv4 and ipv6
  • Run the diagnostics from the admin interface and set everything up correctly

Things to know for the admin(s)

  • Please keep the server updatet
  • If there are problems, contact us via chat or mail. We're here to help, make use of it
  • Keep an eye on resources
  • There's a good chance that mails will be blacklisted by default by MS and Google. What you can do is "warm up" your domain. Send mails to people who use outlook and gmail accounts and make sure they reply. Or have them send to you. Basically, you want MS and Google to see 'healthy' traffic form your domain/ip.
  • Total cost to ppbe is €X/month and ppbe pays for this. If people want to give some monetary support for it, they can donate to ppbe whatever amount they see fit (pay-what-you-want). It's also possible to donate to the yunohost project.
  • Try to give a short tour of the admin and user interface, so they know what they can do and how

Todo

Meetings

Meeting Date Venue
Toicon-icon-avocado-discuss.svg Mastodon migration to Glitch-soc Sun 1 September 2019, 10:00am Fred's place
1348 Louvain-la-Neuve
Toicon-icon-avocado-discuss.svg Yunohost : Let's decentralise the crews! Sun 24 June 2018, 10:00am tierce's place – 30 rue Achille Bauduin
1300 Limal
Toicon-icon-avocado-discuss.svg Make the PPBe GDPR-compliant Sun 27 May 2018, 10:00am tierce's place – 30 rue Achille Bauduin
1300 Limal
Toicon-icon-avocado-discuss.svg New website online meeting Wed 25 April 2018, 9:00pm Online
Toicon-icon-avocado-discuss.svg New website Sat 21 April 2018, 2:00pm Expression – Koning Albertplein 14
2800 Mechelen
Toicon-icon-avocado-discuss.svg Updating the web site/slogan: let us tell a story Sat 9 December 2017, 2:00pm Expression – Koning Albertplein 14
2800 Mechelen
Toicon-icon-avocado-discuss.svg Mastodon upgrade and Mails structure Wed 1 November 2017, 10:00am tierce's place – 30 rue Achille Bauduin
1300 Limal
Toicon-icon-avocado-discuss.svg IT Squad Meeting Sun 13 August 2017, 12:00pm tierce's place – 30 rue Achille Bauduin
1300 Limal
Toicon-icon-avocado-discuss.svg Mails Follow up Sun 2 July 2017, 10:00am tierce's place – 30 rue Achille Bauduin
1300 Limal
Toicon-icon-avocado-discuss.svg Setting up our Mail Infrastructure Sun 4 June 2017, 10:00am tierce's place – 30 rue Achille Bauduin
1300 Limal

Show moarr meetings!Add a new meeting
Export for iCalendar