From ac4e4febf424581562e03e7ea5dd2438c617be5f Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Mon, 8 Jan 2018 19:13:59 +0000 Subject: [PATCH 01/10] No longer true --- src/freedombone-app-ghost | 1 - 1 file changed, 1 deletion(-) diff --git a/src/freedombone-app-ghost b/src/freedombone-app-ghost index 8248d5a8..1258925a 100755 --- a/src/freedombone-app-ghost +++ b/src/freedombone-app-ghost @@ -9,7 +9,6 @@ # Freedom in the Cloud # # Ghost blog -# Only works with nodejs version ^6.9.0 # # License # ======= From 9de25b9bc79ed24b20ce9a38f6542d71d289849c Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Tue, 9 Jan 2018 10:37:24 +0000 Subject: [PATCH 02/10] More pleroma checks --- src/freedombone-app-pleroma | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/freedombone-app-pleroma b/src/freedombone-app-pleroma index a1a45046..21b36123 100755 --- a/src/freedombone-app-pleroma +++ b/src/freedombone-app-pleroma @@ -223,8 +223,16 @@ function pleroma_create_database { write_config_param "PLEROMA_SECRET_KEY" "$PLEROMA_SECRET_KEY" fi - pleroma_secret=config/dev.secret.exs - cp config/dev.exs $pleroma_secret + if [ ! -d $PLEROMA_DIR/config ]; then + echo $"Missing directory $PLEROMA_DIR/config" + exit 7835393 + fi + pleroma_secret=$PLEROMA_DIR/config/dev.secret.exs + if [ ! -f $PLEROMA_DIR/config/dev.exs ]; then + echo $"Did not find $PLEROMA_DIR/config/dev.exs" + exit 78923528 + fi + cp $PLEROMA_DIR/config/dev.exs $pleroma_secret sed -i "s|username:.*|username: \"pleroma\",|g" $pleroma_secret sed -i "s|password:.*|password: \"$PLEROMA_ADMIN_PASSWORD\",|g" $pleroma_secret sed -i "s|database:.*|database: \"pleroma\",|g" $pleroma_secret @@ -246,7 +254,7 @@ function pleroma_create_database { fi cd $PLEROMA_DIR - chown -R pleroma:pleroma * + chown -R pleroma:pleroma $PLEROMA_DIR/* sudo -u pleroma mix local.rebar --force if [ ! "$?" = "0" ]; then run_system_query_postgresql "ALTER USER pleroma NOSUPERUSER;" From 061cc50c9f9b5adeccd7200c61078ecf611cf5b1 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Tue, 9 Jan 2018 11:13:46 +0000 Subject: [PATCH 03/10] Revert commit --- src/freedombone-app-pleroma | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/freedombone-app-pleroma b/src/freedombone-app-pleroma index 21b36123..de83a726 100755 --- a/src/freedombone-app-pleroma +++ b/src/freedombone-app-pleroma @@ -39,7 +39,7 @@ PLEROMA_CODE= PLEROMA_PORT=4000 PLEROMA_ONION_PORT=8011 PLEROMA_REPO="https://git.pleroma.social/pleroma/pleroma.git" -PLEROMA_COMMIT='5c09d8d3f199a3f323471f9ba4578371226cd726' +PLEROMA_COMMIT='5fc6e9d467f69af155627cccaa27616fe7ffc61f' PLEROMA_ADMIN_PASSWORD= PLEROMA_DIR=/etc/pleroma PLEROMA_SECRET_KEY="" From 139696d52759144166c4799bee5cf44c17fdcb1d Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Tue, 9 Jan 2018 13:00:56 +0000 Subject: [PATCH 04/10] Try the last pleroma commit before chat is added --- src/freedombone-app-pleroma | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/freedombone-app-pleroma b/src/freedombone-app-pleroma index de83a726..26df8197 100755 --- a/src/freedombone-app-pleroma +++ b/src/freedombone-app-pleroma @@ -39,7 +39,7 @@ PLEROMA_CODE= PLEROMA_PORT=4000 PLEROMA_ONION_PORT=8011 PLEROMA_REPO="https://git.pleroma.social/pleroma/pleroma.git" -PLEROMA_COMMIT='5fc6e9d467f69af155627cccaa27616fe7ffc61f' +PLEROMA_COMMIT='964e2dd2f055207ac8fa7f8b3612e50860a0472a' PLEROMA_ADMIN_PASSWORD= PLEROMA_DIR=/etc/pleroma PLEROMA_SECRET_KEY="" From 5fc93dfe252f727e5575fab0967290c18ba9dc72 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Tue, 9 Jan 2018 15:05:23 +0000 Subject: [PATCH 05/10] Try another pleroma commit, before Agent is added to chat_channel.ex --- src/freedombone-app-pleroma | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/freedombone-app-pleroma b/src/freedombone-app-pleroma index 26df8197..515c3ea9 100755 --- a/src/freedombone-app-pleroma +++ b/src/freedombone-app-pleroma @@ -39,7 +39,7 @@ PLEROMA_CODE= PLEROMA_PORT=4000 PLEROMA_ONION_PORT=8011 PLEROMA_REPO="https://git.pleroma.social/pleroma/pleroma.git" -PLEROMA_COMMIT='964e2dd2f055207ac8fa7f8b3612e50860a0472a' +PLEROMA_COMMIT='c1fa1e8844c8eae1ad7638a2d7f9d00e8cd07ce8' PLEROMA_ADMIN_PASSWORD= PLEROMA_DIR=/etc/pleroma PLEROMA_SECRET_KEY="" From 0982180705567a0f7f65154483e539c72bbe2398 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Tue, 9 Jan 2018 18:19:28 +0000 Subject: [PATCH 06/10] Move pleroma to production config --- src/freedombone-app-pleroma | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/freedombone-app-pleroma b/src/freedombone-app-pleroma index 515c3ea9..e3f54291 100755 --- a/src/freedombone-app-pleroma +++ b/src/freedombone-app-pleroma @@ -227,11 +227,12 @@ function pleroma_create_database { echo $"Missing directory $PLEROMA_DIR/config" exit 7835393 fi - pleroma_secret=$PLEROMA_DIR/config/dev.secret.exs + pleroma_secret=$PLEROMA_DIR/config/prod.secret.exs if [ ! -f $PLEROMA_DIR/config/dev.exs ]; then echo $"Did not find $PLEROMA_DIR/config/dev.exs" exit 78923528 fi + cp $PLEROMA_DIR/config/dev.exs $pleroma_secret sed -i "s|username:.*|username: \"pleroma\",|g" $pleroma_secret sed -i "s|password:.*|password: \"$PLEROMA_ADMIN_PASSWORD\",|g" $pleroma_secret @@ -272,13 +273,20 @@ function pleroma_create_database { echo $'mix ecto.create failed' exit 83653582 fi - sudo -u pleroma mix ecto.migrate --force + sudo -u pleroma MIX_ENV=prod mix ecto.migrate --force if [ ! "$?" = "0" ]; then run_system_query_postgresql "ALTER USER pleroma NOSUPERUSER;" run_system_query_postgresql "ALTER USER pleroma NOCREATEDB;" echo $'mix ecto.migrate failed' exit 73752573 fi + sudo -u pleroma MIX_ENV=prod mix phx.digest --force + if [ ! "$?" = "0" ]; then + run_system_query_postgresql "ALTER USER pleroma NOSUPERUSER;" + run_system_query_postgresql "ALTER USER pleroma NOCREATEDB;" + echo $'mix phx.digest failed' + exit 783529235 + fi # revoke the ability to create databases for this user run_system_query_postgresql "ALTER USER pleroma NOSUPERUSER;" @@ -878,7 +886,7 @@ function install_pleroma { # We need to set up the url option again because it somehow gets # lost during mix compile - pleroma_secret=$PLEROMA_DIR/config/dev.secret.exs + pleroma_secret=$PLEROMA_DIR/config/prod.secret.exs if ! grep -q 'watchers: [],' $pleroma_secret; then sed -i 's|watchers: []|watchers: [],|g' $pleroma_secret fi @@ -899,6 +907,7 @@ function install_pleroma { echo 'User=pleroma' >> /etc/systemd/system/pleroma.service echo "WorkingDirectory=$PLEROMA_DIR" >> /etc/systemd/system/pleroma.service echo "Environment=\"HOME=$PLEROMA_DIR\"" >> /etc/systemd/system/pleroma.service + echo "Environment=\"MIX_ENV=prod\"" >> /etc/systemd/system/pleroma.service echo 'ExecStart=/usr/local/bin/mix phx.server' >> /etc/systemd/system/pleroma.service echo 'ExecReload=/bin/kill $MAINPID' >> /etc/systemd/system/pleroma.service echo 'KillMode=process' >> /etc/systemd/system/pleroma.service From 1d7888894f04e77af13d9e8768b011d89308ac2c Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Tue, 9 Jan 2018 19:03:49 +0000 Subject: [PATCH 07/10] Revert "Move pleroma to production config" This reverts commit 0982180705567a0f7f65154483e539c72bbe2398. --- src/freedombone-app-pleroma | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/src/freedombone-app-pleroma b/src/freedombone-app-pleroma index e3f54291..515c3ea9 100755 --- a/src/freedombone-app-pleroma +++ b/src/freedombone-app-pleroma @@ -227,12 +227,11 @@ function pleroma_create_database { echo $"Missing directory $PLEROMA_DIR/config" exit 7835393 fi - pleroma_secret=$PLEROMA_DIR/config/prod.secret.exs + pleroma_secret=$PLEROMA_DIR/config/dev.secret.exs if [ ! -f $PLEROMA_DIR/config/dev.exs ]; then echo $"Did not find $PLEROMA_DIR/config/dev.exs" exit 78923528 fi - cp $PLEROMA_DIR/config/dev.exs $pleroma_secret sed -i "s|username:.*|username: \"pleroma\",|g" $pleroma_secret sed -i "s|password:.*|password: \"$PLEROMA_ADMIN_PASSWORD\",|g" $pleroma_secret @@ -273,20 +272,13 @@ function pleroma_create_database { echo $'mix ecto.create failed' exit 83653582 fi - sudo -u pleroma MIX_ENV=prod mix ecto.migrate --force + sudo -u pleroma mix ecto.migrate --force if [ ! "$?" = "0" ]; then run_system_query_postgresql "ALTER USER pleroma NOSUPERUSER;" run_system_query_postgresql "ALTER USER pleroma NOCREATEDB;" echo $'mix ecto.migrate failed' exit 73752573 fi - sudo -u pleroma MIX_ENV=prod mix phx.digest --force - if [ ! "$?" = "0" ]; then - run_system_query_postgresql "ALTER USER pleroma NOSUPERUSER;" - run_system_query_postgresql "ALTER USER pleroma NOCREATEDB;" - echo $'mix phx.digest failed' - exit 783529235 - fi # revoke the ability to create databases for this user run_system_query_postgresql "ALTER USER pleroma NOSUPERUSER;" @@ -886,7 +878,7 @@ function install_pleroma { # We need to set up the url option again because it somehow gets # lost during mix compile - pleroma_secret=$PLEROMA_DIR/config/prod.secret.exs + pleroma_secret=$PLEROMA_DIR/config/dev.secret.exs if ! grep -q 'watchers: [],' $pleroma_secret; then sed -i 's|watchers: []|watchers: [],|g' $pleroma_secret fi @@ -907,7 +899,6 @@ function install_pleroma { echo 'User=pleroma' >> /etc/systemd/system/pleroma.service echo "WorkingDirectory=$PLEROMA_DIR" >> /etc/systemd/system/pleroma.service echo "Environment=\"HOME=$PLEROMA_DIR\"" >> /etc/systemd/system/pleroma.service - echo "Environment=\"MIX_ENV=prod\"" >> /etc/systemd/system/pleroma.service echo 'ExecStart=/usr/local/bin/mix phx.server' >> /etc/systemd/system/pleroma.service echo 'ExecReload=/bin/kill $MAINPID' >> /etc/systemd/system/pleroma.service echo 'KillMode=process' >> /etc/systemd/system/pleroma.service From ef2a5ca038f5b0c60dcde5768884c2527891b6f7 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Tue, 9 Jan 2018 19:34:14 +0000 Subject: [PATCH 08/10] Comment out import --- src/freedombone-app-pleroma | 1 + 1 file changed, 1 insertion(+) diff --git a/src/freedombone-app-pleroma b/src/freedombone-app-pleroma index 515c3ea9..a3d69092 100755 --- a/src/freedombone-app-pleroma +++ b/src/freedombone-app-pleroma @@ -252,6 +252,7 @@ function pleroma_create_database { else sed -i 's|pbkdf2_rounds.*|pbkdf2_rounds, 1|g' $pleroma_secret fi + sed -i 's|import_config|# import_config|g' $pleroma_secret cd $PLEROMA_DIR chown -R pleroma:pleroma $PLEROMA_DIR/* From 077a02818ea11bce31f0e6aa25c4a08cbb29eb3d Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Tue, 9 Jan 2018 19:51:20 +0000 Subject: [PATCH 09/10] Tidying --- src/freedombone-app-pleroma | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/freedombone-app-pleroma b/src/freedombone-app-pleroma index a3d69092..b186e82c 100755 --- a/src/freedombone-app-pleroma +++ b/src/freedombone-app-pleroma @@ -188,6 +188,11 @@ function change_password_pleroma { #${PROJECT_NAME}-pass -u "$curr_username" -a pleroma -p "$new_user_password" } +function pleroma_create_database_failed { + run_system_query_postgresql "ALTER USER pleroma NOSUPERUSER;" + run_system_query_postgresql "ALTER USER pleroma NOCREATEDB;" +} + function pleroma_create_database { if [ -f $IMAGE_PASSWORD_FILE ]; then PLEROMA_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)" @@ -215,8 +220,7 @@ function pleroma_create_database { if [ ${#PLEROMA_SECRET_KEY} -lt 64 ]; then PLEROMA_SECRET_KEY="$(create_password 30)$(create_password 30)$(create_password 30)" if [ ${#PLEROMA_SECRET_KEY} -lt 64 ]; then - run_system_query_postgresql "ALTER USER pleroma NOSUPERUSER;" - run_system_query_postgresql "ALTER USER pleroma NOCREATEDB;" + pleroma_create_database_failed echo $'Pleroma secret key not created' exit 6782352 fi @@ -258,8 +262,7 @@ function pleroma_create_database { chown -R pleroma:pleroma $PLEROMA_DIR/* sudo -u pleroma mix local.rebar --force if [ ! "$?" = "0" ]; then - run_system_query_postgresql "ALTER USER pleroma NOSUPERUSER;" - run_system_query_postgresql "ALTER USER pleroma NOCREATEDB;" + pleroma_create_database_failed echo $'mix local.rebar failed' exit 73528562 fi @@ -268,15 +271,13 @@ function pleroma_create_database { systemctl restart postgresql sudo -u pleroma mix ecto.create --force if [ ! "$?" = "0" ]; then - run_system_query_postgresql "ALTER USER pleroma NOSUPERUSER;" - run_system_query_postgresql "ALTER USER pleroma NOCREATEDB;" + pleroma_create_database_failed echo $'mix ecto.create failed' exit 83653582 fi sudo -u pleroma mix ecto.migrate --force if [ ! "$?" = "0" ]; then - run_system_query_postgresql "ALTER USER pleroma NOSUPERUSER;" - run_system_query_postgresql "ALTER USER pleroma NOCREATEDB;" + pleroma_create_database_failed echo $'mix ecto.migrate failed' exit 73752573 fi From 371b5d0f6eefe4d59e87a7fd8b76f399e96e96e9 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Wed, 10 Jan 2018 14:25:22 +0000 Subject: [PATCH 10/10] Deprecate Pleroma backend due to off-site dependency --- doc/EN/apps.org | 4 - src/freedombone-app-pleroma | 12 +- website/EN/apps.html | 248 +++++++++++++++++------------------- 3 files changed, 128 insertions(+), 136 deletions(-) diff --git a/doc/EN/apps.org b/doc/EN/apps.org index 1b971881..013caced 100644 --- a/doc/EN/apps.org +++ b/doc/EN/apps.org @@ -132,10 +132,6 @@ Peer-to-peer video hosting. Similar to Mediagoblin, but the P2P aspect better en The black hole for web adverts. Block adverts at the domain name level within your local network. It can significantly reduce bandwidth, speed up page load times and protect your systems from being tracked by spyware. [[./app_pihole.html][How to use it]] -* Pleroma -Pleroma is an OStatus-compatible social networking server, compatible with GNU Social, PostActiv and Mastodon. It is high-performance and so is especially well suited for running on low power single board computers without much RAM. - -[[./app_pleroma.html][How to use it]] * PostActiv An alternative federated social networking system compatible with GNU Social, Pleroma and Mastodon. It includes some optimisations and fixes currently not available within the main GNU Social project. diff --git a/src/freedombone-app-pleroma b/src/freedombone-app-pleroma index b186e82c..19a919b4 100755 --- a/src/freedombone-app-pleroma +++ b/src/freedombone-app-pleroma @@ -11,10 +11,18 @@ # Pleroma backend application # https://git.pleroma.social/pleroma/pleroma/wikis/Installing-on-Debian-Based-Distributions # +# Show stopper: This is dependent on https://placehold.it for avatar images, +# so at present it's not usable until a first party placeholder image system +# is included. +# +# There is also a possible issue with the chat system which uses an object called +# "Agent" which may not be supported with the version of elixir within the +# Debian package. This only applies if you're installing from the latest commit. +# # License # ======= # -# Copyright (C) 2017 Bob Mottram +# Copyright (C) 2017-2018 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -29,7 +37,7 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -VARIANTS='full full-vim social' +VARIANTS='' IN_DEFAULT_INSTALL=0 SHOW_ON_ABOUT=1 diff --git a/website/EN/apps.html b/website/EN/apps.html index fc4b454a..2183a8ef 100644 --- a/website/EN/apps.html +++ b/website/EN/apps.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + @@ -265,9 +265,9 @@ The base install of the system just contains an email server and Mutt client, bu -
-

Akaunting

-
+
+

Akaunting

+

A web based accounts system for small businesses or freelancers.

@@ -277,9 +277,9 @@ A web based accounts system for small businesses or freelancers.

-
-

CryptPad

-
+
+

CryptPad

+

Collaborate on editing documents, presentations and source code, or vote on things. All with a good level of security.

@@ -289,9 +289,9 @@ Collaborate on editing documents, presentations and source code, or vote on thin

-
-

DLNA

-
+
+

DLNA

+

Enables you to use the system as a music server which any DLNA compatible devices can connect to within your home network.

@@ -301,9 +301,9 @@ Enables you to use the system as a music server which any DLNA compatible device

-
-

Dokuwiki

-
+
+

Dokuwiki

+

A databaseless wiki system.

@@ -313,9 +313,9 @@ A databaseless wiki system.

-
-

Emacs

-
+
+

Emacs

+

If you use the Mutt client to read your email then this will set it up to use emacs for composing new mail.

@@ -325,9 +325,9 @@ If you use the Mutt client to read your email then this will set it up to use em

-
-

Etherpad

-
+
+

Etherpad

+

Collaborate on creating documents in real time. Maybe you're planning a holiday with other family members or creating documentation for a Free Software project along with other volunteers. Etherpad is hard to beat for simplicity and speed. Only users of the system will be able to access it.

@@ -337,9 +337,9 @@ Collaborate on creating documents in real time. Maybe you're planning a holiday

-
-

Federated wiki

-
+
+

Federated wiki

+

A new approach to creating wiki content.

@@ -349,9 +349,9 @@ A new approach to creating wiki content.

-
-

Friendica

-
+
+

Friendica

+

Federated social network system.

@@ -361,9 +361,9 @@ Federated social network system.

-
-

Ghost

-
+
+

Ghost

+

Modern looking blogging system.

@@ -373,9 +373,9 @@ Modern looking blogging system.

-
-

GNU Social

-
+
+

GNU Social

+

Federated social network based on the OStatus protocol. You can "remote follow" other users within the GNU Social federation.

@@ -385,9 +385,9 @@ Federated social network based on the OStatus protocol. You can "remote follo

-
-

Gogs

-
+
+

Gogs

+

Lightweight git project hosting system. You can mirror projects from Github, or if Github turns evil then just host your own projects while retaining the familiar fork-and-pull workflow. If you can use Github then you can also use Gogs.

@@ -397,9 +397,9 @@ Lightweight git project hosting system. You can mirror projects from Github, or

-
-

HTMLy

-
+
+

HTMLy

+

Databaseless blogging system. Quite simple and with a markdown-like format.

@@ -409,9 +409,9 @@ Databaseless blogging system. Quite simple and with a markdown-like format.

-
-

Hubzilla

-
+
+

Hubzilla

+

Web publishing platform with social network like features and good privacy controls so that it's possible to specify who can see which content. Includes photo albums, calendar, wiki and file storage.

@@ -421,9 +421,9 @@ Web publishing platform with social network like features and good privacy contr

-
-

Icecast media stream

-
+
+

Icecast media stream

+

Make your own internet radio station.

@@ -433,9 +433,9 @@ Make your own internet radio station.

-
-

IRC Server (ngirc)

-
+
+

IRC Server (ngirc)

+

Run your own IRC chat channel which can be secured with a password and accessible via an onion address. A bouncer is included so that you can receive messages sent while you were offline. Works with Hexchat and other popular clients.

@@ -445,18 +445,18 @@ Run your own IRC chat channel which can be secured with a password and accessibl

-
-

Jitsi Meet

-
+
+

Jitsi Meet

+

Experimental WebRTC video conferencing system, similar to Google Hangouts. This may not be fully functional, but is hoped to be in the near future.

-
-

KanBoard

-
+
+

KanBoard

+

A simple kanban system for managing projects or TODO lists.

@@ -466,9 +466,9 @@ A simple kanban system for managing projects or TODO lists.

-
-

Key Server

-
+
+

Key Server

+

An OpenPGP key server for storing and retrieving GPG public keys.

@@ -478,9 +478,9 @@ An OpenPGP key server for storing and retrieving GPG public keys.

-
-

Koel

-
+
+

Koel

+

Access your music collection from any internet connected device.

@@ -490,9 +490,9 @@ Access your music collection from any internet connected device.

-
-

Lychee

-
+
+

Lychee

+

Make your photo albums available on the web.

@@ -502,9 +502,9 @@ Make your photo albums available on the web.

-
-

Mailpile

-
+
+

Mailpile

+

Modern email client which supports GPG encryption.

@@ -514,9 +514,9 @@ Modern email client which supports GPG encryption.

-
-

Matrix

-
+
+

Matrix

+

Multi-user chat with some security and moderation controls.

@@ -526,9 +526,9 @@ Multi-user chat with some security and moderation controls.

-
-

Mediagoblin

-
+
+

Mediagoblin

+

Publicly host video and audio files so that you don't need to use YouTube/Vimeo/etc.

@@ -538,9 +538,9 @@ Publicly host video and audio files so that you don't need to use YouTube/Vimeo/

-
-

Mumble

-
+
+

Mumble

+

The popular VoIP and text chat system. Say goodbye to old-fashioned telephony conferences with silly dial codes. Also works well on mobile.

@@ -550,9 +550,9 @@ The popular VoIP and text chat system. Say goodbye to old-fashioned telephony co

-
-

NextCloud

-
+
+

NextCloud

+

Store files on your server and sync them with laptops or mobile devices. Includes many plugins including videoconferencing and collaborative document editing.

@@ -562,9 +562,9 @@ Store files on your server and sync them with laptops or mobile devices. Include

-
-

PeerTube

-
+
+

PeerTube

+

Peer-to-peer video hosting. Similar to Mediagoblin, but the P2P aspect better enables the streaming load to be shared across servers.

@@ -574,9 +574,9 @@ Peer-to-peer video hosting. Similar to Mediagoblin, but the P2P aspect better en

-
-

PI-Hole

-
+
+

PI-Hole

+

The black hole for web adverts. Block adverts at the domain name level within your local network. It can significantly reduce bandwidth, speed up page load times and protect your systems from being tracked by spyware.

@@ -586,21 +586,9 @@ The black hole for web adverts. Block adverts at the domain name level within yo

-
-

Pleroma

-
-

-Pleroma is an OStatus-compatible social networking server, compatible with GNU Social, PostActiv and Mastodon. It is high-performance and so is especially well suited for running on low power single board computers without much RAM. -

- -

-How to use it -

-
-
-
-

PostActiv

-
+
+

PostActiv

+

An alternative federated social networking system compatible with GNU Social, Pleroma and Mastodon. It includes some optimisations and fixes currently not available within the main GNU Social project.

@@ -610,9 +598,9 @@ An alternative federated social networking system compatible with GNU Social, Pl

-
-

Profanity

-
+
+

Profanity

+

A shell based XMPP client which you can run on the Freedombone server via ssh.

@@ -622,9 +610,9 @@ A shell based XMPP client which you can run on the Freedombone server via ssh.

-
-

Riot Web

-
+
+

Riot Web

+

A browser based user interface for the Matrix federated communications system, including WebRTC audio and video chat.

@@ -634,9 +622,9 @@ A browser based user interface for the Matrix federated communications system, i

-
-

SearX

-
+
+

SearX

+

A metasearch engine for customised and private web searches.

@@ -646,9 +634,9 @@ A metasearch engine for customised and private web searches.

-
-

tt-rss

-
+
+

tt-rss

+

Private RSS reader. Pulls in RSS/Atom feeds via Tor and is only accessible via an onion address. Have "the right to read" without the Surveillance State knowing what you're reading. Also available with a user interface suitable for viewing on mobile devices via a browser such as OrFox.

@@ -658,9 +646,9 @@ Private RSS reader. Pulls in RSS/Atom feeds via Tor and is only accessible via a

-
-

Syncthing

-
+
+

Syncthing

+

Possibly the best way to synchronise files across all of your devices. Once it has been set up it "just works" with no user intervention needed.

@@ -670,9 +658,9 @@ Possibly the best way to synchronise files across all of your devices. Once it h

-
-

Tahoe-LAFS

-
+
+

Tahoe-LAFS

+

Robust and encrypted storage of files on one or more server.

@@ -682,9 +670,9 @@ Robust and encrypted storage of files on one or more server.

-
-

Tox

-
+
+

Tox

+

Client and bootstrap node for the Tox chat/VoIP system.

@@ -694,9 +682,9 @@ Client and bootstrap node for the Tox chat/VoIP system.

-
-

Turtl

-
+
+

Turtl

+

A system for privately creating and sharing notes and images, similar to Evernote but without the spying.

@@ -706,18 +694,18 @@ A system for privately creating and sharing notes and images, similar to Evernot

-
-

Vim

-
+
+

Vim

+

If you use the Mutt client to read your email then this will set it up to use vim for composing new mail.

-
-

Virtual Private Network (VPN)

-
+
+

Virtual Private Network (VPN)

+

Set up a VPN on your server so that you can bypass local internet censorship.

@@ -727,9 +715,9 @@ Set up a VPN on your server so that you can bypass local internet censorship.

-
-

XMPP

-
+
+

XMPP

+

Chat server which can be used together with client such as Gajim or Conversations to provide end-to-end content security and also onion routed metadata security. Includes advanced features such as client state notification to save battery power on your mobile devices, support for seamless roaming between networks and message carbons so that you can receive the same messages while being simultaneously logged in to your account on more than one device.