A set up script for Rebased (Soapbox BE) in Podman
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Paul Wilde 8ec39cb99d added todos.md 3 weeks ago
.gitignore added db backup script 4 weeks ago
00-create-pod.sh added check in 00 to make script_cofngi if not exists 3 weeks ago
10-build-rebased.sh started rebased build - using main dockerfile from soapbox repo 4 weeks ago
20-create-db.sh got config generating 4 weeks ago
30-run-rebased.sh working proto 4 weeks ago
35-gen-config.sh script changes 4 weeks ago
40-install-soapbox.sh started rebased build - using main dockerfile from soapbox repo 4 weeks ago
90-recreate.sh script changes 4 weeks ago
LICENSE first commit for pleroma via podman 9 months ago
README.md changed readme 4 weeks ago
db_backup.sh working proto 4 weeks ago
db_restore.sh working proto 4 weeks ago
rebased-pod.service added service 4 weeks ago
script_config.sh working proto 4 weeks ago
todos.md added todos.md 3 weeks ago

README.md

Rebased

Rebased is a federated social networking platform, compatible with Mastodon, Pleroma, GNU Social, and other ActivityPub implementations. It is free software licensed uner the AGPLv3

It actually consists of two components: a backend, named Rebased, and a user-facing frontend, named Soapbox.

Its main advantages are its lightness and speed.

Rebased

Features

This podman set up is configured using the official Dockerfile at Rebased GitLab and working through each script will allow you to set up your own Rebased server.

Build-time variables

Variables are entered into script_config.sh - (copy script_config_sample.sh), the key variables being PG_USER, PG_PASS, PG_HOST, PG_NAME if you have a database running elsewhere

Installation

Each script is numbered which give the order in which they need to be run - scripts with 5 in the name should only need to be run once.

  • 00-create-pod.sh - this creates a simple pod, in which the other containers will exist. It will also open port 5000 for incoming web access and map the folders in which persistent data will reside.
  • 10-build-rebased.sh - this will clone the current develop git repo and build an image from it. Re-running this script will effectively update the version of Rebased. This may take 10 minutes or so to run as it compiles the software.
  • 20-create-db.sh - this will create a postgres container in which the database will exist
  • 30-run-rebased.sh - this creates the main Rebased container and starts the web server on port 5000 (you'll need a reverse proxy (HAProxy, httpd, nginx, etc.) to publish it). At start up, this will check the database and create the appropriate tables and extensions so things will work.
  • 35-gen-config.sh - YOU SHOULD ONLY NEED TO RUN THIS ONCE. Will generate a generated_config.exs file. Make sure you set the port number correctly (5000, not 4000). Once generated, it should be renamed to prod.secret.exs to make it available at run-time
  • at this point you should re-run 30-run-rebased.sh
  • Now, you're instance should be running on your device at port 5000 - test it and find out.
  • 40-install-soapbox.sh - this installs the Soapbox front end - which is where you will log in and ultimately use the system.

Once the above steps are complete, you're nearly ready to go! The final steps are to

  1. Create your admin user
  2. Configure your reverse proxy

Create your admin user

You'll need to create an admin user so you can log in and configure more users and settings.
Simply run

podman exec rebased-web /opt/pleroma/bin/pleroma_ctl user new <username> <email@address.com> --admin

This will generate the user, set it up as admin, and provide a password reset link. Go to this password reset link to set the new password and you're done!

Configure your reverse proxy

This will differ from device to device - but check some of the configs in the Rebased GitLab Repo for further information.

Congratulations!

If all has gone well, you should be done. Well done. Now get out there and talk to some people!

Final Notes

As with anything, I've only tested this on my systems, I have tried my best to re-run these scripts to ensure all events are covered, but I may have missed some.
If you do have troubles, either create an issue here, or contact me on the Fediverse at @paul@notnull.click and I'll try to help.