Commit f90a0bce authored by Ilja's avatar Ilja

Initial commit

parents

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

*~
*.sw[op]
This diff is collapsed.
# Pleroma for YunoHost
- [Yunohost project](https://yunohost.org)
- [Pleroma website](https://git.pleroma.social/pleroma/pleroma)
## About Pleroma
Pleroma is an OStatus and Activity Pub-compatible social networking server written in Elixir, compatible with GNU Social and Mastodon. It is high-performance and can run on small devices like a briqueinternet/internet cube.
For clients it supports both the [GNU Social API with Qvitter extensions](https://twitter-api.readthedocs.io/en/latest/index.html) and the [Mastodon client API](https://github.com/tootsuite/documentation/blob/master/Using-the-API/API.md).
Mobile clients that are known to work well:
* Twidere
* Tusky
* Pawoo (Android + iOS)
* Subway Tooter
* Amaroq (iOS)
* Tootdon (Android + iOS)
* Tootle (iOS)
## About this package
I'm using this package as a way to learn to package for yunohost. This package is far from perfect and should not be used on production servers. If you have recommendations, please let me know on the fediverse at @Ilja@mastodon.pirateparty.be
What should work:
* Installation
* Removal
What does not work:
* Backup
* Restore
* upgrade
* Change URL (this is technically impossible at this time due to the nature of federation)
What is not implemented:
* There is no LDAP integration. Users on Pleroma are seperate from the yunohost users
* There is no integration with a mailbox and/or -service. This means that mails won't be sent from the application
* There is no cache for media yet
* Creation of an admin user. Creating on installation failes for some reason
Extra info:
* On installation you'll be able to chose a dedicated domain for Pleroma. You'll also be asked for a username and password for the admin user (creating the admin user still failes tho).
* Pleroma will be listed in the admin-panel under services, so you can stop and start the service there.
* Postgresql will also be listed in the admin-panel
* Registrations are open by default
# See here for more informations
# https://github.com/YunoHost/package_check#syntax-check_process-file
# Move this file from check_process.default to check_process when you have filled it.
;; Test complet
; Manifest
domain="domain.tld" (DOMAIN)
path="/path" (PATH)
admin="john" (USER)
language="fr"
is_public=1 (PUBLIC|public=1|private=0)
password="pass"
port="666" (PORT)
; Checks
pkg_linter=1
setup_sub_dir=1
setup_root=1
setup_nourl=0
setup_private=1
setup_public=1
upgrade=1
backup_restore=1
multi_instance=1
incorrect_path=1
port_already_use=0
change_url=0
;;; Levels
Level 1=auto
Level 2=auto
Level 3=auto
# Level 4:
Level 4=0
# Level 5:
Level 5=auto
Level 6=auto
Level 7=auto
Level 8=0
Level 9=0
Level 10=0
;;; Options
Email=
Notification=none
location / {
add_header 'Access-Control-Allow-Origin' '*';
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:4000$request_uri;
}
location /proxy {
#proxy_cache pleroma_media_cache;
#proxy_cache_lock on;
proxy_pass http://127.0.0.1:4000$request_uri;
}
location /.well-known/ {
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:4000$request_uri;
}
location ^~ /.well-known/acme-challenge/ {
allow all;
root /var/lib/letsencrypt/;
default_type "text/plain";
try_files $uri =404;
}
{
"name": "Pleroma tryout app",
"id": "pleroma",
"packaging_format": 1,
"description": {
"en": "Pleroma package for YunoHost application."
},
"version": "0.0.1",
"url": "",
"license": "free",
"maintainer": {
"name": "Ilja",
"email": "spctrl@spectraltheorem.be",
"url": ""
},
"requirements": {
"yunohost": ">= 3.0.0"
},
"multi_instance": false,
"services": [
"nginx"
],
"arguments": {
"install" : [
{
"name": "domain",
"type": "domain",
"ask": {
"en": "Choose a dedicated domain for your Webapp"
},
"example": "mypleroma.org"
},
{
"name": "instance_name",
"ask": {
"en": "Give a name for your instance. This will be shown on the tab of the browser"
},
"example": "YUNoHost Pleroma?"
},
{
"name": "admin_name",
"ask": {
"en": "Give a username for the admin user that will be created."
},
"example": "admin"
},
{
"name": "admin_password",
"type": "password",
"ask": {
"en": "Set the password for the admin user"
},
"example": "myreallystrongtpassword"
},
{
"name": "admin_mail",
"ask": {
"en": "The mailadress for the admin user. This will be the mailadres for the admin user and will also be visseble for other people on your pleroma instance."
},
"example": "pleroma@mypleroma.org"
}
]
}
}
#!/bin/bash
# ============= FUTURE YUNOHOST HELPER =============
# Delete a file checksum from the app settings
#
# $app should be defined when calling this helper
#
# usage: ynh_remove_file_checksum file
# | arg: file - The file for which the checksum will be deleted
ynh_delete_file_checksum () {
local checksum_setting_name=checksum_${1//[\/ ]/_} # Replace all '/' and ' ' by '_'
ynh_app_setting_delete $app $checksum_setting_name
}
\ No newline at end of file
#!/bin/bash
#=================================================
# GENERIC START
#=================================================
# IMPORT GENERIC HELPERS
#=================================================
if [ ! -e _common.sh ]; then
# Get the _common.sh file if it's not in the current directory
cp ../settings/scripts/_common.sh ./_common.sh
chmod a+rx _common.sh
fi
source _common.sh
source /usr/share/yunohost/helpers
#=================================================
# MANAGE SCRIPT FAILURE
#=================================================
# Exit if an error occurs during the execution of the script
ynh_abort_if_errors
ynh_die "Backup isn't implemented yet"
: <<'COMMENT'
#=================================================
# LOAD SETTINGS
#=================================================
app=$YNH_APP_INSTANCE_NAME
final_path=$(ynh_app_setting_get $app final_path)
domain=$(ynh_app_setting_get $app domain)