X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=buster%2Fsetup_scripts%2Fsetup_pleroma.sh;h=fc30e1d9fe7a563e158356ca5add568bf5f221a7;hb=e0fdf28d1f0d4320f649acb59d62babddb22888d;hp=22e318ecaa74cadbd9f9f01d5926d18c1a662834;hpb=13fc82e1889a68a8cfb5e70e69b474cab29e2fe2;p=config diff --git a/buster/setup_scripts/setup_pleroma.sh b/buster/setup_scripts/setup_pleroma.sh index 22e318e..fc30e1d 100755 --- a/buster/setup_scripts/setup_pleroma.sh +++ b/buster/setup_scripts/setup_pleroma.sh @@ -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