Merge branch 'develop' into audit-mix-audit-report
This commit is contained in:
commit
bbc53f0fef
14 changed files with 500 additions and 5 deletions
45
.woodpecker/docs.yaml
Normal file
45
.woodpecker/docs.yaml
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
when:
|
||||
- event: push
|
||||
branch: ${CI_REPO_DEFAULT_BRANCH}
|
||||
path: [ "docs/**" ]
|
||||
- event: tag
|
||||
- event: manual
|
||||
evaluate: 'CI_COMMIT_BRANCH == "stable" || CI_COMMIT_BRANCH == CI_REPO_DEFAULT_BRANCH'
|
||||
|
||||
labels:
|
||||
platform: linux/amd64
|
||||
|
||||
skip_clone: true
|
||||
|
||||
variables:
|
||||
trigger_settings: &trigger_settings
|
||||
deploy: 'docs'
|
||||
last-successful: true
|
||||
token:
|
||||
from_secret: pleroma-ci-woodpecker-token
|
||||
repositories:
|
||||
- pleroma/docs@master
|
||||
docker_image: &docker_image docker.io/woodpeckerci/plugin-trigger:1.1.1
|
||||
|
||||
steps:
|
||||
trigger-deploy-stable:
|
||||
when:
|
||||
- event: tag
|
||||
- event: manual
|
||||
branch: stable
|
||||
image: *docker_image
|
||||
settings:
|
||||
<<: *trigger_settings
|
||||
params:
|
||||
- BRANCH=stable
|
||||
|
||||
trigger-deploy-develop:
|
||||
when:
|
||||
- event: push
|
||||
- event: manual
|
||||
branch: ${CI_REPO_DEFAULT_BRANCH}
|
||||
image: *docker_image
|
||||
settings:
|
||||
<<: *trigger_settings
|
||||
params:
|
||||
- BRANCH=develop
|
||||
103
.woodpecker/spec-build.yaml
Normal file
103
.woodpecker/spec-build.yaml
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
when:
|
||||
- event: push
|
||||
branch: ${CI_REPO_DEFAULT_BRANCH}
|
||||
path:
|
||||
- ".woodpecker/spec-build.yaml"
|
||||
- "mix.exs"
|
||||
- "mix.lock"
|
||||
- "lib/pleroma/web.ex"
|
||||
- "lib/pleroma/web/**/*.ex"
|
||||
- event: tag
|
||||
- event: manual
|
||||
evaluate: 'CI_COMMIT_BRANCH == "stable" || CI_COMMIT_BRANCH == CI_REPO_DEFAULT_BRANCH'
|
||||
|
||||
labels:
|
||||
platform: linux/amd64
|
||||
|
||||
concurrency: 1
|
||||
|
||||
variables:
|
||||
artifacts_uploader_image: &artifacts_uploader_image docker.io/woodpeckercommunity/plugin-gitea-package:0.5.1
|
||||
artifacts_uploader_settings: &artifacts_uploader_settings
|
||||
user:
|
||||
from_secret: pleroma-ci-user
|
||||
password:
|
||||
from_secret: pleroma-ci-password
|
||||
owner: 'pleroma'
|
||||
package_name: api-docs-spec
|
||||
file_source: ./spec.json
|
||||
file_name: spec.json
|
||||
update: 'true'
|
||||
trigger_image: &trigger_image docker.io/woodpeckerci/plugin-trigger:1.1.1
|
||||
trigger_settings: &trigger_settings
|
||||
deploy: 'api-docs'
|
||||
last-successful: true
|
||||
token:
|
||||
from_secret: pleroma-ci-woodpecker-token
|
||||
repositories:
|
||||
- pleroma/api-docs@master
|
||||
|
||||
steps:
|
||||
build-spec:
|
||||
image: docker.io/hexpm/elixir:1.17.3-erlang-27.3.4.17-alpine-3.22.5
|
||||
environment:
|
||||
MIX_ENV: prod
|
||||
VIX_COMPILATION_MODE: PLATFORM_PROVIDED_LIBVIPS
|
||||
commands:
|
||||
- apk update --no-cache
|
||||
- apk add git build-base cmake file-dev openssl vips-dev zip
|
||||
- mix local.hex --force
|
||||
- mix local.rebar --force
|
||||
- mix deps.get --only prod
|
||||
- mix pleroma.openapi_spec spec.json
|
||||
- |
|
||||
printf 'BRANCH=stable\nSPEC_VERSION=%s\n' "$${CI_COMMIT_SHA}" > trigger-deploy-stable.params
|
||||
printf 'BRANCH=develop\nSPEC_VERSION=%s\n' "$${CI_COMMIT_SHA}" > trigger-deploy-develop.params
|
||||
|
||||
upload-spec:
|
||||
image: *artifacts_uploader_image
|
||||
settings:
|
||||
<<: *artifacts_uploader_settings
|
||||
package_version: ${CI_COMMIT_SHA}
|
||||
|
||||
upload-spec-stable:
|
||||
when:
|
||||
- event: tag
|
||||
- event: manual
|
||||
branch: stable
|
||||
image: *artifacts_uploader_image
|
||||
settings:
|
||||
<<: *artifacts_uploader_settings
|
||||
package_version: stable
|
||||
|
||||
upload-spec-develop:
|
||||
when:
|
||||
- event: push
|
||||
- event: manual
|
||||
branch: ${CI_REPO_DEFAULT_BRANCH}
|
||||
image: *artifacts_uploader_image
|
||||
settings:
|
||||
<<: *artifacts_uploader_settings
|
||||
package_version: develop
|
||||
|
||||
trigger-deploy-stable:
|
||||
when:
|
||||
- event: tag
|
||||
- event: manual
|
||||
branch: stable
|
||||
image: *trigger_image
|
||||
settings:
|
||||
<<: *trigger_settings
|
||||
params:
|
||||
- trigger-deploy-stable.params
|
||||
|
||||
trigger-deploy-develop:
|
||||
when:
|
||||
- event: push
|
||||
- event: manual
|
||||
branch: ${CI_REPO_DEFAULT_BRANCH}
|
||||
image: *trigger_image
|
||||
settings:
|
||||
<<: *trigger_settings
|
||||
params:
|
||||
- trigger-deploy-develop.params
|
||||
1
changelog.d/captcha-ver-bump.fix
Normal file
1
changelog.d/captcha-ver-bump.fix
Normal file
|
|
@ -0,0 +1 @@
|
|||
Updated the captcha package to fix compilation failure on BSD-based systems
|
||||
0
changelog.d/fixup-new-elixir-erlang-docs.skip
Normal file
0
changelog.d/fixup-new-elixir-erlang-docs.skip
Normal file
1
changelog.d/installing_newer_elixir_erlang.add
Normal file
1
changelog.d/installing_newer_elixir_erlang.add
Normal file
|
|
@ -0,0 +1 @@
|
|||
Docs: Added documentation for installing newer version of Elixir/Erlang than what distro ships
|
||||
1
changelog.d/openbsd-datasize-bump.change
Normal file
1
changelog.d/openbsd-datasize-bump.change
Normal file
|
|
@ -0,0 +1 @@
|
|||
Docs OpenBSD: Increased recommended `datasize` from 1536M to 4096M to avoid Pleroma crashes
|
||||
0
changelog.d/woodpecker-ci-docs.skip
Normal file
0
changelog.d/woodpecker-ci-docs.skip
Normal file
0
changelog.d/woodpecker-trigger-params.skip
Normal file
0
changelog.d/woodpecker-trigger-params.skip
Normal file
2
docs/installation/erlang_elixir_requirements.include
Normal file
2
docs/installation/erlang_elixir_requirements.include
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
* Elixir >=1.15.0, <1.20
|
||||
* Erlang OTP >=24.0.0 (supported: <29)
|
||||
|
|
@ -1,8 +1,7 @@
|
|||
## Required dependencies
|
||||
|
||||
{! backend/installation/erlang_elixir_requirements.include !}
|
||||
* PostgreSQL >=11.0
|
||||
* Elixir >=1.17.0, <1.20
|
||||
* Erlang OTP >=27.0.0 (supported: <29)
|
||||
* git
|
||||
* file / libmagic
|
||||
* gcc or clang
|
||||
|
|
@ -14,3 +13,7 @@
|
|||
* ImageMagick
|
||||
* FFmpeg
|
||||
* exiftool
|
||||
|
||||
!!!info
|
||||
**Source installs only**
|
||||
If your operating system repositories don't meet the Elixir/Erlang requirements, check [Installing newer versions of Elixir and Erlang](./installing_newer_elixir_erlang.md).
|
||||
|
|
|
|||
333
docs/installation/installing_newer_elixir_erlang.md
Normal file
333
docs/installation/installing_newer_elixir_erlang.md
Normal file
|
|
@ -0,0 +1,333 @@
|
|||
# Installing newer versions of Elixir and Erlang
|
||||
|
||||
This guide is for installing newer versions of Elixir and/or Erlang on your system when installing Pleroma from source and your operating system repositories don't meet the minimum requirements listed below.
|
||||
This guide assumes you are using Debian or Ubuntu.
|
||||
**Using the system repositories is recommended if possible.**
|
||||
**If a newer release of your operating system would meet the requirements, consider upgrading instead.**
|
||||
|
||||
Shell commands prepended with `#` in this page are supposed to be ran with root privileges, commands prepended with `$` are supposed to be ran as the Pleroma user unless noted otherwise.
|
||||
|
||||
!!!warning
|
||||
If you are, or will be, following the source install guide, make sure to switch to the Pleroma user before running any of the `mix` commands using `sudo -Hu pleroma /bin/bash`.
|
||||
Not doing so will result in `command not found` errors.
|
||||
|
||||
!!!info
|
||||
Most of this guide can be used to install Elixir and/or Erlang on operating systems that don't package either one.
|
||||
Installing Pleroma on such systems is largely untested.
|
||||
|
||||
## Requirements
|
||||
|
||||
{! backend/installation/erlang_elixir_requirements.include !}
|
||||
|
||||
## Install methods
|
||||
|
||||
Choose one of the following install methods:
|
||||
|
||||
* User level:
|
||||
* mise (Erlang and Elixir install methods are built-in[^1])
|
||||
* asdf (plugin-based, plugins are shells scripts; builds Erlang from source)
|
||||
* pkgsrc (for advanced users, harder to install and maintain; builds Elixir and Erlang from source)
|
||||
* System-wide:
|
||||
* pkgsrc (for advanced users, harder to install and maintain; builds Elixir and Erlang from source)
|
||||
|
||||
[^1]: On Ubuntu downloads binaries both for Elixir and Erlang. On Debian builds Erlang from source and downloads binaries for Elixir.
|
||||
|
||||
!!!warning
|
||||
**Ignore if using mise on Ubuntu.**
|
||||
You are about to compile Erlang on your server.
|
||||
If you are planning to run Pleroma on a VPS virtual machine, make sure you have enough disk space and system resources available.
|
||||
At least 2GB of RAM and 8GB of extra free disk space is required to continue in this guide.
|
||||
If your system does not meet these requirements, use [OTP install](./otp_en.md).
|
||||
**This will take a considerable amount of time.**
|
||||
|
||||
!!!warning
|
||||
Before proceeding, stop Pleroma if already running and uninstall both Elixir and Erlang.
|
||||
Keeping Elixir will likely result in a non-functional Elixir install and keeping Erlang can result in various failures to compile Pleroma and its dependencies.
|
||||
|
||||
## mise
|
||||
|
||||
To start, create the Pleroma user according to the [source install guide](./debian_based_en.md#install-pleromabe).
|
||||
|
||||
### Debian-only preparation
|
||||
|
||||
If you are using Ubuntu, skip to the [next section](./installing_newer_elixir_erlang.md#elixirerlang-installation).
|
||||
|
||||
Install dependencies:
|
||||
```
|
||||
# apt install build-essential libssl-dev libncurses-dev git unzip
|
||||
```
|
||||
|
||||
Add Erlang autotools configure options to Pleroma user's shell config (`.bashrc` for bash):
|
||||
```sh
|
||||
export KERL_CONFIGURE_OPTIONS="--without-javac --without-odbc --without-wx --without-ssh"
|
||||
```
|
||||
|
||||
### Elixir/Erlang installation
|
||||
|
||||
Install curl (for the mise installer):
|
||||
```
|
||||
# apt install curl
|
||||
```
|
||||
|
||||
Switch to the Pleroma user using `sudo -Hu pleroma /bin/bash` and follow the install steps from mise documentation and install it for the user Pleroma: [https://mise.jdx.dev/getting-started.html](https://mise.jdx.dev/getting-started.html)
|
||||
|
||||
Add the following to activate mise in the Pleroma user's shell configuration (`.bashrc` for bash):
|
||||
```sh
|
||||
# Modify to match the mise installation location
|
||||
eval "$($HOME/.local/bin/mise activate bash)"
|
||||
```
|
||||
|
||||
Source new profile settings:
|
||||
```sh
|
||||
$ source ~/.bashrc
|
||||
```
|
||||
|
||||
If installing Pleroma, follow the [Pleroma source installation instructions](./debian_based_en.md) up to the point before downloading mix dependencies for Pleroma, ignoring the instructions to download Elixir/Erlang.
|
||||
|
||||
Install Erlang (replace `<version>` with a supported release meeting Pleroma's requirements, OTP 27 is recommended):
|
||||
```sh
|
||||
$ mise install erlang@<version>
|
||||
```
|
||||
|
||||
!!!info
|
||||
To get a list of available versions, use `mise ls-remote <language/tool>`.
|
||||
|
||||
Then run the following in the Pleroma source code repository:
|
||||
```sh
|
||||
$ mise use erlang@<version>
|
||||
```
|
||||
|
||||
Install Elixir (replace `<version>` with a supported release and `<OTP version>` with the mise-installed Erlang/OTP version, Elixir 1.18 is recommended):
|
||||
```sh
|
||||
$ mise install elixir@<version>-otp-<OTP version>
|
||||
```
|
||||
|
||||
Then run the following in the Pleroma source code directory:
|
||||
```sh
|
||||
$ mise use elixir@<Elixir version>
|
||||
```
|
||||
|
||||
If installing Pleroma, continue with the source install guide up to the point of installing the systemd Pleroma service.
|
||||
Don't attempt to start the Pleroma service yet.
|
||||
|
||||
Create a `pleroma.sh` startup script owned by the Pleroma user in Pleroma user's home directory:
|
||||
```sh
|
||||
#!/bin/bash
|
||||
# Modify to match the mise installation location
|
||||
eval "$($HOME/.local/bin/mise activate bash)"
|
||||
|
||||
exec mix phx.server
|
||||
```
|
||||
|
||||
Make the startup script executable:
|
||||
```sh
|
||||
chmod u+x pleroma.sh
|
||||
```
|
||||
|
||||
Override the Pleroma service file to point to the new start up script, run `# systemctl edit pleroma` and add the following:
|
||||
```ini
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=/var/lib/pleroma/pleroma.sh
|
||||
```
|
||||
|
||||
You can now start the Pleroma service.
|
||||
If you are installing Pleroma, continue with creating your first user according to the install guide.
|
||||
|
||||
## asdf
|
||||
|
||||
To start, create the Pleroma user according to the [source install guide](./debian_based_en.md#install-pleromabe) and switch to the user using `sudo -Hu pleroma /bin/bash`.
|
||||
Then follow the install and configure steps from asdf documentation and install it for the user Pleroma: [https://asdf-vm.com/guide/getting-started.html](https://asdf-vm.com/guide/getting-started.html)
|
||||
|
||||
Install dependencies:
|
||||
```
|
||||
# apt install build-essential libssl-dev libncurses-dev git unzip curl
|
||||
```
|
||||
|
||||
Add Erlang autotools configure options to Pleroma user's shell config (`.bashrc` for bash):
|
||||
```sh
|
||||
export KERL_CONFIGURE_OPTIONS="--without-javac --without-odbc --without-wx --without-ssh"
|
||||
```
|
||||
|
||||
Source new profile settings:
|
||||
```sh
|
||||
$ source ~/.bashrc
|
||||
```
|
||||
|
||||
Install the Erlang plugin:
|
||||
```sh
|
||||
$ asdf plugin add erlang https://github.com/asdf-vm/asdf-erlang.git
|
||||
```
|
||||
|
||||
Build and install Erlang (replace `<version>` with a supported release meeting Pleroma's requirements, OTP 27 is recommended):
|
||||
```sh
|
||||
$ asdf install erlang <version>
|
||||
```
|
||||
|
||||
!!!info
|
||||
To get a list of available versions, use `asdf list all <plugin>`.
|
||||
|
||||
Install the Elixir plugin:
|
||||
```sh
|
||||
$ asdf plugin add elixir https://github.com/asdf-vm/asdf-elixir.git
|
||||
```
|
||||
|
||||
Install Elixir (replace `<version>` with a supported release and `<OTP version>` with the asdf-installed Erlang/OTP version, Elixir 1.18 is recommended):
|
||||
```sh
|
||||
$ asdf install elixir <version>-otp-<OTP version>
|
||||
```
|
||||
|
||||
If installing Pleroma, follow the [Pleroma source installation instructions](./debian_based_en.md) up to the point before downloading mix dependencies for Pleroma, ignoring the instructions to download Elixir/Erlang.
|
||||
|
||||
Then run the following in the Pleroma source code directory:
|
||||
```sh
|
||||
$ asdf set erlang <OTP version>
|
||||
$ asdf set elixir <Elixir version>
|
||||
```
|
||||
|
||||
If installing Pleroma, continue with the source install guide up to the point of installing the systemd Pleroma service.
|
||||
Don't attempt to start the Pleroma service yet.
|
||||
|
||||
Create a `pleroma.sh` startup script owned by the Pleroma user in Pleroma user's home directory:
|
||||
```sh
|
||||
#!/bin/sh
|
||||
# Modify to match your .bashrc settings used when installing asdf
|
||||
export ASDF_DATA_DIR="/your/custom/data/dir"
|
||||
export PATH="${ASDF_DATA_DIR:-$HOME/.asdf}/shims:$PATH"
|
||||
|
||||
exec mix phx.server
|
||||
```
|
||||
|
||||
Make the startup script executable:
|
||||
```sh
|
||||
chmod u+x pleroma.sh
|
||||
```
|
||||
|
||||
Override the Pleroma service file to point to the new start up script, run `# systemctl edit pleroma` and add the following:
|
||||
```ini
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=/var/lib/pleroma/pleroma.sh
|
||||
```
|
||||
|
||||
You can now start the Pleroma service.
|
||||
If you are installing Pleroma, continue with creating your first user according to the install guide.
|
||||
|
||||
## pkgsrc
|
||||
|
||||
pkgsrc is NetBSD's portable package building framework also supporting Linux.
|
||||
Its use is discouraged for novice users as it is harder to maintain and keep up-to-date compared to other options in this guide.
|
||||
|
||||
Before installing pkgsrc, choose which install method (tarball or CVS) you want to use.
|
||||
Both update differently and have their caveats, check NetBSD documentation for more info: [https://www.netbsd.org/docs/pkgsrc/getting.html#uptodate](https://www.netbsd.org/docs/pkgsrc/getting.html#uptodate)
|
||||
Using the stable branch is recommended.
|
||||
|
||||
!!!warning
|
||||
For CVS install, `cvs` might not be installed on your system, in which case it can be installed with `# apt install cvs`.
|
||||
|
||||
pkgsrc supports both user-level and system-wide package installation, hence why most commands below don't have a `#`/`$` prepended to them.
|
||||
For user-level installs, use the Pleroma user created in the [source install guide](./debian_based_en.md#install-pleromabe).
|
||||
To start, follow the `quickstart -> install source packages` portion of the guide to acquire pkgsrc: [https://pkgsrc.org](https://pkgsrc.org)
|
||||
|
||||
### Bootstrap
|
||||
|
||||
Install build dependencies for bootstrap:
|
||||
```
|
||||
# apt install build-essential
|
||||
```
|
||||
|
||||
For user-level installation run:
|
||||
```sh
|
||||
$ cd pkgsrc/bootstrap
|
||||
$ ./bootstrap --prefer-pkgsrc yes --unprivileged --make-jobs <number of CPU cores - 1>
|
||||
```
|
||||
|
||||
For system-wide installation run:
|
||||
```
|
||||
# cd pkgsrc/bootstrap
|
||||
# ./bootstrap --prefer-pkgsrc yes --make-jobs <number of CPU cores - 1>
|
||||
```
|
||||
|
||||
!!!info
|
||||
For more bootstrap options, run `./bootstrap --help`
|
||||
|
||||
Add pgksrc packages to `$PATH` in shell configuration (`.bashrc` for bash), default prefix is `$HOME/pkg` for user-level install and `/usr/pkg` for system-wide install:
|
||||
```sh
|
||||
export PATH="$PATH:<prefix for pkgsrc install>/bin"
|
||||
```
|
||||
|
||||
Source new profile settings:
|
||||
```sh
|
||||
source ~/.bashrc
|
||||
```
|
||||
|
||||
!!!info
|
||||
For system-wide installs, both the root user and Pleroma user need to have the `PATH` set accordingly.
|
||||
|
||||
### Package installation
|
||||
|
||||
Erlang:
|
||||
```sh
|
||||
cd pkgsrc/lang/erlang
|
||||
bmake install clean
|
||||
```
|
||||
|
||||
Elixir:
|
||||
```sh
|
||||
cd ../elixir
|
||||
bmake install clean
|
||||
```
|
||||
|
||||
### Pleroma startup script
|
||||
|
||||
If installing Pleroma, first follow the [Pleroma source installation instructions](./debian_based_en.md) up to the point of installing the systemd Pleroma service, ignoring the instruction to install Elixir/Erlang. Don't attempt to start the service yet.
|
||||
|
||||
Create a `pleroma.sh` startup script owned by the Pleroma user in Pleroma user's home directory:
|
||||
```sh
|
||||
#!/bin/sh
|
||||
# Modify to match your .bashrc settings used when bootsrapping pkgsrc
|
||||
export PATH="$PATH:<prefix for pkgsrc install>/bin"
|
||||
|
||||
exec mix phx.server
|
||||
```
|
||||
|
||||
Make the startup script executable:
|
||||
```sh
|
||||
chmod u+x pleroma.sh
|
||||
```
|
||||
|
||||
Override the Pleroma service file to point to the new start up script, run `# systemctl edit pleroma` and add the following:
|
||||
```ini
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=/var/lib/pleroma/pleroma.sh
|
||||
```
|
||||
|
||||
You can now start the Pleroma service.
|
||||
If you are installing Pleroma, continue with creating your first user according to the install guide.
|
||||
|
||||
## Maintenance
|
||||
|
||||
Since Elixir and Erlang is no longer managed by the system package manager after following this guide, it is recommended to periodically check their respective websites/repositories for newer versions with security bug fixes.
|
||||
When updating Elixir, Erlang or both, stop Pleroma before proceeding with the update.
|
||||
|
||||
Pleroma will likely need to be recompiled after the update by running the following command in the Pleroma source code directory as the Pleroma user:
|
||||
```sh
|
||||
MIX_ENV=prod mix compile
|
||||
```
|
||||
|
||||
If Pleroma fails to compile or start after upgrading Elixir/Erlang, run the following as a troubleshooting step in the Pleroma source code directory as the Pleroma user:
|
||||
```sh
|
||||
mix clean
|
||||
mix deps.clean --all
|
||||
mix deps.get
|
||||
MIX_ENV=prod mix compile
|
||||
```
|
||||
|
||||
Then try to start Pleroma again. If that doesn't help, join the Matrix room or IRC channel mentioned below, or make an issue on [git.pleroma.social/pleroma/pleroma](https://git.pleroma.social/pleroma/pleroma/issues/new/choose) explaining the problem.
|
||||
|
||||
## Questions
|
||||
|
||||
Questions about the guide or it didn’t work as it should, ask in [#pleroma:libera.chat](https://matrix.to/#/#pleroma:libera.chat) via Matrix or **#pleroma** on **libera.chat** via IRC.
|
||||
|
||||
<!-- vim ts=4:sw=4 -->
|
||||
|
|
@ -67,13 +67,19 @@ Pleroma will be run by a dedicated \_pleroma user. Before creating it, insert th
|
|||
|
||||
```
|
||||
pleroma:\
|
||||
:datasize=1536M:\
|
||||
:datasize=4096M:\
|
||||
:openfiles-max=4096:\
|
||||
:openfiles-cur=1024:\
|
||||
:setenv=LC_ALL=en_US.UTF-8,VIX_COMPILATION_MODE=PLATFORM_PROVIDED_LIBVIPS,MIX_ENV=prod:\
|
||||
:tc=daemon:
|
||||
```
|
||||
|
||||
Then run:
|
||||
|
||||
```
|
||||
# cap_mkdb /etc/login.conf
|
||||
```
|
||||
|
||||
This creates a "pleroma" login class and sets higher values than default for datasize and openfiles (see [login.conf(5)](https://man.openbsd.org/login.conf)), this is required to avoid having Pleroma crash some time after starting.
|
||||
|
||||
Create the \_pleroma user, assign it the pleroma login class and create its home directory (/home/\_pleroma/):
|
||||
|
|
|
|||
2
mix.exs
2
mix.exs
|
|
@ -200,7 +200,7 @@ defmodule Pleroma.Mixfile do
|
|||
{:concurrent_limiter, "~> 0.1.1"},
|
||||
{:remote_ip, "~> 1.2.0"},
|
||||
{:inet_cidr, "~> 1.0"},
|
||||
{:captcha, "~> 1.0.3", hex: :pleroma_captcha},
|
||||
{:captcha, "~> 1.0.4", hex: :pleroma_captcha},
|
||||
{:restarter, path: "./restarter"},
|
||||
{:majic, "~> 1.2"},
|
||||
{:open_api_spex, "~> 3.22"},
|
||||
|
|
|
|||
2
mix.lock
2
mix.lock
|
|
@ -10,7 +10,7 @@
|
|||
"bunt": {:hex, :bunt, "1.0.0", "081c2c665f086849e6d57900292b3a161727ab40431219529f13c4ddcf3e7a44", [:mix], [], "hexpm", "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"},
|
||||
"cachex": {:hex, :cachex, "3.6.0", "14a1bfbeee060dd9bec25a5b6f4e4691e3670ebda28c8ba2884b12fe30b36bf8", [:mix], [{:eternal, "~> 1.2", [hex: :eternal, repo: "hexpm", optional: false]}, {:jumper, "~> 1.0", [hex: :jumper, repo: "hexpm", optional: false]}, {:sleeplocks, "~> 1.1", [hex: :sleeplocks, repo: "hexpm", optional: false]}, {:unsafe, "~> 1.0", [hex: :unsafe, repo: "hexpm", optional: false]}], "hexpm", "ebf24e373883bc8e0c8d894a63bbe102ae13d918f790121f5cfe6e485cc8e2e2"},
|
||||
"calendar": {:hex, :calendar, "1.0.0", "f52073a708528482ec33d0a171954ca610fe2bd28f1e871f247dc7f1565fa807", [:mix], [{:tzdata, "~> 0.1.201603 or ~> 0.5.20 or ~> 1.0", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm", "990e9581920c82912a5ee50e62ff5ef96da6b15949a2ee4734f935fdef0f0a6f"},
|
||||
"captcha": {:hex, :pleroma_captcha, "1.0.3", "6cc1440e91a092653fe909f028cc4c5d83ea858b1439e3b9a85e446382e2b9a3", [:make, :mix], [], "hexpm", "477f62c1a845a9458c546658223295f958f98136acef89c05beb278b1b6f4a14"},
|
||||
"captcha": {:hex, :pleroma_captcha, "1.0.4", "6e28ef98660981daeb4aee5043551d921b0094ec5bdeb4daf2f01858e14e9d2d", [:make, :mix], [], "hexpm", "aee86d4da3522ef39ba814e6954c4ebe692e72664efcb8fa5819b1335999b577"},
|
||||
"castore": {:hex, :castore, "1.0.22", "a01978e6a5d42fa3a34143630588f92036e7d90e2309ecdd466722d1279a2213", [:mix], [], "hexpm", "c2a4d42723b4affbc1c3e15d8f6df3f7d8f1f627c84de643383634cce58493d5"},
|
||||
"cc_precompiler": {:hex, :cc_precompiler, "0.1.11", "8c844d0b9fb98a3edea067f94f616b3f6b29b959b6b3bf25fee94ffe34364768", [:mix], [{:elixir_make, "~> 0.7", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "3427232caf0835f94680e5bcf082408a70b48ad68a5f5c0b02a3bea9f3a075b9"},
|
||||
"certifi": {:hex, :certifi, "2.17.0", "835748414307e15e05b17d0e518190228ce648b08d569a5cc93a85a40f3e5c9b", [:rebar3], [], "hexpm", "8122798a17f0293c80daada25d0f81c7f4d708c73fef782c7c9b1950e26e4d21"},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue