From 589a2b4d166835d387020b81c1c5982eb128d9de Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Mon, 10 May 2021 17:03:41 -0500 Subject: [PATCH] Bump version 1.0.0, remove warning, delete extraneous install document --- CHANGELOG_soapbox.md | 2 +- README.md | 4 +- docs/installation/ubuntu_en.md | 261 --------------------------------- lib/soapbox.ex | 2 +- 4 files changed, 3 insertions(+), 266 deletions(-) delete mode 100644 docs/installation/ubuntu_en.md diff --git a/CHANGELOG_soapbox.md b/CHANGELOG_soapbox.md index a9f806bf30..7eb3e6d9ac 100644 --- a/CHANGELOG_soapbox.md +++ b/CHANGELOG_soapbox.md @@ -6,7 +6,7 @@ For changes to Pleroma, see `CHANGELOG.md` The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). -## [0.1.0] - unreleased +## [1.0.0] - 2021-05-11 Based on Pleroma 2.3.0-stable. diff --git a/README.md b/README.md index 652fa880f6..5acb193013 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,6 @@ ![Soapbox](https://soapbox.pub/blog/soapbox-fe-v1.2-release/soapbox-fe-1.2-screenshot.png) -> :warning: Not yet ready for production use. - **Soapbox** is a federated social media server with a focus on user experience. It is based on [Pleroma](https://pleroma.social/). @@ -17,7 +15,7 @@ It is designed to spread your message far and wide, while being resilient to dep ## Installation -See [the installation guide](https://gitlab.com/soapbox-pub/soapbox/-/blob/develop/docs/installation/ubuntu_en.md). +See [the installation guide](https://soapbox.pub/install/). ## License diff --git a/docs/installation/ubuntu_en.md b/docs/installation/ubuntu_en.md deleted file mode 100644 index 5b93d92950..0000000000 --- a/docs/installation/ubuntu_en.md +++ /dev/null @@ -1,261 +0,0 @@ -# Installing Soapbox on Ubuntu - -We recommend installing Soapbox on a **dedicated VPS (virtual private server) running Ubuntu 20.04 LTS**. -You should get your VPS up and running before starting this guide. - -Some popular VPS hosting providers include: - -- [DigitalOcean](https://m.do.co/c/84e2ff1e790f) [referral link] — easy to use -- [Hetzner Cloud](https://www.hetzner.com/cloud) — cheap -- [BuyVM](https://buyvm.net/) — supports free speech - -Expect to spend between **$10–15 USD/mo**, depending on the size of your community and how you choose to configure it. - -You should already have a **domain name** from a registrar like [Namecheap](https://www.namecheap.com/) or [Epik](https://www.epik.com/). -Create an `A` record with your registrar pointing to the IP address of your VPS. - -## 1. Shelling in - -Once your VPS is running, you'll need to open a **terminal program** on your computer. -This will allow you to remotely connect to the server so you can run commands and install Soapbox. - -![Screenshot_from_2021-04-28_14.06.37](https://gitlab.com/soapbox-pub/soapbox/uploads/1b4f956398736e2016d6d30b3d9567c6/Screenshot_from_2021-04-28_14.06.37.png) - -Linux and Mac users should have a terminal program pre-installed (it's just called **"Terminal"**), but Windows users may need to install [Cygwin](https://www.cygwin.com/) first. - -Once the terminal is open, connect to your server with the username and IP address provided by your VPS host. -It will likely prompt for a password. - -```sh -ssh root@123.456.789 -``` - -If you see a screen that looks like this, you've succeeded: - -``` -Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-65-generic x86_64) - - * Documentation: https://help.ubuntu.com - * Management: https://landscape.canonical.com - * Support: https://ubuntu.com/advantage - - System information as of Wed Apr 28 18:59:27 UTC 2021 - - System load: 1.86 Processes: 201 - Usage of /: 66.1% of 146.15GB Users logged in: 0 - Memory usage: 29% IPv4 address for ens18: 10.0.0.100 - Swap usage: 4% IPv4 address for ens19: 192.168.1.100 - - * Pure upstream Kubernetes 1.21, smallest, simplest cluster ops! - - https://microk8s.io/ - -79 updates can be installed immediately. -0 of these updates are security updates. -To see these additional updates run: apt list --upgradable - - -Last login: Tue Apr 27 17:28:56 2021 from 98.198.61.119 -root@gleasonator:~# -``` - -## 2. System setup - -Before installing Soapbox, we have to prepare the system. - -### 2.a. Install updates - -Usually a fresh VPS already has outdated software, so run the following commands to update it: - -```shell -sudo apt update -sudo apt upgrade -``` - -When prompted (`[Y/n]`) type `Y` and hit Enter. - -### 2.b. Install system dependencies - -Soapbox relies on some additional system software in order to function. -Install them with the following command: - -```shell -sudo apt install git build-essential postgresql postgresql-contrib cmake libmagic-dev imagemagick ffmpeg libimage-exiftool-perl nginx certbot -``` - -### 2.c. Install Elixir - -Soapbox uses the Elixir programming language (based on Erlang). -Unfortunately the latest version is not included in Ubuntu by default, so we have to add a third-party repository before we can install it. - -To install the Elixir repository, use these commands: - -```shell -wget -P /tmp/ https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb -sudo dpkg -i /tmp/erlang-solutions_2.0_all.deb -``` - -Now we can install Elixir (and Erlang): - -```shell -sudo apt update -sudo apt install elixir erlang-dev erlang-nox -``` - -### 2.d. Create the Pleroma user - -For security reasons, it's best to run Soapbox as a separate user with limited access. - -We'll create this user and call it `pleroma`: - -```shell -sudo useradd -r -s /bin/false -m -d /var/lib/pleroma -U pleroma -``` - -## 3. Install Soapbox - -Finally! It's time to install Soapbox itself. -Let's get things up and running. - -### 3.a. Downloading the source code - -We'll need to create a folder to hold the Soapbox source code, then download it with git: - -```shell -sudo mkdir -p /opt/pleroma -sudo chown -R pleroma:pleroma /opt/pleroma -sudo -Hu pleroma git clone -b stable https://gitlab.com/soapbox-pub/soapbox /opt/pleroma -``` - -### 3.b. Install Elixir dependencies - -First let's enter the Soapbox source code directory: - -```shell -cd /opt/pleroma -``` - -Soapbox depends on third-party Elixir modules which need to be downloaded: - -```shell -sudo -Hu pleroma mix deps.get -``` - -If it asks you to install `Hex`, answer `yes`: - -### 3.c. Generate the configuration - -It's time to preconfigure our instance. -The following command will set up some basics such as your domain name. - -```sh -sudo -Hu pleroma mix pleroma.instance gen -``` - -* Answer with `yes` if it asks you to install `rebar3`. - -* This may take some time, because parts of pleroma get compiled first. - -* After that it will ask you a few questions about your instance and generates a configuration file in `config/generated_config.exs`. - -Check if the configuration looks right. -If so, rename it to `prod.secret.exs`: - -```shell -sudo -Hu pleroma mv config/{generated_config.exs,prod.secret.exs} -``` - -### 3.d. Provision the database - -The previous section also created a file called `config/setup_db.psql`, which you can use to create the database: - -```shell -sudo -Hu postgres psql -f config/setup_db.psql -``` - -Now run the database migration: - -```shell -sudo -Hu pleroma MIX_ENV=prod mix ecto.migrate -``` - -### 3.e. Start Soapbox - -Copy the systemd service and enable it to start Soapbox: - -```shell -sudo cp /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service -sudo systemctl enable --now pleroma.service -``` - -If you've made it this far, congrats! -You're very close to being done. -Your Soapbox server is running, and you just need to make it accessible to the outside world. - -## 4. Getting online - -The last step is to make your server accessible to the outside world. -We'll achieve that by installing Nginx and enabling HTTPS support. - -### 4.a. HTTPS - -We'll use certbot to get an SSL certificate. - -First, shut off Nginx: - -```sh -systemctl stop nginx -``` - -Now you can get the certificate: - -```shell -sudo mkdir -p /var/lib/letsencrypt/ -sudo certbot certonly --email -d --standalone -``` - -Replace `` and `` with real values. - -### 4.b. Nginx - -Copy the example nginx configuration and activate it: - -```shell -sudo cp /opt/pleroma/installation/pleroma.nginx /etc/nginx/sites-available/pleroma.nginx -sudo ln -s /etc/nginx/sites-available/pleroma.nginx /etc/nginx/sites-enabled/pleroma.nginx -``` - -Before starting Nginx again, edit the configuration and change it to your needs (e.g. change servername, change cert paths) - -Enable and start nginx: - -```shell -sudo systemctl enable --now nginx.service -``` - -🎉 Congrats, you're done! -Check your site in a browser and it should be online. - -## 5. Post-installation - -Below are some additional steps you can take after you've finished installation. - -### Create your first user - -If your instance is up and running, you can create your first user with administrative rights with the following task: - -```shell -sudo -Hu pleroma MIX_ENV=prod mix pleroma.user new --admin -``` - -### Renewing SSL - -If you need to renew the certificate in the future, uncomment the relevant location block in the nginx config and run: - -```shell -sudo certbot certonly --email -d --webroot -w /var/lib/letsencrypt/ -``` - -## Questions - -If you have questions or run into trouble, please [create an issue](https://gitlab.com/soapbox-pub/soapbox/-/issues) on the Soapbox GitLab. diff --git a/lib/soapbox.ex b/lib/soapbox.ex index ab7ef4a16c..3bc22e6978 100644 --- a/lib/soapbox.ex +++ b/lib/soapbox.ex @@ -1,5 +1,5 @@ defmodule Soapbox do - @version "0.0.99" + @version "1.0.0" def version, do: @version end