import some admin docs from misskey-hub

Co-authored-by: Francis Dinh <normandy@biribiri.dev>
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
This commit is contained in:
Johann150 2022-08-25 10:32:32 +02:00
parent 523d366ca3
commit 5374d8a24c
Signed by untrusted user: Johann150
GPG key ID: 9EE6577A2A06F8F1
4 changed files with 199 additions and 25 deletions

View file

@ -1,25 +0,0 @@
DONATORS
========
The list of people who have sent donation for Misskey.
(In random order, honorific titles are omitted.)
* らふぁ
* 俺様
* なぎうり
* スルメ https://surume.tk/
* 藍
* 音船 https://otofune.me/
* aqz https://misskey.xyz/aqz
* kotodu "虚無創作中"
* Maya Minatsuki
* Knzk https://knzk.me/@Knzk
* ねじりわさび https://knzk.me/@y
* NCLS https://knzk.me/@imncls]
* こじま @skoji@sandbox.skoji.jp
:heart: Thanks for donating, guys!
---
If your name is missing, please contact us!

2
docs/default-reaction.md Normal file
View file

@ -0,0 +1,2 @@
# Changing the default Reaction
You can change the default reaction that is used when an ActivityPub "Like" is received from '👍' to '⭐' by changing the boolean value `meta.useStarForReactionFallback` in the databse respectively.

111
docs/emoji.md Normal file
View file

@ -0,0 +1,111 @@
# Managing Custom Emoji
Custom emoji can be managed by administrators or moderators by going to the instance settings and then the custom emoji submenu.
By default you will see a list of the current locally installed emoji.
At the start this list will be empty, but you can add custom emoji in different ways.
## Copying Emoji from another Instance
Emoji can be easily copied from another instance.
To do this, switch to the "remote" tab in the custom emoji settings.
You can search emoji by name and/or host they are from.
When you have found an emoji you want, click it to open a small menu which will allow you to import the emoji.
Please note that Emoji may be subject to copyright and you are responsible for checking whether you may legally use another emoji.
## Individual Emoji Import
If you have an image file that you would like to turn into a custom emoji you can import the image as an emoji.
This works just like attaching files to a note:
You can choose to upload a new file, pick a file from your Misskey drive or upload a file from another URL.
::: danger
When you import emoji from your drive, the file will remain inside your drive.
Misskey does not make a copy of this file so if you delete it, the emoji will be broken.
:::
The emoji will be added to the instance and you will then be able to edit or delete it as usual.
## Bulk Emoji import
Emojis can be imported in bulk as packed ZIP files with a special format.
This ability can be found in the three dots menu in the top right corner of the custom emoji menu.
::: warning
Bulk emoji import may overwrite existing emoji or otherwise mess up your instance.
Be sure to only import emoji from trusted sources, ideally only ones you exported yourself.
:::
### Packed emoji format
At the top level is a file called `meta.json` which contains information about the emoji contained in the packed file.
A type definition for this file would look like this, where `Meta` is the structure of the whole file.
```typescript
class Meta {
metaVersion: number;
host: string;
/**
* Date and time representation returned by ECMAScript `Date.prototype.toString`.
*/
exportedAt: string;
emojis: Emoji[];
}
class Emoji {
downloaded: boolean;
fileName: string;
emoji: {
id: string;
updatedAt: string;
name: string;
host: null;
category: string;
originalUrl: string;
publicUrl: string;
uri: null;
type: string;
aliases: string[];
};
}
```
The fields of `Meta` are currently not used or checked when importing emoji, except for the `emojis` field.
For each `Emoji`:
- `downloaded`: should always be true. If the field is missing or not truthy, the emoji will not be imported.
- `fileName`: name of the image file inside the packed file.
- `emoji`: data associated with the emoji as it was stored in the database. Currently most of these fields are
not even checked for existence. The following are currently used:
- `name`: name of the emoji for the user, e.g. `blobfox` if a user should type in `:blobfox:` to get the emoji.
If a previous emoji with the same name exists, it **will be overwritten**!
- `category`: category of the emoji
- `aliases`: list of strings that should be added as aliases. The admin UI calls these "tags".
## Editing and Deleting Emoji
The properties of an emoji can be edited by clicking it in the list of local emoji.
When you click on a custom emoji, a dialog for editing the properties will open.
This dialog will also allow you to delete an emoji.
::: danger
When you delete a custom emoji, old notes that contain it will still have the text name of the emoji in it.
The emoji will no longer be rendered correctly.
:::
Note that remote emoji can not be edited or deleted.
Each emoji can have a name and a category and several tags.
The category is used for structuring the emoji picker.
Meanwhile the tags can be used as alternate names by which the emoji can be found when searching in the emoji picker.
When you are done editing, save your changes by clicking the check mark in the top right corner of the dialog.
### Bulk Editing
Emoji can be edited in bulk by checking the box below the search field.
With this enabled, clicking on an emoji will select it instead of opening the editing dialog.
The Editing options will be displayed as buttons below the checkbox.
To return to the normal behaviour just uncheck the box again.

86
docs/nginx.md Normal file
View file

@ -0,0 +1,86 @@
# Nginx configuration
1. Create `/etc/nginx/conf.d/misskey.conf` or `/etc/nginx/sites-available/misskey.conf` and copy the following example to the file.\
(The file name does not have to be "misskey".)
2. Edit as follows:
1. Replace example.tld with the domain you have prepared.\
`ssl_certificate` and `ssl_certificate_key` should be the path to the certificate obtained from Let's Encrypt.
2. If using a CDN such as Cloudflare, remove 4 lines from "If it's behind another reverse proxy or CDN, remove the following."
3. If you create `/etc/nginx/sites-available/misskey.conf`, create symlink as `/etc/nginx/sites-enabled/misskey.conf`.\
`sudo ln -s /etc/nginx/sites-available/misskey.conf /etc/nginx/sites-enabled/misskey.conf`
4. Run `sudo nginx -t` to verify that the configuration file will be loaded successfully.
5. Run `sudo systemctl restart nginx` to restart nginx.
# Nginx cofig example
```nginx
# For WebSocket
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=cache1:16m max_size=1g inactive=720m use_temp_path=off;
server {
listen 80;
listen [::]:80;
server_name example.tld;
# For SSL domain validation
root /var/www/html;
location /.well-known/acme-challenge/ { allow all; }
location /.well-known/pki-validation/ { allow all; }
location / { return 301 https://$server_name$request_uri; }
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.tld;
ssl_session_timeout 1d;
ssl_session_cache shared:ssl_session_cache:10m;
ssl_session_tickets off;
# To use Let's Encrypt certificate
ssl_certificate /etc/letsencrypt/live/example.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.tld/privkey.pem;
# To use Debian/Ubuntu's self-signed certificate (For testing or before issuing a certificate)
#ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
#ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
# SSL protocol settings
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
ssl_stapling on;
ssl_stapling_verify on;
# Change to your upload limit
client_max_body_size 80m;
# Proxy to Node
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_redirect off;
# If it's behind another reverse proxy or CDN, remove the following.
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
# For WebSocket
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
# Cache settings
proxy_cache cache1;
proxy_cache_lock on;
proxy_cache_use_stale updating;
add_header X-Cache $upstream_cache_status;
}
}
```