Replace README.md
This commit is contained in:
parent
37e1060069
commit
e258678612
163
README.md
163
README.md
|
@ -1,5 +1,162 @@
|
|||
# Service TOOT
|
||||
# Pleroma
|
||||
|
||||
Service de micro-blogging du candidat chaton de Libre en communs.
|
||||
## Serveur
|
||||
- RAM: 4Go
|
||||
- Proc: 4
|
||||
- URL: https://toot.chalec.org
|
||||
|
||||
Responsable: Cyril L. (@echolib)
|
||||
## Instance
|
||||
- Nom: Toot Chalec
|
||||
- Description: Le Fédivers de Chalec. Instance Pleroma avec Soapbox
|
||||
- Activation des comptes par courriel: OUI
|
||||
- Compte automatiquement suivi: admin
|
||||
- Fédérée: OUI
|
||||
- Modérée: OUI
|
||||
- Nom d'utilisateur: 50 caractères maximum
|
||||
- Limite de caractère par message: 600
|
||||
- Limite de caractères des messages distants: 1000
|
||||
- Nom des champs: 100 caractres ; Valeur 200 caractères
|
||||
- Status épinglés: 2 maximum
|
||||
- Sécurité DM : seul le premier mentionné
|
||||
- Biographie utilisateur: 2000 caractères
|
||||
|
||||
## Installation
|
||||
Reprise de la documentation officielle
|
||||
Installation en version OTP
|
||||
```
|
||||
# Dépendances
|
||||
sudo apt install imagemagick \
|
||||
ffmpeg \
|
||||
libimage-exiftool-perl \
|
||||
unzip \
|
||||
libncurses5 \
|
||||
nginx \
|
||||
postgresql \
|
||||
postgresql-contrib \
|
||||
libmagic-dev \
|
||||
certbot \
|
||||
python3-certbot-nginx
|
||||
|
||||
# Création de l'utilisateur Système: pleroma
|
||||
sudo adduser --system --shell /bin/false \
|
||||
--home /opt/pleroma pleroma
|
||||
|
||||
# Selon le serveur
|
||||
export FLAVOUR="amd64"
|
||||
|
||||
# Téléchargement, décompression
|
||||
sudo su pleroma -s $SHELL -lc "
|
||||
curl 'https://git.pleroma.social/api/v4/projects/2/jobs/artifacts/stable/download?job=$FLAVOUR' \
|
||||
-o /tmp/pleroma.zip
|
||||
unzip /tmp/pleroma.zip -d /tmp/
|
||||
"
|
||||
|
||||
# Déplacement de la release
|
||||
sudo su pleroma -s $SHELL -lc "
|
||||
mv /tmp/release/* /opt/pleroma
|
||||
rmdir /tmp/release
|
||||
rm /tmp/pleroma.zip
|
||||
"
|
||||
|
||||
# Création des Dossiers
|
||||
sudo mkdir -p /var/lib/pleroma/{uploads,static}
|
||||
sudo mkdir -p /etc/pleroma
|
||||
sudo chown -R pleroma /var/lib/pleroma
|
||||
sudo chown -R pleroma /etc/pleroma
|
||||
|
||||
# Generateur
|
||||
sudo su pleroma -s $SHELL -lc "./bin/pleroma_ctl instance gen --output /etc/pleroma/config.exs --output-psql /tmp/setup_db.psql"
|
||||
|
||||
## Configuration:
|
||||
What domain will your instance use? (e.g pleroma.soykaf.com) [] toot.chalec.org
|
||||
What is the name of your instance? (e.g. The Corndog Emporium) [toot.chalec.org] Le Fédivers de Chalec.org
|
||||
What is your admin email address? [] contact+toot@chalec.org
|
||||
What email address do you want to use for sending email notifications? [contact+toot@chalec.org]
|
||||
Do you want search engines to index your site? (y/n) [y]
|
||||
Do you want to store the configuration in the database (allows controlling it from admin-fe)? (y/n) [n] y
|
||||
What is the hostname of your database? [localhost]
|
||||
What is the name of your database? [pleroma]
|
||||
What is the user used to connect to your database? [pleroma]
|
||||
What is the password used to connect to your database? [autogenerated] ***
|
||||
Would you like to use RUM indices? [n]
|
||||
What port will the app listen to (leave it if you are using the default setup with nginx)? [4000]
|
||||
What ip will the app listen to (leave it if you are using the default setup with nginx)? [127.0.0.1]
|
||||
What directory should media uploads go in (when using the local uploader)? [/var/lib/pleroma/uploads]
|
||||
What directory should custom public files be read from (custom emojis, frontend bundle overrides, robots.txt, etc.)? [/var/lib/pleroma/static]
|
||||
Do you want to strip location (GPS) data from uploaded images? This requires exiftool, it was detected as installed. (y/n) [y]
|
||||
Do you want to anonymize the filenames of uploads? (y/n) [n] y
|
||||
Do you want to deduplicate uploaded files? (y/n) [n]
|
||||
|
||||
# Creattion de la base de donnée Postgresql
|
||||
sudo su postgres -s $SHELL -lc "psql -f /tmp/setup_db.psql"
|
||||
|
||||
# Creation du schéma de la base de donnée
|
||||
sudo su pleroma -s $SHELL -lc "./bin/pleroma_ctl migrate"
|
||||
|
||||
# Firewall
|
||||
sudo ufw allow 443
|
||||
sudo ufw allow 80
|
||||
sudo ufw allow 4000
|
||||
|
||||
# Nginx
|
||||
# Copy example file
|
||||
sudo cp /opt/pleroma/installation/pleroma.nginx /etc/nginx/sites-available/toot.chalec.org.conf
|
||||
# Change tld values
|
||||
# replace listen 443 ssl http2; with listen 443 ssl proxy_protocol;
|
||||
sudo nano /etc/nginx/sites-available/toot.chalec.org.conf
|
||||
|
||||
# Let's encrypt
|
||||
sudo certbot certonly -d toot.chalec.org
|
||||
|
||||
# Service SystemD
|
||||
# Copy the service into a proper directory
|
||||
sudo cp /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service
|
||||
sudo systemctl start pleroma
|
||||
sudo systemctl enable pleroma
|
||||
|
||||
# Activattion de nginx
|
||||
sudo ln -s /etc/nginx/sites-available/toot.chalec.org.conf /etc/nginx/sites-enabled/toot.chalec.org
|
||||
sudo nginx -t && sudo systemctl restart nginx
|
||||
|
||||
# Creation de l'utilisateur admin
|
||||
cd /opt/pleroma
|
||||
sudo su pleroma -s $SHELL -lc "./bin/pleroma_ctl user new admin contact+toot@chalec.org --admin"
|
||||
|
||||
# Installation du front-end soapbox
|
||||
sudo apt install busybox
|
||||
cd /tmp
|
||||
curl -L https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/v1.3.0/download?job=build-production -o soapbox-fe.zip
|
||||
sudo busybox unzip soapbox-fe.zip -o -d /var/lib/pleroma
|
||||
|
||||
# Optimisation de Postgresql
|
||||
sudo nano /etc/postgresql/13/main/postgresql.conf
|
||||
|
||||
# Values to change according to https://pgtune.leopard.in.ua/
|
||||
# DB Version: 13
|
||||
# OS Type: linux
|
||||
# DB Type: web
|
||||
# Total Memory (RAM): 4 GB
|
||||
# CPUs num: 4
|
||||
# Connections num: 100
|
||||
# Data Storage: ssd
|
||||
|
||||
max_connections = 100
|
||||
shared_buffers = 1GB
|
||||
effective_cache_size = 3GB
|
||||
maintenance_work_mem = 256MB
|
||||
checkpoint_completion_target = 0.9
|
||||
wal_buffers = 16MB
|
||||
default_statistics_target = 100
|
||||
random_page_cost = 1.1
|
||||
effective_io_concurrency = 200
|
||||
work_mem = 5242kB
|
||||
min_wal_size = 1GB
|
||||
max_wal_size = 4GB
|
||||
max_worker_processes = 4
|
||||
max_parallel_workers_per_gather = 2
|
||||
max_parallel_workers = 4
|
||||
max_parallel_maintenance_workers = 2
|
||||
|
||||
# Redémarrage de la base de donnée postgresql
|
||||
sudo systemctl restart postgresql
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue