home · contact · privacy
Improve info pages / strings for PeerTube and Pleroma.
[config] / buster / setup_scripts / setup_pleroma.sh
index 22e318ecaa74cadbd9f9f01d5926d18c1a662834..fc30e1d9fe7a563e158356ca5add568bf5f221a7 100755 (executable)
@@ -12,11 +12,13 @@ mail="$2"
 # Install dependencies, set up firewall.
 config_tree_prefix="${HOME}/config/buster"
 ./install_for_target.sh pleroma
-./copy_dirtree.sh "${config_tree_prefix}/etc_files" "" pleroma
+./copy_dirtree.sh "${config_tree_prefix}/etc_files" "" web
 nft -f /etc/nftables.conf
 
 # Set up letsencrypt certificate. TODO: Is it auto-renewed?
+ln -sf /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default
 certbot --nginx --agree-tos --redirect --no-eff-email -m "${mail}" -d "${domain}"
+rm /etc/nginx/sites-enabled/default
 
 # Prepare user.
 adduser --system --shell  /bin/false --home /opt/pleroma pleroma
@@ -58,11 +60,25 @@ su pleroma -s $SHELL -lc "./bin/pleroma_ctl instance gen \
 su postgres -s $SHELL -lc "psql -f /tmp/setup_db.psql"
 su pleroma -s $SHELL -lc "./bin/pleroma_ctl migrate"
 
+# Since the OTP release does not support .secret.exs configuration
+# files, we hack our own alternative by simply appending custom
+# configurations to /etc/config.exs.
+cat "${config_tree_prefix}/other_files/append_pleroma_config" >> /etc/pleroma/config.exs
+
+# Single-pixel picture hack for removing Pleroma FE images.
+cp "${config_tree_prefix}/other_files/pixel.png" /var/lib/pleroma/static/
+chown pleroma:nogroup /var/lib/pleroma/static/pixel.png
+
+# Info panel and TOS.
+mkdir -p /var/lib/pleroma/static/instance
+mkdir -p /var/lib/pleroma/static/static
+cp "${config_tree_prefix}/other_files/pleroma_panel.html" /var/lib/pleroma/static/instance/panel.html
+cp "${config_tree_prefix}/other_files/pleroma_terms-of-service.html" /var/lib/pleroma/static/static/terms-of-service.html
+
 # Prepare NGINX config for Pleroma.
 cp /opt/pleroma/installation/pleroma.nginx /etc/nginx/sites-available/pleroma.nginx
 sed -i "s/example\.tld/${domain}/g" /etc/nginx/sites-available/pleroma.nginx
 ln -s /etc/nginx/sites-available/pleroma.nginx /etc/nginx/sites-enabled/pleroma.nginx
-rm /etc/nginx/sites-enabled/default
 
 # Systemd integration.
 cp /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service