Merge branch 'fix/docs-tabs' into 'develop'

Docs: Fix the way tabs are declared

Closes #2045

See merge request pleroma/pleroma!2892
This commit is contained in:
rinpatch 2020-08-15 07:42:10 +00:00
commit ec242b4706
14 changed files with 557 additions and 362 deletions

View File

@ -11,15 +11,18 @@
config :pleroma, configurable_from_database: true
```
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl config migrate_to_db
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.config migrate_to_db
```
## Transfer config from DB to `config/env.exported_from_db.secret.exs`
!!! note
@ -31,10 +34,12 @@ mix pleroma.config migrate_to_db
To delete transfered settings from database optional flag `-d` can be used. `<env>` is `prod` by default.
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl config migrate_from_db [--env=<env>] [-d]
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.config migrate_from_db [--env=<env>] [-d]
```

View File

@ -9,14 +9,19 @@
Replaces embedded objects with references to them in the `objects` table. Only needs to be ran once if the instance was created before Pleroma 1.0.5. The reason why this is not a migration is because it could significantly increase the database size after being ran, however after this `VACUUM FULL` will be able to reclaim about 20% (really depends on what is in the database, your mileage may vary) of the db size before the migration.
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl database remove_embedded_objects [option ...]
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.database remove_embedded_objects [option ...]
```
### Options
- `--vacuum` - run `VACUUM FULL` after the embedded objects are replaced with their references
@ -27,11 +32,15 @@ This will prune remote posts older than 90 days (configurable with [`config :ple
!!! danger
The disk space will only be reclaimed after `VACUUM FULL`. You may run out of disk space during the execution of the task or vacuuming if you don't have about 1/3rds of the database size free.
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl database prune_objects [option ...]
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.database prune_objects [option ...]
```
@ -42,31 +51,43 @@ mix pleroma.database prune_objects [option ...]
Can be safely re-run
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl database bump_all_conversations
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.database bump_all_conversations
```
## Remove duplicated items from following and update followers count for all users
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl database update_users_following_followers_counts
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.database update_users_following_followers_counts
```
## Fix the pre-existing "likes" collections for all objects
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl database fix_likes_collections
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.database fix_likes_collections
```
@ -76,11 +97,15 @@ mix pleroma.database fix_likes_collections
Running an `analyze` vacuum job can improve performance by updating statistics used by the query planner. **It is safe to cancel this.**
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl database vacuum analyze
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.database vacuum analyze
```
@ -91,20 +116,28 @@ and more compact files with an optimized layout. This process will take a long t
it builds the files side-by-side the existing database files. It can make your database faster and use less disk space,
but should only be run if necessary. **It is safe to cancel this.**
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl database vacuum full
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.database vacuum full
```
## Add expiration to all local statuses
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl database ensure_expiration
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.database ensure_expiration
```

View File

@ -4,22 +4,30 @@
## Send digest email since given date (user registration date by default) ignoring user activity status.
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl digest test <nickname> [since_date]
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.digest test <nickname> [since_date]
```
Example:
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl digest test donaldtheduck 2019-05-20
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.digest test donaldtheduck 2019-05-20
```

View File

@ -4,21 +4,29 @@
## Send test email (instance email by default)
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl email test [--to <destination email address>]
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.email test [--to <destination email address>]
```
Example:
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl email test --to root@example.org
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.email test --to root@example.org
```

View File

@ -4,11 +4,13 @@
## Lists emoji packs and metadata specified in the manifest
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl emoji ls-packs [option ...]
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.emoji ls-packs [option ...]
```
@ -18,11 +20,13 @@ mix pleroma.emoji ls-packs [option ...]
## Fetch, verify and install the specified packs from the manifest into `STATIC-DIR/emoji/PACK-NAME`
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl emoji get-packs [option ...] <pack ...>
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.emoji get-packs [option ...] <pack ...>
```
@ -31,11 +35,13 @@ mix pleroma.emoji get-packs [option ...] <pack ...>
## Create a new manifest entry and a file list from the specified remote pack file
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl emoji gen-pack PACK-URL
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.emoji gen-pack PACK-URL
```
@ -47,7 +53,8 @@ Currently, only .zip archives are recognized as remote pack files and packs are
## Reload emoji packs
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl emoji reload
```

View File

@ -3,11 +3,15 @@
{! backend/administration/CLI_tasks/general_cli_task_info.include !}
## Generate a new configuration file
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl instance gen [option ...]
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.instance gen [option ...]
```

View File

@ -7,10 +7,14 @@
Optional params:
* `-s SCOPES` - scopes for app, e.g. `read,write,follow,push`.
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl app create -n APP_NAME -r REDIRECT_URI
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.app create -n APP_NAME -r REDIRECT_URI
```

View File

@ -4,30 +4,42 @@
## Follow a relay
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl relay follow <relay_url>
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.relay follow <relay_url>
```
## Unfollow a remote relay
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl relay unfollow <relay_url>
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.relay unfollow <relay_url>
```
## List relay subscriptions
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl relay list
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.relay list
```

View File

@ -8,10 +8,14 @@ The `robots.txt` that ships by default is permissive. It allows well-behaved sea
If you want to generate a restrictive `robots.txt`, you can run the following mix task. The generated `robots.txt` will be written in your instance [static directory](../../../configuration/static_dir/).
```elixir tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl robots_txt disallow_all
```
```elixir tab="From Source"
=== "From Source"
```sh
mix pleroma.robots_txt disallow_all
```

View File

@ -3,11 +3,15 @@
{! backend/administration/CLI_tasks/general_cli_task_info.include !}
## Migrate uploads from local to remote storage
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl uploads migrate_local <target_uploader> [option ...]
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.uploads migrate_local <target_uploader> [option ...]
```

View File

@ -4,11 +4,15 @@
## Create a user
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl user new <nickname> <email> [option ...]
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.user new <nickname> <email> [option ...]
```
@ -22,21 +26,31 @@ mix pleroma.user new <nickname> <email> [option ...]
- `-y`, `--assume-yes`/`--no-assume-yes` - whether to assume yes to all questions
## List local users
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl user list
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.user list
```
## Generate an invite link
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl user invite [option ...]
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.user invite [option ...]
```
@ -46,111 +60,166 @@ mix pleroma.user invite [option ...]
- `--max-use NUMBER` - maximum numbers of token uses
## List generated invites
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl user invites
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.user invites
```
## Revoke invite
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl user revoke_invite <token>
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.user revoke_invite <token>
```
## Delete a user
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl user rm <nickname>
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.user rm <nickname>
```
## Delete user's posts and interactions
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl user delete_activities <nickname>
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.user delete_activities <nickname>
```
## Sign user out from all applications (delete user's OAuth tokens and authorizations)
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl user sign_out <nickname>
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.user sign_out <nickname>
```
## Deactivate or activate a user
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl user toggle_activated <nickname>
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.user toggle_activated <nickname>
```
## Deactivate a user and unsubscribes local users from the user
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl user deactivate NICKNAME
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.user deactivate NICKNAME
```
## Deactivate all accounts from an instance and unsubscribe local users on it
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl user deactivate_all_from_instance <instance>
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.user deactivate_all_from_instance <instance>
```
## Create a password reset link for user
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl user reset_password <nickname>
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.user reset_password <nickname>
```
## Disable Multi Factor Authentication (MFA/2FA) for a user
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl user reset_mfa <nickname>
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.user reset_mfa <nickname>
```
## Set the value of the given user's settings
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl user set <nickname> [option ...]
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.user set <nickname> [option ...]
```
@ -160,30 +229,45 @@ mix pleroma.user set <nickname> [option ...]
- `--admin`/`--no-admin` - whether the user should be an admin
## Add tags to a user
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl user tag <nickname> <tags>
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.user tag <nickname> <tags>
```
## Delete tags from a user
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl user untag <nickname> <tags>
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.user untag <nickname> <tags>
```
## Toggle confirmation status of the user
```sh tab="OTP"
=== "OTP"
```sh
./bin/pleroma_ctl user toggle_confirmed <nickname>
```
```sh tab="From Source"
=== "From Source"
```sh
mix pleroma.user toggle_confirmed <nickname>
```

View File

@ -4,14 +4,18 @@ Static frontend files are shipped with pleroma. If you want to overwrite or upda
You can find the location of the static directory in the [configuration](../cheatsheet/#instance).
```elixir tab="OTP"
=== "OTP"
```elixir
config :pleroma, :instance,
static_dir: "/var/lib/pleroma/static/",
static_dir: "/var/lib/pleroma/static/"
```
```elixir tab="From Source"
=== "From Source"
```elixir
config :pleroma, :instance,
static_dir: "instance/static/",
static_dir: "instance/static/"
```
Alternatively, you can overwrite this value in your configuration to use a different static instance directory.

View File

@ -8,11 +8,13 @@ You will be running commands as root. If you aren't root already, please elevate
The system needs to have `curl` and `unzip` installed for downloading and unpacking release builds.
```sh tab="Alpine"
=== "Alpine"
```sh
apk add curl unzip
```
```sh tab="Debian/Ubuntu"
=== "Debian/Ubuntu"
```sh
apt install curl unzip
```
@ -110,7 +112,8 @@ OTP releases have different service files than from-source installs so they need
**Warning:** The service files assume pleroma user's home directory is `/opt/pleroma`, please make sure all paths fit your installation.
```sh tab="Alpine"
=== "Alpine"
```sh
# Copy the service into a proper directory
cp -f ~pleroma/installation/init.d/pleroma /etc/init.d/pleroma
@ -118,7 +121,8 @@ cp -f ~pleroma/installation/init.d/pleroma /etc/init.d/pleroma
rc-service pleroma start
```
```sh tab="Debian/Ubuntu"
=== "Debian/Ubuntu"
```sh
# Copy the service into a proper directory
cp ~pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service

View File

@ -28,13 +28,15 @@ Other than things bundled in the OTP release Pleroma depends on:
* nginx (could be swapped with another reverse proxy but this guide covers only it)
* certbot (for Let's Encrypt certificates, could be swapped with another ACME client, but this guide covers only it)
```sh tab="Alpine"
=== "Alpine"
```
echo "http://nl.alpinelinux.org/alpine/latest-stable/community" >> /etc/apk/repositories
apk update
apk add curl unzip ncurses postgresql postgresql-contrib nginx certbot
```
```sh tab="Debian/Ubuntu"
=== "Debian/Ubuntu"
```
apt install curl unzip libncurses5 postgresql postgresql-contrib nginx certbot
```
@ -47,7 +49,8 @@ apt install curl unzip libncurses5 postgresql postgresql-contrib nginx certbot
RUM indexes are an alternative indexing scheme that is not included in PostgreSQL by default. You can read more about them on the [Configuration page](../configuration/cheatsheet.md#rum-indexing-for-full-text-search). They are completely optional and most of the time are not worth it, especially if you are running a single user instance (unless you absolutely need ordered search results).
```sh tab="Alpine"
=== "Alpine"
```
apk add git build-base postgresql-dev
git clone https://github.com/postgrespro/rum /tmp/rum
cd /tmp/rum
@ -57,7 +60,8 @@ cd
rm -r /tmp/rum
```
```sh tab="Debian/Ubuntu"
=== "Debian/Ubuntu"
```
# Available only on Buster/19.04
apt install postgresql-11-rum
```
@ -65,11 +69,13 @@ apt install postgresql-11-rum
#### (Optional) Performance configuration
It is encouraged to check [Optimizing your PostgreSQL performance](../configuration/postgresql.md) document, for tips on PostgreSQL tuning.
```sh tab="Alpine"
=== "Alpine"
```
rc-service postgresql restart
```
```sh tab="Debian/Ubuntu"
=== "Debian/Ubuntu"
```
systemctl restart postgresql
```
@ -151,11 +157,13 @@ certbot certonly --standalone --preferred-challenges http -d yourinstance.tld
The location of nginx configs is dependent on the distro
```sh tab="Alpine"
=== "Alpine"
```
cp /opt/pleroma/installation/pleroma.nginx /etc/nginx/conf.d/pleroma.conf
```
```sh tab="Debian/Ubuntu"
=== "Debian/Ubuntu"
```
cp /opt/pleroma/installation/pleroma.nginx /etc/nginx/sites-available/pleroma.conf
ln -s /etc/nginx/sites-available/pleroma.conf /etc/nginx/sites-enabled/pleroma.conf
```
@ -175,11 +183,13 @@ nginx -t
```
#### Start nginx
```sh tab="Alpine"
=== "Alpine"
```
rc-service nginx start
```
```sh tab="Debian/Ubuntu"
=== "Debian/Ubuntu"
```
systemctl start nginx
```
@ -187,7 +197,8 @@ At this point if you open your (sub)domain in a browser you should see a 502 err
### Setting up a system service
```sh tab="Alpine"
=== "Alpine"
```
# Copy the service into a proper directory
cp /opt/pleroma/installation/init.d/pleroma /etc/init.d/pleroma
@ -196,7 +207,8 @@ rc-service pleroma start
rc-update add pleroma
```
```sh tab="Debian/Ubuntu"
=== "Debian/Ubuntu"
```
# Copy the service into a proper directory
cp /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service
@ -223,7 +235,8 @@ $EDITOR path-to-nginx-config
nginx -t
```
```sh tab="Alpine"
=== "Alpine"
```
# Restart nginx
rc-service nginx restart
@ -244,7 +257,8 @@ chmod +x /etc/periodic/daily/renew-pleroma-cert
run-parts --test /etc/periodic/daily
```
```sh tab="Debian/Ubuntu"
=== "Debian/Ubuntu"
```
# Restart nginx
systemctl restart nginx