guysoft / PleromaPi

RaspberryPi / CustomPiOS distro that run Pleroma out of the box
GNU General Public License v3.0
35 stars 1 forks source link

Issues for beginners #16

Open msdosfx opened 2 years ago

msdosfx commented 2 years ago

It could definitely be argued that someone with as little experience as me shouldn't try to get into self-hosting, particularly with services open to the web. Nonetheless, I am trying and I would like to share my confusion with the documentation from the perspective of a complete novice who has docker, portainer, nextcloud, tailscale, and syncthing running locally on a couple home servers (raspberry pi and Synology). I don't have any previous programming experience and have only learned from following guides online. I appreciate your work and sharing it with the world, so please don't take my issues as being ungrateful of your time and effort.

My machine for PleromaPi: Raspberry Pi 400 4GB + Kingston 500GB SSD with USB sata adapter

  1. The stable PleromaPI build from Unofficial Raspberry Pi Imager wont flash
  2. The nightly build won't properly boot from usb SSD, even if the Pi has USB boot enabled. I was able to get the nightly to flash and boot from an SD card, but I couldn't do the configuration properly.
  3. "Configure your WiFi by editing pleromapi-wpa-supplicant.txt at the root of the flashed card when using it like a flash drive" Do you do need to do this if you are using an ethernet cable?
  4. "Configure the Pleroma settings at /boot/docker-compose/pleroma/environments/pleroma/pleroma.env" Do you do this after inserting the SD into the Pi and doing a "nano" or "vim" edit of the file? Do you edit the file as a flash drive with a text editor? On Mac, text editor doesn't appear to work. Basically, How do you configure the file?
  5. "ADMIN_EMAIL=admin@ops.pleroma.social". what email is this suppose to be set to? can you just set it to a personal email? Do you have to have email set up with your domain?
  6. "NOTIFY_EMAIL=pleroma+admin@ops.pleroma.social " same question
  7. "DOMAIN=pleroma.gnethomelinux.com". Can you just add "pleroma." to the domain that you own, or do you have to create that as a subdomain ahead of time with your domain provider? Can you use a different prefix than "pleroma." VIRTUAL_HOST=pleroma.gnethomelinux.com LETSENCRYPT_HOST=pleroma.gnethomelinux.com
  8. "LETSENCRYPT_EMAIL=guysoft@gmail.com" can this be the same email for the admin
  9. How do you run the script /home/pi/scripts/make_admin_user? what exactly do you type into the terminal to run it?
  10. Precisely how do you change the settings in /boot/docker-compose/pleroma/
  11. what resources, tools, guides do you recommend for getting a domain pointed at your Raspberry Pi's IP? What DDNS do you recommend? What ports on your router need to be opened? Will it work if you point your domain at a VPS and reverse proxy into your home network with Wireguard or Tailscale? Can you use a static IP from Tailscale if you can get your domain ultimately pointed at that?
guysoft commented 2 years ago

Hey @msdosfx , will try answer your questions, there are quit a lot so I hope I get most of them.

I have never tested booting from usb ssd so I would suggest first try to boot normally from an sd and then try a more complicated set up.

  1. What error are you getting? What are you doing exactly?
  2. What are you doing exactly? Here I see people say that you need to first try connecting a usb 2 port. only then the blue usb3 ones, have you tried that? does regular Rpi OS work?: https://www.pragmaticlinux.com/2021/12/directly-boot-your-raspberry-pi-4-from-a-usb-drive/
  3. No
  4. Do it before from an external machine such as Windows Ubuntu or Mac. Because once you boot it will change the settings
  5. This is the email of the admin of the website
  6. This is the email that is set when you send a notification by email
  7. You need to set up a domain, it does not have to be a subdomain, could be an apex domain too. Set it up before with your provider because it would make the lets encrypt https generation work smoothly . You can set any domain you want, pleroma is just an example there. You need a domain because that is how users are identified on the protocol.
  8. Its the email provided for let's encrypt: https://letsencrypt.org/docs/expiration-emails/
  9. Once the pi is loaded open a terminal and type that path, its an executable and will give you instructions
  10. Linux uses text files to set settings, in the folder you have these files: https://git.pleroma.social/guysoft/pleroma-docker-compose/-/tree/master/

You can change environment settings here (this is the actual source code that gets put on the image): /boot/docker-compose/pleroma/environments/pleroma/pleroma.env

  1. I use digital ocean for domain management, I use this script to set the dns update: https://github.com/anaganisk/digitalocean-dynamic-dns-ip