mirror of
https://github.com/YunoHost-Apps/pleroma_ynh.git
synced 2024-09-03 20:15:59 +02:00
commit
566d052e09
11 changed files with 91 additions and 36 deletions
|
@ -25,7 +25,7 @@ For user friendly details about Pleroma: [see here](https://blog.soykaf.com/post
|
|||
- Tootdon (Android + iOS)
|
||||
- Tootle (iOS)
|
||||
|
||||
**Shipped version:** 0.9.9
|
||||
**Shipped version:** 0.9.999
|
||||
|
||||
## Important points to read before installing
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ use Mix.Config
|
|||
config :pleroma, Pleroma.Web.Endpoint,
|
||||
url: [host: "__DOMAIN__", scheme: "https", port: 443],
|
||||
secret_key_base: "__KEY__",
|
||||
http: [port: __PORT__]
|
||||
http: [ip: {127, 0, 0, 1}, port: __PORT__]
|
||||
|
||||
config :pleroma, :instance,
|
||||
name: "__INSTANCE_NAME__",
|
||||
|
|
|
@ -1,6 +1,16 @@
|
|||
location /proxy {
|
||||
rewrite ^/proxy/(.*)/(.*)/.* /proxy/$1/$2 last;
|
||||
|
||||
location ~ ^/(media|proxy) {
|
||||
proxy_cache {APP}_media_cache;
|
||||
proxy_cache_key $host$uri$is_args$args;
|
||||
proxy_http_version 1.1;
|
||||
proxy_cache_valid 200 206 301 304 1h;
|
||||
proxy_cache_lock on;
|
||||
proxy_ignore_client_abort on;
|
||||
proxy_buffering on;
|
||||
chunked_transfer_encoding on;
|
||||
proxy_ignore_headers Cache-Control;
|
||||
proxy_hide_header Cache-Control;
|
||||
|
||||
proxy_pass http://localhost:__PORT__;
|
||||
}
|
||||
|
|
|
@ -4,6 +4,17 @@
|
|||
if ($scheme = http) {
|
||||
rewrite ^ https://$server_name$request_uri? permanent;
|
||||
}
|
||||
|
||||
# Standard nginx configuration
|
||||
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://localhost:__PORT__;
|
||||
|
||||
client_max_body_size 16m;
|
||||
|
||||
add_header 'Access-Control-Allow-Origin' '*' always;
|
||||
add_header 'Access-Control-Allow-Methods' 'POST, PUT, DELETE, GET, PATCH, OPTIONS' always;
|
||||
add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type, Idempotency-Key' always;
|
||||
|
@ -19,17 +30,12 @@
|
|||
add_header X-Content-Type-Options "nosniff" always;
|
||||
add_header Referrer-Policy "same-origin" always;
|
||||
add_header X-Download-Options "noopen" always;
|
||||
add_header Content-Security-Policy "default-src 'none'; base-uri 'self'; form-action *; frame-ancestors 'none'; img-src 'self' data: https:; media-src 'self' https:; style-src 'self' 'unsafe-inline'; font-src 'self'; script-src 'self'; connect-src 'self' wss://__DOMAIN__; upgrade-insecure-requests;" always;
|
||||
#add_header Content-Security-Policy "default-src 'none'; base-uri 'self'; form-action *; frame-ancestors 'none'; img-src 'self' data: https:; media-src 'self' https:; style-src 'self' 'unsafe-inline'; font-src 'self'; script-src 'self'; connect-src 'self' wss://__DOMAIN__; upgrade-insecure-requests;" always;
|
||||
|
||||
# Uncomment this only after you get HTTPS working.
|
||||
# add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
|
||||
|
||||
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://localhost:__PORT__;
|
||||
|
||||
client_max_body_size 16m;
|
||||
# Include SSOWAT user panel.
|
||||
include conf.d/yunohost_panel.conf.inc;
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"en": "Pleroma is an OStatus-compatible social networking server written in Elixir, compatible with GNU Social and Mastodon",
|
||||
"fr": "Pleroma est un réseau social écrit en Elixir, compatible avec OStatus, GNU Social et Mastodon"
|
||||
},
|
||||
"version": "0.9.9~ynh2",
|
||||
"version": "0.9.999~ynh3",
|
||||
"url": "https://git.pleroma.social/pleroma/pleroma",
|
||||
"license": "AGPL-3.0-only",
|
||||
"maintainer": {
|
||||
|
|
23
pull_request_template.md
Normal file
23
pull_request_template.md
Normal file
|
@ -0,0 +1,23 @@
|
|||
## Problem
|
||||
- *Description of why you made this PR*
|
||||
|
||||
## Solution
|
||||
- *And how do you fix that problem*
|
||||
|
||||
## PR Status
|
||||
- [ ] Code finished.
|
||||
- [ ] Tested with Package_check.
|
||||
- [ ] Fix or enhancement tested.
|
||||
- [ ] Upgrade from last version tested.
|
||||
- [ ] Can be reviewed and tested.
|
||||
|
||||
## Validation
|
||||
---
|
||||
- [ ] **Code review**
|
||||
- [ ] **Approval (LGTM)**
|
||||
*Code review and approval have to be from a member of @YunoHost/apps group*
|
||||
- **CI succeeded** :
|
||||
[](https://ci-apps-hq.yunohost.org/jenkins/job/pleroma_ynh%20-BRANCH-/)
|
||||
*Please replace '-BRANCH-' in this link by the name of the branch used.*
|
||||
*If the PR is from a forked repository. Please provide public results from package_check.*
|
||||
When the PR is marked as ready to merge, you have to wait for 3 days before really merging it.
|
|
@ -1,5 +1,12 @@
|
|||
#!/bin/bash
|
||||
|
||||
#=================================================
|
||||
# COMMON VARIABLES
|
||||
#=================================================
|
||||
|
||||
# dependencies used by the app
|
||||
pkg_dependencies="git build-essential postgresql postgresql-contrib elixir erlang-dev erlang-tools erlang-parsetools erlang-eldap erlang-xmerl openssl ssh sudo"
|
||||
|
||||
#=================================================
|
||||
# PERSONAL HELPERS
|
||||
#=================================================
|
||||
|
|
|
@ -107,18 +107,19 @@ port=$(ynh_find_port 8095)
|
|||
ynh_app_setting_set $app port $port
|
||||
|
||||
#=================================================
|
||||
# INSTALL ERLANG and ELIXIR
|
||||
# INSTALL ERLANG AND ELIXIR
|
||||
#=================================================
|
||||
ynh_print_info "Installing erlang and elixir ..."
|
||||
|
||||
if [ "$(lsb_release --codename --short)" == "jessie" ]; then
|
||||
sudo apt install -y ../conf/esl-erlang_21.2.6-1~debian~jessie_amd64.deb
|
||||
sudo apt install -y ../conf/elixir_1.8.1-2~debian~jessie_amd64.deb
|
||||
echo "deb http://packages.erlang-solutions.com/debian jessie contrib" | tee /etc/apt/sources.list.d/erlang-solutions.list
|
||||
elif
|
||||
[ "$(lsb_release --codename --short)" == "stretch" ]; then
|
||||
sudo apt install -y ../conf/esl-erlang_21.2.6-1~debian~stretch_amd64.deb
|
||||
sudo apt install -y ../conf/elixir_1.8.1-2~debian~stretch_amd64.deb
|
||||
echo "deb http://packages.erlang-solutions.com/debian stretch contrib" | tee /etc/apt/sources.list.d/erlang-solutions.list
|
||||
fi
|
||||
sudo wget https://packages.erlang-solutions.com/debian/erlang_solutions.asc
|
||||
sudo apt-key add erlang_solutions.asc
|
||||
sudo rm erlang_solutions.asc
|
||||
|
||||
#=================================================
|
||||
# INSTALL DEPENDENCIES
|
||||
|
@ -132,7 +133,7 @@ ynh_print_info "Installing dependencies ..."
|
|||
### - As well as the section "REINSTALL DEPENDENCIES" in the restore script
|
||||
### - And the section "UPGRADE DEPENDENCIES" in the upgrade script
|
||||
|
||||
ynh_install_app_dependencies git build-essential openssl ssh sudo postgresql postgresql-contrib elixir erlang-dev erlang-parsetools erlang-xmerl erlang-tools
|
||||
ynh_install_app_dependencies $pkg_dependencies
|
||||
|
||||
#=================================================
|
||||
# CREATE A POSTGRESQL DATABASE
|
||||
|
@ -152,8 +153,7 @@ ynh_app_setting_set $app db_name $db_name
|
|||
ynh_app_setting_set "$app" db_pwd "$db_pwd"
|
||||
ynh_psql_test_if_first_run
|
||||
ynh_psql_create_user "$app" "$db_pwd"
|
||||
ynh_psql_execute_as_root \
|
||||
"CREATE DATABASE $db_name ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0 OWNER $db_name;"
|
||||
ynh_psql_execute_as_root "CREATE DATABASE $db_name ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0 OWNER $db_name;"
|
||||
ynh_psql_execute_as_root "\connect $db_name
|
||||
CREATE EXTENSION IF NOT EXISTS unaccent;"
|
||||
ynh_psql_execute_as_root "\connect $db_name
|
||||
|
|
|
@ -74,8 +74,8 @@ ynh_remove_app_dependencies
|
|||
#=================================================
|
||||
ynh_print_info "Removing erlang and elixir..."
|
||||
|
||||
sudo apt remove -y esl-erlang
|
||||
sudo apt remove -y elixir
|
||||
ynh_secure_remove "/etc/apt/sources.list.d/erlang-solutions.list"
|
||||
apt-key del A14F4FCA
|
||||
|
||||
#=================================================
|
||||
# REMOVE APP MAIN DIR
|
||||
|
|
|
@ -90,18 +90,19 @@ chown -R "$app":"$app" "$final_path"
|
|||
#=================================================
|
||||
# SPECIFIC RESTORATION
|
||||
#=================================================
|
||||
# INSTALL ERLANG and ELIXIR
|
||||
# INSTALL ERLANG AND ELIXIR
|
||||
#=================================================
|
||||
ynh_print_info "Installing erlang and elixir ..."
|
||||
|
||||
if [ "$(lsb_release --codename --short)" == "jessie" ]; then
|
||||
sudo apt install -y ../settings/conf/esl-erlang_21.2.6-1~debian~jessie_amd64.deb
|
||||
sudo apt install -y ../settings/conf/elixir_1.8.1-2~debian~jessie_amd64.deb
|
||||
echo "deb http://packages.erlang-solutions.com/debian jessie contrib" | tee /etc/apt/sources.list.d/erlang-solutions.list
|
||||
elif
|
||||
[ "$(lsb_release --codename --short)" == "stretch" ]; then
|
||||
sudo apt install -y ../settings/conf/esl-erlang_21.2.6-1~debian~stretch_amd64.deb
|
||||
sudo apt install -y ../settings/conf/elixir_1.8.1-2~debian~stretch_amd64.deb
|
||||
echo "deb http://packages.erlang-solutions.com/debian stretch contrib" | tee /etc/apt/sources.list.d/erlang-solutions.list
|
||||
fi
|
||||
sudo wget https://packages.erlang-solutions.com/debian/erlang_solutions.asc
|
||||
sudo apt-key add erlang_solutions.asc
|
||||
sudo rm erlang_solutions.asc
|
||||
|
||||
#=================================================
|
||||
# REINSTALL DEPENDENCIES
|
||||
|
@ -109,7 +110,7 @@ fi
|
|||
ynh_print_info "Reinstalling dependencies..."
|
||||
|
||||
# Define and install dependencies
|
||||
ynh_install_app_dependencies git build-essential openssl ssh sudo postgresql postgresql-contrib elixir erlang-dev erlang-parsetools erlang-xmerl erlang-tools
|
||||
ynh_install_app_dependencies $pkg_dependencies
|
||||
|
||||
#=================================================
|
||||
# RESTORE THE POSTGRESQL DATABASE
|
||||
|
@ -118,14 +119,15 @@ ynh_print_info "Restoring the PostgreSQL database..."
|
|||
|
||||
ynh_psql_test_if_first_run
|
||||
ynh_psql_create_user "$app" "$db_pwd"
|
||||
ynh_psql_execute_as_root \
|
||||
"CREATE DATABASE $db_name ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0 OWNER $app;"
|
||||
ynh_psql_execute_as_root "CREATE DATABASE $db_name ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0 OWNER $db_name;"
|
||||
ynh_psql_execute_as_root "\connect $db_name
|
||||
CREATE EXTENSION IF NOT EXISTS unaccent;"
|
||||
ynh_psql_execute_as_root "\connect $db_name
|
||||
CREATE EXTENSION IF NOT EXISTS pg_trgm;"
|
||||
ynh_psql_execute_as_root "\connect $db_name
|
||||
CREATE EXTENSION IF NOT EXISTS citext;"
|
||||
ynh_psql_execute_as_root "\connect $db_name
|
||||
CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\";"
|
||||
ynh_psql_execute_file_as_root ./db.sql "$db_name"
|
||||
|
||||
#=================================================
|
||||
|
|
|
@ -109,6 +109,8 @@ path_url=$(ynh_normalize_url_path $path_url)
|
|||
ynh_print_info "Upgrading source files..."
|
||||
|
||||
# Download, check integrity, uncompress and patch the source from app.src
|
||||
#ynh_setup_source "$final_path"
|
||||
|
||||
git clone --quiet https://git.pleroma.social/pleroma/pleroma "$final_path/upgrade"
|
||||
pushd "$final_path/upgrade"
|
||||
git checkout -b master
|
||||
|
@ -138,18 +140,23 @@ then
|
|||
fi
|
||||
|
||||
#=================================================
|
||||
# INSTALL ERLANG and ELIXIR
|
||||
# INSTALL ERLANG AND ELIXIR
|
||||
#=================================================
|
||||
ynh_print_info "Installing erlang and elixir ..."
|
||||
|
||||
#remove old erlang packages
|
||||
sudo apt remove -y esl-erlang
|
||||
sudo apt remove -y elixir
|
||||
|
||||
if [ "$(lsb_release --codename --short)" == "jessie" ]; then
|
||||
sudo apt install -y ../conf/esl-erlang_21.2.6-1~debian~jessie_amd64.deb
|
||||
sudo apt install -y ../conf/elixir_1.8.1-2~debian~jessie_amd64.deb
|
||||
echo "deb http://packages.erlang-solutions.com/debian jessie contrib" | tee /etc/apt/sources.list.d/erlang-solutions.list
|
||||
elif
|
||||
[ "$(lsb_release --codename --short)" == "stretch" ]; then
|
||||
sudo apt install -y ../conf/esl-erlang_21.2.6-1~debian~stretch_amd64.deb
|
||||
sudo apt install -y ../conf/elixir_1.8.1-2~debian~stretch_amd64.deb
|
||||
echo "deb http://packages.erlang-solutions.com/debian stretch contrib" | tee /etc/apt/sources.list.d/erlang-solutions.list
|
||||
fi
|
||||
sudo wget https://packages.erlang-solutions.com/debian/erlang_solutions.asc
|
||||
sudo apt-key add erlang_solutions.asc
|
||||
sudo rm erlang_solutions.asc
|
||||
|
||||
#=================================================
|
||||
# UPGRADE DEPENDENCIES
|
||||
|
@ -157,7 +164,7 @@ fi
|
|||
ynh_print_info "Upgrading dependencies..."
|
||||
|
||||
# install dependencies
|
||||
ynh_install_app_dependencies git build-essential openssl ssh sudo postgresql postgresql-contrib elixir erlang-dev erlang-parsetools erlang-xmerl erlang-tools
|
||||
ynh_install_app_dependencies $pkg_dependencies
|
||||
|
||||
#=================================================
|
||||
# CREATE DEDICATED USER
|
||||
|
|
Loading…
Add table
Reference in a new issue