mirror of
https://tangled.org/tranquil.farm/tranquil-pds
synced 2026-09-25 03:34:13 +00:00
88 lines
2.5 KiB
Markdown
88 lines
2.5 KiB
Markdown
# Tranquil PDS production deployment on Alpine Linux
|
|
|
|
This guide covers installing Tranquil PDS on Alpine Linux with OpenRC via the upstream package.
|
|
|
|
## Prerequisites
|
|
|
|
- A server :p
|
|
- Disk space for blobs, around* 1GB per active user as a baseline
|
|
- A domain name pointing to your server's IP
|
|
- A **wildcard TLS certificate** for `*.pds.example.com`, since user handles are served as subdomains
|
|
|
|
> 🦪 Lewis**
|
|
>
|
|
> * "around" here meaning "at absolute least!"
|
|
>
|
|
> > 🍂 June
|
|
> >
|
|
> > ** hi Lewis !
|
|
|
|
## Installation
|
|
|
|
First, ensure you have the [testing repository](https://wiki.alpinelinux.org/wiki/Repositories#Using_testing_repository) enabled in your `/etc/apk/repositories`, with:
|
|
```
|
|
@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing
|
|
```
|
|
|
|
> 🍂 June
|
|
>
|
|
> There's a MR open to move the package to the community repository ([!108614](https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/108614))
|
|
|
|
Install the upstream package with:
|
|
```sh
|
|
apk add tranquil-pds@testing
|
|
```
|
|
|
|
This, by default, will:
|
|
- Install the server binary, as well as the frontend, default config, and OpenRC service files;
|
|
- Create and configure the `tranquil-pds` system user.
|
|
|
|
## Database Configuration
|
|
|
|
PostgreSQL is not a direct package dependency, so it needs to be installed and configured separately.
|
|
Install and start it with:
|
|
```sh
|
|
apk add postgresql
|
|
grep 'port=' /etc/conf.d/postgresql # check/configure the port
|
|
/etc/init.d/postgresql start
|
|
```
|
|
|
|
Create the PDS role and database (as the `postgres` user) with:
|
|
```sh
|
|
psql \
|
|
-c 'CREATE ROLE "tranquil-pds" WITH LOGIN;' \
|
|
-c 'CREATE DATABASE "tranquil-pds" OWNER "tranquil-pds";'
|
|
```
|
|
|
|
Set the following options in your config file (`/etc/tranquil-pds/config.toml`):
|
|
```toml
|
|
[server]
|
|
hostname = "pds.example.com"
|
|
|
|
[database]
|
|
url = "postgresql:///tranquil-pds?host=/run/postgresql"
|
|
|
|
[storage]
|
|
repo_backend = "postgres"
|
|
|
|
# as well as other required options in [secrets]
|
|
```
|
|
|
|
## Server Configuration
|
|
|
|
Optionally review the service options in `/etc/conf.d/tranquil-pds`.
|
|
|
|
Start the service with:
|
|
```sh
|
|
/etc/init.d/tranquil-pds start
|
|
```
|
|
|
|
The logs will be saved to `/var/log/tranquil-pds.log`.
|
|
|
|
## Reverse Proxy Configuration
|
|
|
|
You will probably also want to run a reverse proxy like [Nginx](https://wiki.alpinelinux.org/wiki/Nginx) or [Caddy](https://wiki.alpinelinux.org/wiki/Caddy).
|
|
Refer to their respective Alpine Wiki pages for instructions.
|
|
|
|
An example Nginx configuration for Tranquil can be found in [nginx.conf](https://tangled.org/tranquil.farm/tranquil-pds/blob/main/nginx.conf).
|