Bump version 1.0.0, remove warning, delete extraneous install document
This commit is contained in:
parent
1c622c2faa
commit
589a2b4d16
4 changed files with 3 additions and 266 deletions
|
@ -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.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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) <sup>[referral link]</sup> — 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 <your@emailaddress> -d <yourdomain> --standalone
|
||||
```
|
||||
|
||||
Replace `<your@emailaddress>` and `<yourdomain>` 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 <username> <your@emailaddress> --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 <your@emailaddress> -d <yourdomain> --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.
|
|
@ -1,5 +1,5 @@
|
|||
defmodule Soapbox do
|
||||
@version "0.0.99"
|
||||
@version "1.0.0"
|
||||
|
||||
def version, do: @version
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue