Update Arch Linux install instructions

This commit is contained in:
Norm 2022-07-02 13:03:38 -04:00
parent f455873464
commit 287291c986

View file

@ -4,7 +4,7 @@
## Installation ## Installation
This guide will assume that you have administrative rights, either as root or a user with [sudo permissions](https://wiki.archlinux.org/index.php/Sudo). If you want to run this guide with root, ignore the `sudo` at the beginning of the lines, unless it calls a user like `sudo -Hu pleroma`; in this case, use `su <username> -s $SHELL -c 'command'` instead. This guide will assume that you have administrative rights, either as root or a user with [sudo permissions](https://wiki.archlinux.org/index.php/Sudo). If you want to run this guide with root, ignore the `sudo` at the beginning of the lines, unless it calls a user like `sudo -Hu akkoma`; in this case, use `su <username> -s $SHELL -c 'command'` instead.
### Required packages ### Required packages
@ -70,40 +70,40 @@ sudo pacman -S ffmpeg imagemagick perl-image-exiftool
* Add a new system user for the Akkoma service: * Add a new system user for the Akkoma service:
```shell ```shell
sudo useradd -r -s /bin/false -m -d /var/lib/pleroma -U pleroma sudo useradd -r -s /bin/false -m -d /var/lib/akkoma -U akkoma
``` ```
**Note**: To execute a single command as the Akkoma system user, use `sudo -Hu pleroma command`. You can also switch to a shell by using `sudo -Hu pleroma $SHELL`. If you dont have and want `sudo` on your system, you can use `su` as root user (UID 0) for a single command by using `su -l pleroma -s $SHELL -c 'command'` and `su -l pleroma -s $SHELL` for starting a shell. **Note**: To execute a single command as the Akkoma system user, use `sudo -Hu akkoma command`. You can also switch to a shell by using `sudo -Hu akkoma $SHELL`. If you dont have and want `sudo` on your system, you can use `su` as root user (UID 0) for a single command by using `su -l akkoma -s $SHELL -c 'command'` and `su -l akkoma -s $SHELL` for starting a shell.
* Git clone the AkkomaBE repository and make the Akkoma user the owner of the directory: * Git clone the AkkomaBE repository and make the Akkoma user the owner of the directory:
```shell ```shell
sudo mkdir -p /opt/pleroma sudo mkdir -p /opt/akkoma
sudo chown -R pleroma:pleroma /opt/pleroma sudo chown -R akkoma:akkoma /opt/akkoma
sudo -Hu pleroma git clone -b stable https://git.pleroma.social/pleroma/pleroma /opt/pleroma sudo -Hu akkoma git clone https://akkoma.dev/AkkomaGang/akkoma.git /opt/akkoma
``` ```
* Change to the new directory: * Change to the new directory:
```shell ```shell
cd /opt/pleroma cd /opt/akkoma
``` ```
* Install the dependencies for Akkoma and answer with `yes` if it asks you to install `Hex`: * Install the dependencies for Akkoma and answer with `yes` if it asks you to install `Hex`:
```shell ```shell
sudo -Hu pleroma mix deps.get sudo -Hu akkoma mix deps.get
``` ```
* Generate the configuration: `sudo -Hu pleroma MIX_ENV=prod mix pleroma.instance gen` * Generate the configuration: `sudo -Hu akkoma MIX_ENV=prod mix pleroma.instance gen`
* Answer with `yes` if it asks you to install `rebar3`. * Answer with `yes` if it asks you to install `rebar3`.
* This may take some time, because parts of pleroma get compiled first. * This may take some time, because parts of akkoma 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`. * After that it will ask you a few questions about your instance and generates a configuration file in `config/generated_config.exs`.
* Check the configuration and if all looks right, rename it, so Akkoma will load it (`prod.secret.exs` for productive instance, `dev.secret.exs` for development instances): * Check the configuration and if all looks right, rename it, so Akkoma will load it (`prod.secret.exs` for productive instance, `dev.secret.exs` for development instances):
```shell ```shell
sudo -Hu pleroma mv config/{generated_config.exs,prod.secret.exs} sudo -Hu akkoma mv config/{generated_config.exs,prod.secret.exs}
``` ```
* The previous command creates also the file `config/setup_db.psql`, with which you can create the database: * The previous command creates also the file `config/setup_db.psql`, with which you can create the database:
@ -115,13 +115,13 @@ sudo -Hu postgres psql -f config/setup_db.psql
* Now run the database migration: * Now run the database migration:
```shell ```shell
sudo -Hu pleroma MIX_ENV=prod mix ecto.migrate sudo -Hu akkoma MIX_ENV=prod mix ecto.migrate
``` ```
* Now you can start Akkoma already * Now you can start Akkoma already
```shell ```shell
sudo -Hu pleroma MIX_ENV=prod mix phx.server sudo -Hu akkoma MIX_ENV=prod mix phx.server
``` ```
### Finalize installation ### Finalize installation
@ -168,8 +168,8 @@ If that doesnt work, make sure, that nginx is not already running. If it stil
* Copy the example nginx configuration and activate it: * Copy the example nginx configuration and activate it:
```shell ```shell
sudo cp /opt/pleroma/installation/pleroma.nginx /etc/nginx/sites-available/pleroma.nginx sudo cp /opt/akkoma/installation/akkoma.nginx /etc/nginx/sites-available/akkoma.nginx
sudo ln -s /etc/nginx/sites-available/pleroma.nginx /etc/nginx/sites-enabled/pleroma.nginx sudo ln -s /etc/nginx/sites-available/akkoma.nginx /etc/nginx/sites-enabled/akkoma.nginx
``` ```
* Before starting nginx edit the configuration and change it to your needs (e.g. change servername, change cert paths) * Before starting nginx edit the configuration and change it to your needs (e.g. change servername, change cert paths)
@ -187,21 +187,21 @@ sudo certbot certonly --email <your@emailaddress> -d <yourdomain> --webroot -w /
#### Other webserver/proxies #### Other webserver/proxies
You can find example configurations for them in `/opt/pleroma/installation/`. You can find example configurations for them in `/opt/akkoma/installation/`.
#### Systemd service #### Systemd service
* Copy example service file * Copy example service file
```shell ```shell
sudo cp /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service sudo cp /opt/akkoma/installation/akkoma.service /etc/systemd/system/akkoma.service
``` ```
* Edit the service file and make sure that all paths fit your installation * Edit the service file and make sure that all paths fit your installation
* Enable and start `pleroma.service`: * Enable and start `akkoma.service`:
```shell ```shell
sudo systemctl enable --now pleroma.service sudo systemctl enable --now akkoma.service
``` ```
#### Create your first user #### Create your first user
@ -209,7 +209,7 @@ sudo systemctl enable --now pleroma.service
If your instance is up and running, you can create your first user with administrative rights with the following task: If your instance is up and running, you can create your first user with administrative rights with the following task:
```shell ```shell
sudo -Hu pleroma MIX_ENV=prod mix pleroma.user new <username> <your@emailaddress> --admin sudo -Hu akkoma MIX_ENV=prod mix pleroma.user new <username> <your@emailaddress> --admin
``` ```
#### Further reading #### Further reading