Merge branch 'master' into 'master'

Polish translation

See merge request mastodon/docs!1
This commit is contained in:
Eugen Rochko 2018-10-29 13:26:54 +01:00
commit 32a17cab4d
11 changed files with 1059 additions and 0 deletions

View File

@ -13,6 +13,10 @@ enableGitInfo = true
contentDir = "content/en"
languageName = "English"
weight = 1
[languages.pl]
contentDir = "content/pl"
languageName = "Polski"
weight = 1
[menu]
[[menu.docs]]

15
content/pl/_index.md Normal file
View File

@ -0,0 +1,15 @@
---
title: Dokumentacja Mastodona
---
Witaj w dokumentacji Mastodona!
<div style="margin-bottom: 26px">
{{< youtube "IPSbNdBmWKE" >}}
</div>
**Wybierz swoją drogę:**
- [Dowiedz się jak korzystać z Mastodona]({{< relref "usage/basics.md" >}})
- [Dowiedz się jak zainstalować Mastodona]({{< relref "administration/installation.md" >}})
- [Dowiedz się jak napisać aplikację dla Mastodona]()

View File

@ -0,0 +1,216 @@
---
title: Konfigruacja
description: Omówienie opcji konfiguracji Mastodona
menu:
docs:
parent: administration
weight: 2
---
Mastodon używa zmiennych środowiskowych do konfiguracji.
Dla zwiększenia wygody, mogą one być odczytywane z pliku `.env.production` znajdującego się w katalogu Mastodona, ale mogą zostać zawsze nadpisane przez zewnętrzny proces. Dla przykładu, pliki usług systemd mogą odczytywać zmienne środowiskowe z `EnvironmentFile` lub definicji w `Environment`, więc możesz ustawić oddzielne parametry konfiguracji dla poszczególnych usług. Mogą też być określone podczas uruchamiania Mastodona z wiersza poleceń.
## Podstawowe
### Federacja
- `LOCAL_DOMAIN`
- `WEB_DOMAIN`
- `ALTERNATE_DOMAINS`
### Tajne klucze
- `SECRET_KEY_BASE`
- `OTP_SECRET`
- `VAPID_PRIVATE_KEY`
- `VAPID_PUBLIC_KEY`
### Deployment
- `RAILS_ENV`
- `RAILS_SERVE_STATIC_FILES`
- `RAILS_LOG_LEVEL`
- `TRUSTED_PROXY_IP`
- `SOCKET`
- `PORT`
- `NODE_ENV`
- `BIND`
### Opcje skalowania
- `WEB_CONCURRENCY`
- `MAX_THREADS`
- `PREPARED_STATEMENTS`
- `STREAMING_API_BASE_URL`
- `STREAMING_CLUSTER_NUM`
## Połączenie z bazą danych
### PostgreSQL
- `DB_HOST`
- `DB_USER`
- `DB_NAME`
- `DB_PASS`
- `DB_PORT`
- `DATABASE_URL`
### Redis
- `REDIS_HOST`
- `REDIS_PORT`
- `REDIS_URL`
- `REDIS_NAMESPACE`
- `CACHE_REDIS_HOST`
- `CACHE_REDIS_PORT`
- `CACHE_REDIS_URL`
- `CACHE_REDIS_NAMESPACE`
### ElasticSearch
- `ES_ENABLED`
- `ES_HOST`
- `ES_PORT`
- `ES_PREFIX`
### StatsD
- `STATSD_ADDR`
- `STATSD_NAMESPACE`
## Ograniczenia
- `SINGLE_USER_MODE`
- `EMAIL_DOMAIN_WHITELIST`
- `DEFAULT_LOCALE`
- `MAX_SESSION_ACTIVATIONS`
- `USER_ACTIVE_DAYS`
## E-mail
- `SMTP_SERVER`
- `SMTP_PORT`
- `SMTP_LOGIN`
- `SMTP_PASSWORD`
- `SMTP_FROM_ADDRESS`
- `SMTP_DOMAIN`
- `SMTP_DELIVERY_METHOD`
- `SMTP_AUTH_METHOD`
- `SMTP_CA_FILE`
- `SMTP_OPENSSL_VERIFY_MODE`
- `SMTP_ENABLE_STARTTLS_AUTO`
- `SMTP_TLS`
## Przechowywanie plików
- `CDN_HOST`
- `S3_ALIAS_HOST`
### Lokalne przechowywanie plików
- `PAPERCLIP_ROOT_PATH`
- `PAPERCLIP_ROOT_URL`
### Amazon S3 i kompatybilne
- `S3_ENABLED`
- `S3_BUCKET`
- `AWS_ACCESS_KEY_ID`
- `AWS_SECRET_ACCESS_KEY`
- `S3_REGION`
- `S3_PROTOCOL`
- `S3_HOSTNAME`
- `S3_ENDPOINT`
- `S3_SIGNATURE_VERSION`
### Swift
- `SWIFT_ENABLED`
- `SWIFT_USERNAME`
- `SWIFT_TENANT`
- `SWIFT_PASSWORD`
- `SWIFT_PROJECT_ID`
- `SWIFT_AUTH_URL`
- `SWIFT_CONTAINER`
- `SWIFT_OBJECT_URL`
- `SWIFT_REGION`
- `SWIFT_DOMAIN_NAME`
- `SWIFT_CACHE_TTL`
## Zewnętrzne uwierzytelnianie
- `OAUTH_REDIRECT_AT_SIGN_IN`
### LDAP
- `LDAP_ENABLED`
- `LDAP_HOST`
- `LDAP_PORT`
- `LDAP_METHOD`
- `LDAP_BASE`
- `LDAP_BIND_DN`
- `LDAP_PASSWORD`
- `LDAP_UID`
- `LDAP_SEARCH_FILTER`
### PAM
- `PAM_ENABLED`
- `PAM_EMAIL_DOMAIN`
- `PAM_DEFAULT_SERVICE`
- `PAM_CONTROLLED_SERVICE`
### CAS
- `CAS_ENABLED`
- `CAS_URL`
- `CAS_HOST`
- `CAS_PORT`
- `CAS_SSL`
- `CAS_VALIDATE_URL`
- `CAS_CALLBACK_URL`
- `CAS_LOGOUT_URL`
- `CAS_LOGIN_URL`
- `CAS_UID_FIELD`
- `CAS_CA_PATH`
- `CAS_DISABLE_SSL_VERIFICATION`
- `CAS_UID_KEY`
- `CAS_NAME_KEY`
- `CAS_EMAIL_KEY`
- `CAS_NICKNAME_KEY`
- `CAS_FIRST_NAME_KEY`
- `CAS_LAST_NAME_KEY`
- `CAS_LOCATION_KEY`
- `CAS_IMAGE_KEY`
- `CAS_PHONE_KEY`
### SAML
- `SAML_ENABLED`
- `SAML_ACS_URL`
- `SAML_ISSUER`
- `SAML_IDP_SSO_TARGET_URL`
- `SAML_IDP_CERT`
- `SAML_IDP_CERT_FINGERPRINT`
- `SAML_NAME_IDENTIFIER_FORMAT`
- `SAML_CERT`
- `SAML_PRIVATE_KEY`
- `SAML_SECURITY_WANT_ASSERTION_SIGNED`
- `SAML_SECURITY_WANT_ASSERTION_ENCRYPTED`
- `SAML_SECURITY_ASSUME_EMAIL_IS_VERIFIED`
- `SAML_ATTRIBUTES_STATEMENTS_UID`
- `SAML_ATTRIBUTES_STATEMENTS_EMAIL`
- `SAML_ATTRIBUTES_STATEMENTS_FULL_NAME`
- `SAML_ATTRIBUTES_STATEMENTS_FIRST_NAME`
- `SAML_ATTRIBUTES_STATEMENTS_LAST_NAME`
- `SAML_UID_ATTRIBUTE`
- `SAML_ATTRIBUTES_STATEMENTS_VERIFIED`
- `SAML_ATTRIBUTES_STATEMENTS_VERIFIED_EMAIL`
## Ukryte usługi
- `http_proxy`
- `ALLOW_ACCESS_TO_HIDDEN_SERVICE`
## Inne
- `SKIP_POST_DEPLOYMENT_MIGRATIONS`

View File

@ -0,0 +1,333 @@
---
title: Instalacja
description: Jak zainstalować Mastodona na serwerze z Ubuntu 18.04
menu:
docs:
parent: administration
weight: 1
---
<img src="/setup.png" alt="" style="margin: 0; box-shadow: none">
## Podstawowa konfiguracja serwera (nieobowiązkowa)
Jeżeli konfigurujesz nowe urządzenie, zalecane jest zabezpieczenie go. Załóżmy, że korzystasz z **Ubuntu 18.04**:
### Nie pozwól na logowanie przez SSH z użyciem hasła (tylko kluczem)
Na początek upewnij się, że jesteś zalogowany(-a) z użyciem klucza, nie hasła w przeciwnym razie zostaniesz zablokowany(-a). Wielu dostawców hostingu daje możliwość wysłania klucza publicznego i automatycznie konfiguruje logowanie użytkownika root z użyciem klucza.
Edytuj `/etc/ssh/sshd_config` i znajdź `PasswordAuthentication`. Upewnij się, że nie jest ono skomentowane i jest ustawione na `no`. Po dokonaniu zmian uruchom ponownie sshd:
```sh
systemctl restart ssh
```
### Aktualizacja pakietów systemowych
```sh
apt update && apt upgrade -y
```
### Instalacja fail2ban, aby blokował po wielu nieudanych próbach logowania
```sh
apt install fail2ban
```
Edytuj `/etc/fail2ban/jail.local` i dodaj:
```ini
[DEFAULT]
destemail = twój@email.tutaj
sendername = Fail2Ban
[sshd]
enabled = true
port = 22
[sshd-ddos]
enabled = true
port = 22
```
Na koniec, uruchom ponownie fail2ban:
```sh
systemctl restart fail2ban
```
### Zainstaluj firewall i odblokuj tylko porty SSH, HTTP i HTTPS
Na początek, zainstaluj iptables-persistent. Podczas instalacji zostaniesz zapytany(-a), czy chcesz pozostawić obecne zasady odmów.
```sh
apt install -y iptables-persistent
```
Edytuj `/etc/iptables/rules.v4` i dodaj:z
```
*filter
# Allow all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT
# Accept all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow all outbound traffic - you can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT
# Allow HTTP and HTTPS connections from anywhere (the normal ports for websites and SSL).
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
# Allow SSH connections
# The -dport number should be the same port number you set in sshd_config
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
# Allow ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
# Log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
# Reject all other inbound - default deny unless explicitly allowed policy
-A INPUT -j REJECT
-A FORWARD -j REJECT
COMMIT
```
Dzięki iptables-persistent, ta konfiguracja będzie ładowana w trakcie uruchomienia systemu. Ponieważ nie zamierzamy go teraz uruchomić ponownie, załadujmy ją ręcznie:
```sh
iptables-restore < /etc/iptables/rules.v4
```
## Wymagania wstępne
- Urządzenie z systemem **Ubuntu 18.04** wraz z dostępem do roota
- **Domena** (lub subdomena) dla serwera Mastodona, np. `example.com`
- Usługa doręczania e-maili lub inny **serwer SMTP**
Wykonaj te polecenia jako root. Jeżeli nie jesteś obecnie na koncie roota, przełącz się na nie:
```sh
sudo -i
```
### Repozytoria systemu
Upewnij się, że curl jest zainstalowany:
```sh
apt install -y curl
```
#### Node.js
```sh
curl -sL https://deb.nodesource.com/setup_8.x | bash -
```
#### Yarn
```sh
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
```
### Pakiety systemowe
```sh
apt update
apt install -y \
imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core \
g++ libprotobuf-dev protobuf-compiler pkg-config nodejs gcc autoconf \
bison build-essential libssl-dev libyaml-dev libreadline6-dev \
zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev \
nginx redis-server redis-tools postgresql postgresql-contrib \
certbot yarn libidn11-dev libicu-dev libjemalloc-dev
```
### Instalacja Ruby
Będziemy korzystać z rbenv, aby zarządzać wersjami Ruby, ponieważ ułatwia to przejście na prawidłową wersję po pojawieniu się nowego wydania. rbenv musi zostać zainstalowany dla każdego użytkownika który będzie go używał osobno, więc zacznijmy od utworzenia użytkownika, na którym uruchomimy Mastodona:
```sh
adduser --disabled-login mastodon
```
Możemy teraz zalogować się na to konto:
```sh
su - mastodon
```
I przejść do instalacji rbenv i rbenv-build:
```sh
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
cd ~/.rbenv && src/configure && make -C src
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec bash
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
```
Po zakończeniu, możemy zainstalować prawidłową wersję Ruby:
```sh
RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 2.5.1
rbenv global 2.5.1
```
Musimy też zainstalować bundler:
```sh
gem install bundler --no-ri --no-rdoc
```
Wróćmy na konto root:
```sh
exit
```
## Konfiguracja
### Konfiguracja PostgreSQL
#### Ustawienia wydajności (nieobowiązkowe)
Aby zwiększyć wydajność, możesz skorzystać z [pgTune](https://pgtune.leopard.in.ua/#/), aby wygenerować odpowiednie ustawienia i zmienić odpowiednie wartości w `/etc/postgresql/9.6/main/postgresql.conf` przed ponownym uruchomieniem PostgreSQL poleceniem `systemctl restart postgresql`
#### Tworzenie użytkownika
Musisz utowrzyć użytkownika PostgreSQL, z którego będzie mógł korzystać Mastodon. Najprościej użyć uwierzytelniania „ident” w prostym ustawieniu, tzn. użytkownik PostgreSQL nie będzie miał oddzielnego hasła i będzie mógł z niego korzystać linuksowy użytkownik o tej samej nazwie.
Przejdź do powłoki:
```sh
sudo -u postgres psql
```
Wykonaj:
```
CREATE USER mastodon CREATEDB;
\q
```
Gotowe!
### Konfiguracja Mastodona
Pora pobrać kod Mastodona. Przełącz się na użytkownika mastodon:
```sh
su - mastodon
```
#### Pobieranie kodu
Użyj narzędzia git, aby pobrać najnowsze stabilne wydanie Mastodona:
```sh
git clone https://github.com/tootsuite/mastodon.git live && cd live
git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)
```
#### Instalacja ostatnich zależności
Pora na instalację zależności używających Ruby i JavaScript:
```sh
bundle install \
-j$(getconf _NPROCESSORS_ONLN) \
--deployment --without development test
yarn install --pure-lockfile
```
#### Generowanie konfiguracji
Uruchom interaktywny konfigurator:
```sh
RAILS_ENV=production bundle exec rake mastodon:setup
```
W ten sposób:
- utworzysz plik konfiguracyjny
- wykonasz prekompilację zasobów
- utworzysz schemat bazy danych
Plik konfiguracyjny zostanie zapisany jako `.env.production`. Możesz przejrzeć i edytować go według swoich potrzeb. Możesz odwołać się do [documentacji konfiguracji]({{< relref "configuration.md" >}}).
Możesz wrócić na użytkownika root:
```sh
exit
```
### Konfiguracja nginx
Skopiuj przykładową konfigurację nginx z katalogu Mastodona:
```sh
cp /home/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon
ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodon
```
Zedytuj `/etc/nginx/sites-available/mastodon` u zamień `example.com` na swoją domenę i dokonaj niezbędnych zmian.
Załaduj ponownie nginx, aby wprowadzić zmiany:
```sh
systemctl reload nginx
```
### Uzyskanie certyfikatu SSL
Skorzystamy z Let's Encrypt, aby uzyskać bezpłatny certyfikat SSL:
```sh
certbot certonly --webroot -d example.com -w /home/mastodon/live/public/
```
Możesz teraz zedytować `/etc/nginx/sites-available/mastodon`, aby zmodyfikowac wiersze `ssl_certificate` i `ssl_certificate_key`.
Załaduj ponownie nginx, aby wprowadzić zmiany:
```sh
systemctl reload nginx
```
W tym momencie, po odwiedzeniu domeny w przeglądarce powinieneś(-aś) zobaczyć stronę z błędem przedstawiającą słonia uderzającego w ekran komputera. To dlatego, że nie uruchomiliśmy jeszcze Mastodona.
### Konfiguracja usług systemd
Skopiuj szablony usług systemd z katalogu Mastodona:
```sh
cp /home/mastodon/live/dist/mastodon-*.service /etc/systemd/system/
```
Zedytuj następujące pliki, aby upewnić się czy nazwa użytkownika i ścieżki są prawidłowe:
- `/etc/systemd/system/mastodon-web.service`
- `/etc/systemd/system/mastodon-sidekiq.service`
- `/etc/systemd/system/mastodon-streaming.service`
Na koniec, uruchom i aktywuj nowe usługi systemd:
```sh
systemctl start mastodon-web mastodon-sidekiq mastodon-streaming
systemctl enable mastodon-*
```
Będą one automatycznie uruchamiane wraz z systemem.
**Hurra! To wszystko. Możesz teraz odwiedzić swoją domenę w przeglądarce!**

View File

@ -0,0 +1,20 @@
---
title: Dodatkowe funkcje
description: Jak włączyć dodatkowe funkcje Mastodona
menu:
docs:
parent: administration
weight: 5
---
## Wyszukiwanie tekstu
TODO
## Ukryte usługi
TODO
## Logowanie z użyciem LDAP/PAM/CAS/SAML
TODO

View File

@ -0,0 +1,107 @@
---
title: Kroki po instalacji
description: Co zrobić po zakończeniu instalacji Mastodona
menu:
docs:
parent: administration
weight: 3
---
## Korzystanie z interfejsu wiersza poleceń
Interfejs wiersza poleceń Mastodona jest plikiem wykonywalnym o nazwie `tootctl` znajdującym się w katalogu `bin` wewnątrz głównego katalogu Mastodona. Musisz określić, którego środowiska chcesz używać określając zmienną środowiskową `RAILS_ENV`. Jeżeli nie jesteś programistą korzystającą z urządzenia lokalnie, musisz użyć `RAILS_ENV=production`. Jeżeli masz pewność, że nigdy nie będziesz potrzebować innego środowiska, możesz dodać je dla ułatwienia do pliku `.bashrc`, np.:
```bash
echo "export RAILS_ENV=production" >> ~/.bashrc
```
Jeżeli tak zrobisz, nie będziesz musiał(-a) uwzględniać go cały czas. W przeciwnym razie, wywołania `tootctl` będą wyglądały tak, zakładająć że kod Mastodona znajduje się w katalogu `/home/mastodon/live`:
```bash
cd /home/mastodon/live
RAILS_ENV=production bin/tootctl help
```
## Tworzenie konta administratora
### W przeglądarce
Po zarejestrowaniu się w przeglądarce, musisz użyć wiersza poleceń aby nadać nowo utworzonemu kontu prawa administratora. Załóżmy, że Twoja nazwa użytkownika to `alice`:
```bash
RAILS_ENV=production bin/tootctl accounts update alice --role admin
```
### W wierszu poleceń
Możesz utworzyć nowe konto używając interfejsu wiersza poleceń.
```bash
RAILS_ENV=production bin/tootctl accounts create \
alice \
--email alice@example.com \
--confirmed \
--role admin
```
W terminalu pojawi się wygenerowane losowo hasło.
## Wypełnianie informacji o serwerze
Po zalogowaniu się, przejdź na stronę **Ustawienia strony**. Mimo braku technicznego wymogu wypełnienia tych informacji, są one istotne dla użytkowników.
|Ustawienie|Opis|
|----------|----|
|Nazwa użytkownika do kontaktu|Twoja nazwa użytkownika, aby inni mogli wiedzieć, do kogo należy serwer|
|Służbowy adres e-mail|Twój adres e-mail, aby osoby które nie mogą się zalogować lub nie mają konta mogły się z Tobą skontaktować|
|Opis instancji|Dlaczego ten serwer powstał? Dla kogo jest on przeznaczony? Co czyni go wyjątkowym?|
|Niestandardowy opis strony|Możesz tu umieścić różnego rodzaju informacje, ale zalecane jest umieszczenie **zasad**|
Po wypełnieniu tych pól, naciśnij „Zapisz zmiany”.
## Ustawienie regularnych kopii zapasowych (nieobowiązkowe, choć nie do końca)
W przypadku rzeczywistego zastosowania, upewnij się że będziesz wykonywać kopie zapasowe serwera Mastodona.
For any real-world use, you should make sure to regularly backup your Mastodon server.
### Omówienie
Things that need to be backed up in order of importance:
1. Baza danych PostgreSQL
2. Tajne klucze aplikacji z pliku `.env.production` lub odpowiadającego mu
3. Pliki wysłane przez użytkowników
4. Baza danych Redis
### Tryby awaryjne
Istnieją dwa rodzaje niepowodzeń przed którymi większość osób choni się: awaria sprzętu, taka jak uszkodzenie danych na dysku i błąd oprogramowania lub człowieka, taki jak przypadkowe usunięcie części danych. W tej dokumentacji omówiony zostaje tylko pierwszy przypadek.
Utrata bazy danych PostgreSQL to najgorsza możliwość. Mastodon przechowuje tam wszystkie ważne dane. Jeżeli baza danych zniknie, wraz z nią znikną wszystkie konta i wpisy z Twojego serwera.
Jeżeli utracisz tajne klucze aplikacji, część funkcji Mastodona przestanie działać użytkownikom, zostaną wylogowani, uwierzytelnianie dwuetapowe nie będzie dostępne i subskrypcje Web Push API przestaną działać.
Jeżeli utracisz pliki wysłane przez użytkowników, znikną awatary, zdjęcia nagłówka i załączniki multimedialne, ale Mastodon wciąż *będzie* działać.
Utrata bazy danych Redis jest prawie bezbolesna: jedyne nieodwracalne dane to kolejki Sidekiq i zaplanowane ponowne próby nieudanych zadań. Strumienie list i osi czasu są przechowywane przez Redis, ale mogą zostać wygenerowane ponownie z użyciem tootctl.
Najlepsze kopie zapasowe to te na innym urządzeniu niż to, na którym uruchomiony jest Mastodon. Dla przykładu, jeżeli serwer spłonie, a dysk twardy wybuchnie, kopie zapasowe przechowywane na nim nie będą mogły zostać użyte…
### Kopia zapasowa tajnych kodów
Są one najprostsze do zabezpieczenia, ponieważ nigdy się nie zmieniają. Musisz tylko przechowywać `.env.production` w bezpiecznym miejscu.
### Kopia zapasowa PostgreSQL
PostgreSQL jest zagrożony utratą danych w wyniku utraty prądu, uszkodzeń dysku twardego i nieudanych migracji. Z tego powodu, zalecane jest tworzenie od czasu do czasu kopii zapasowej używając `pg_dump` lub `pg_dumpall`.
Gdy ważna jest dostępność w każdym momencie, możesz używać replikacji przez strumieniowanie, aby mieć drugi serwer PostgreSQL z zawsze aktualnymi danymi i móc przełączyć się na niego, jeżeli jeden serwer przestanie działać.
### Kopia zapasowa plików wysyłanych przez użytkowników
Jeżeli korzystasz z zewnętrznego dostawcy object storage takiego jak Amazon S3, Google Cloud lub Wasabi, nie musisz przejmować się tworzeniem kopii zapasowych. Te firmy są odpowiedzialne za radzenie sobie z awariami sprzętu.
Jeżeli przechowujesz pliki lokalnie, od Ciebie zależy, czy będziesz tworzyć kopie coraz większego katalogu `public/system`, gdzie domyślnie przechowywane są wysyłane pliki.
### Kopia zapasowa Redis
Tworzenie kopii zapasowej Redis jest proste. Redis regularnie zapisuje wszystko w `/var/lib/redis/dump.rdb`, jedynym pliku który powinieneś(-naś) gdzieś przechowywać.

View File

@ -0,0 +1,57 @@
---
title: Aktualizacja do nowego wydania
description: Jak zaktualizować Mastodona do nowszej wersji
menu:
docs:
parent: administration
weight: 5
---
Kiedy pojawia się nowa wersja Mastodona, możesz znaleźć ją na [stronie wydań na GitHubie](https://github.com/tootsuite/mastodon/releases). Pamiętaj, że korzystanie z niewydanego kodu z gałęzi `master` jest możliwe, choć nie jest zalecane.
Wydania Mastodona są przyporządkowanem tagom gita. Na początek, zaloguj się na użytkownika `mastodon`:
```sh
su - mastodon
```
Przejdź do głównego katalogu Mastodona:
```sh
cd /home/mastodon/live
```
Pobierz kod wydania, zakładając że nowa wersja nazywa się `v2.5.0`:
```sh
git fetch --tags
git checkout v2.5.0
```
Strona wydania zawiera listę zmian, a pod nią instrukcje aktualizacji. Dowiesz się, jak wykonać ją. Na przykład, jeżeli jest wspomniane, że musisz skompilować ponownie zasoby, powinieneś(-naś) wykonać:
```sh
RAILS_ENV=production bundle exec rails assets:precompile
```
Po wykonaniu instrukcji dotyczących wydania, pozostaje uruchomić ponownie Mastodona. *Zwykle* API strumieniowania nie jest aktualizowane, więc nie wymaga ono ponownego uruchomienia. Ponowne uruchomienie API strumieniowania może wywołać niezwykle wysokie obciążenie serwera, więc zalecane jest unikanie go.
Wróć na konto root:
```sh
exit
```
Uruchom ponownie Sidekiq:
```sh
systemctl restart mastodon-sidekiq
```
Załaduj ponownie proces sieciowy, aby uniknąć niedostępności serwera:
```sh
systemctl reload mastodon-web
```
**To wszystko!** Twój serwer używa teraz nowej wersji Mastodona!

View File

@ -0,0 +1,68 @@
---
title: Podstawy
description: Omówienie podstawowej funkcjonalności Mastodona
menu:
docs:
parent: usage
weight: 1
---
## Rejestracja
Musisz wybrać serwer na którym się zarejestrujesz, tak jak wybrał(-a)byś dostawcę e-maila lub realm w World of Warcraft dla nowej postaci. Na tym serwerze będzie znajdować się Twoje konto i strumień.
Możesz [przejrzeć listę serwerów podzieloną według kategorii i języków na joinmastodon.org](https://joinmastodon.org/#getting-started).
## Edycja profilu
### Zdjęcie, nazwa i opis
- Możesz zmienić awatar
- Możesz ustawić obraz nagłówka
- Możesz ustawić nazwę wyświetlaną inną niż nazwa użytkownika
- Możesz napisać o sobie w biogramie
- Możesz tam wspomnieć o innych kontach i używać hashtagów lub niestandardowych emoji
### Metadane profilu
Metadane profilu są sposobem na umieszczenie dodatkowych informacji w przejrzysty sposób. Możesz wykorzystać 4 rzędy, w których określasz nazwę i zawartość. Na przykład:
|Nazwa|Zawartość|
|-----|-------|
|Wiek|25|
|Kraj|Niemcy|
|Zaimek osobowy|he/him|
To, co tam umieścisz zależy tylko od Ciebie możesz wspomnieć o innych, użyć hashtagów, niestandardowych emoji i odnośników.
### Weryfikacja odnośników
Jeżeli umieścisz odnośnik w metadanych profilu, Mastodon sprawdzi, czy ta strona zawiera odnośnik do Twojego profilu na Mastodonie. Jeżeli tak, obok odnośnika zostanie wyświetlony znak weryfikacji, ponieważ jesteś jego potwierdzonym właścicielem.
Mastodon sprawdza obecność artybutu `rel="me"` w tym odnośniku. Tak samo, Mastodon umieszcza `rel="me"` na odnośnikach w metadanych.
## Tworzenie wpisów
### Tekst
- Możesz użyć maksymalnie 500 znaków
- Możesz wspomnieć o innych użytkownikach, np. `@alice` lub `@alice@example.com`
- Jeżeli wspominasz o innych, część zawierająca domenę jest omijana przez limit znaków
- Odnośniki muszą zaczynać się od `http://` lub `https://`
- Wszystkie odnośniki liczone są jako 23 znaki, niezależnie od ich długości
- Możesz używać hashtagów tj. `#przykład`, aby inni mogli znaleźć Twój wpis używając tego tagu
- Możesz dodawać ostrzeżenia o zawartości dla wpisów
- Ostrzeżenie o zawartości to czysty tekst. Nie obsluguje wspomnień, hashtagów i odnośników
### Zawartość multimedialna
- Możesz wysyłać zdjęcia w JPG i PNG
- Wysyłane GIF-y są konwertowane do MP4 bez dźwięku, tak jak na Imgur i Gfycat (GIFV)
- Możesz też wysyłać bezpośrednio MP4 i WebM bez dźwięku (GIFV)
- Możesz wysyłać filmy w formacie MP4, WebM lub MOV
- Ograniczenie rozmiaru zdjęć to 8 MB
- Ograniczenie rozmiaru filmów to 40 MB
- Zdjęcia o powierzchni większej niż 1280² pikseli są skalowane w dół
- Możesz ukryć zawartość multimedialną za spoilerem
### Niestandardowe emoji
- Każdy serwer może oferować zestaw niestandardowych emoji, tak jak na Discordzie
- Możesz używać shortcode aby umieścić emoji, np. `:thounking:`

View File

@ -0,0 +1,91 @@
---
title: Decentralizacja
description: W jaki sposób Mastodon jest zdecentralizowany i co to w praktyce oznacza
menu:
docs:
parent: usage
weight: 2
---
Mastodon jest **sfederowaną** siecią społecznościową.
## Czym jest federacja?
**Federacja** to rodzaj decentralizacji. Zamiast jednego, centralnego serwera używanego przez wszystkich, istnieje wiele serwerów, z których każdy może korzystać.
|Rodzaj decentralizacji|Przykład|
|:--------------------:|--------|
|Scentralizowane|Twitter, Facebook, Instagram|
|Sfederowane|E-mail, XMPP|
|Dystrybuowane|BitTorrent, IPFS, Scuttlebutt|
Serwer Mastodona może działać samodzielnie. Tak jak na tradycyjnej stronie internetowej, można tam zarejestrować się, publikować wiadomości, wysyłać zdjęcia i rozmawiać z innymi. *W przeciwieństwie* do tradycyjnej strony internetowej, serwery Mastodona porozumiewają się ze sobą, pozwalając na wzajemną komunikację swoich użytkowników, tak jak możesz wysłać maila adresem GMaila do kogoś używającego Outlooka.
<figure>
<img src="/decentralization.png" alt="" style="margin: 0; box-shadow: none">
<figcaption><p>Od lewej do prawej: scentralizowana, sfederowana i dystrybuowana sieć</p></figcaption>
</figure>
W praktyce wyobraź sobie, że możesz obserwować użytkownika Instagrama ze swojego konta na Twitterze i komentować jego zdjęcia z tego konta. Gdyby Twitter i Instagram były sfederowanymi usługami, byłoby to możliwe.
## Fediwersum
Mastodon korzysta ze standaryzowanego, otwartego protokołu aby zaimplementować federację. Nazywa się on ActivityPub. Każde oprogramowanie, które zaimplementowało federację przez ActivityPub może komunikować się z Mastodonem, tak jak serwery Mastodona komunikują się ze sobą.
**Fediwersum** („sfederowane uniwersum”) to nazwa, którą określamy wszystkie serwery mogące się ze sobą komunikować. Wliczają się w to wszystkie serwery Mastodona wraz z innymi implementacjami, np.:
- Misskey
- Pleroma
- PeerTube
- Plume
- i wiele więcej
Fediwesum nie jest marką, więc częściej usłyszysz „obserwuj mnie na Mastodonie”, niż „obserwuj mnie w Fediwersum”, choć to drugie jest bardziej poprawne technicznie..
## Co to w praktyce oznacza
### Wspominanie o innych
Nazwy użytkownika na Mastodonie składają się z dwóch części:
- Lokalna nazwa użytkownika, np. `alice`
- Domena serwera, np. `example.com`
To tak jak adres e-mail. Dla ułatwienia, Mastodon pozwala na ominięcie drugiej części nazwy użytkownika, kiedy wspominasz o osobie na tym samym serwerze, ale pamiętaj dzieląc się swoją nazwą z innymi, musisz uwzględnić domenę, aby mogli Cię łatwo znaleźć.
|{{< no >}}|{{< yes >}}|
|:--------:|:---------:|
|Nazywam się @alice na Mastodonie!|Nazywam się @alice@example.com na Mastodonie!|
Formularz wyszukiwania na Mastodonie pozwala na znalezienie użytkowników zarówno korzystając z adresów takich jak powyższy, jak i odnośników do profili, więc możesz udostępniać tę wersję, którą wolisz.
### Obserwowanie innych
Jeżeli możesz spotkać osobę w interfejsie aplikacji, np. interfejsie sieciowym swojego serwera lub aplikacji mobilnej, możesz po prostu nacisnąć „śledź” nie zauważysz różnicy, gdy ya osoba nie używa tego samego serwera.
Jeżeli jednak napotkasz publiczny profil osoby z innego serwera, zauważysz przeszkodę dla tego serwera jesteś anonimowym odwiedzającym.
Kiedy naciśniesz „śledź”, pojawi się formularz z zapytaniem o pełną nazwę użytkownika (przede wszystkim część zawierającą domenę). W ten sposób zostaniesz przekierowany(-a) na swój serwer, gdzie jesteś zalogowany(-a) i możesz zaobserwować tę osobę.
Zauważysz podobny formularz, gdy spróbujesz odpowiedzieć, podbić lub dodać do ulubionych wpis z publicznej strony na innym serwerze.
### Przeglądanie zawartości
Aby pozwolić na poznawanie zawartości, która może Cię zainteresować, Mastodon oferuje sposób na przeglądanie wszystkich publicznych wpisów. No dobra, nie istnieje dzielona pomiędzy wszystkimi serwerami oś czasu, więc nie możesz zobaczyć *wszystkich* publicznych wpisów. Kiedy przeglądasz **oś czasu federacji**, widzisz wszystkie publiczne wpisy znane przez serwer. Jest wiele sposobów, na które serwer może poznać wpisy, ale większość z nich pojawia się tam dlatego, że inni użytkownicy serwera śledzą ich autorów.
Istnieje sposób na filtrowanie osi czasu, aby widzieć tylko publiczne wpisy ze swojego serwera **lokalna oś czasu**. Pamiętaj, że „lokalna” odnosi się tu do serwera, nie położenia geograficznego.
### Finansowanie i monetyzacja
Serwery Mastodona są prowadzone przez różne, działające zupełnie niezależnie osoby lub organizacje. Oprogramowanie Mastodona nie zaimplementowało żadnego rozwiązania pozwalającego na monetyzację go.
Niektóre serwery oferują płatne konta, niektóre należą do firm, które już posiadają odpowiednią infrastrukturę, a większość serwerów finansowana jest przez użytkowników za pośrednictwem Patreona i podobnych usług. Jeżeli chcesz pomóc w utrzymaniu serwera, sprawdź czy istnieje sposób na przekazanie dotacji.
Rozwój Mastodona również jest finansowany przez społeczność na Patreonie. Odbywa się to bez udziału kapitału podwyższonego ryzyka.
### Podszywanie się i weryfikacja
Konto o tej samej nazwie użytkownika *może* zostać zarejestrowane na różnych serwerach, nie istnieje sposób na zajęcie ich wszystkich. Tak jak w przypadku adresów e-mail, nie oczekuj że `alice@hotmail.com` będzie tą samą osobą, co `alice@gmail.com`.
Ponieważ możesz samodzielnie hostować Mastodona, nie istnieje lepszy sposób na potwierdzenie swojej tożsamości niż hostowanie Mastodona na własnej domenie, której inni ufają.
Weryfikacja za okazaniem dokumentu i niebieski znaczek nie są możliwe na zdecentralizowanej usłudze. Możesz jednak potwerdzić, że odnośniki umieszczone w metadanych profilu należą do Ciebie. Jeżeli jeden z nich to Twoja osobista strona internetowa, może być to również sposób na weryfikację tożsamości tutaj.

View File

@ -0,0 +1,73 @@
---
title: Moderacja
description: Omówienie narzędzi moderacyjnych na Mastodonie
menu:
docs:
parent: usage
weight: 4
---
## Indywidualność moderacji
Moderacja na Mastodonie zawsze działa lokalnie, tzn. tylko dla konkretnego serwera. Administrator lub moderator jednego serwera nie może wpłynąć na użytkownika innego serwera, a jedynie kopię jego profilu na swoim serwerze.
### Wyłączenie logowania
Konto na Mastodonie może zostać wyłączone. W ten sposób użytkownik nie może nic na nim zrobić, ale jego zawartość pozostaje nietknięta. To ograniczenie może zostać cofnięte w każdej chwili. Może zostać założone tylko na lokalnych użytkowników serwera.
### Wyciszenie
Wyciszenie na Mastodonie jest sposobem na jego odizolowanie. Wyciszone konto nie jest widoczne dla użytkowników, które go nie obserwują. Jego zawartość wciąż istnieje i może zostać znaleziona z użyciem wyszukiwarki, a autor wspomniany i śledzony, ale pozostaje niewidoczna.
Obecnie wyciszenie nie wpływa na federację. Lokalnie wyciszone konto *nie* jest automatycznie wyciszone na innych serwerach.
To ograniczenie jest odwracalne, wyciszenie możę zostać cofnięte w każdej chwili.
### Zawieszenie
Wyciszenie na Mastodonie jest równoznaczne z usunięciem go. Konto nie może zostać wyszukane, strona profilu, wraz ze wszystkimi jego wpisami, wysłanymi plikami i resztą danych zostają usunięte. To ograniczenie jest **nieodwracalne**. Choć zawieszenie może zostać cofnięte, a użytkownik może odzyskać konto, treść znika na zawsze.
## Moderacja całych serweróœ
Ponieważ samodzielne moderowanie dużej liczby użytkowników z nieprawidłowo zachowującego się serwera może być męczące, jest możliwa prewencyjna moderacja wszystkich użytkowników danego serwera nazywana **blokadą domeny**, która ma kilka poziomów swojego zakresu.
### Odrzucanie zawartości multimedialnej
Jeżeli ta opcja jest włączona, żadne pliki z danego serwera nie będą przetwarzane. Wliczane są w to awatary, obrazy nagłówka, niestandardowe emoji i załączniki multimedialne.
### Wyciszenie
Wycisza wszystkich obecnych i przyszłych użytkowników serwera.
### Zawieszenie
Zawiesza wszystkich obecnych i przyszłych użytkowników serwera. Nie jest przechowywana zawartość z serwera poza nazwami użytkowników.
## Sposoby na zapobieganie spamu
Istnieje kilka podstawowych sposobów na zapobieganie spamu na Mastodonie:
- Rejestracja wymaga potwierdzenia adresu e-mail
- Rejestracja jest ograniczana na podstawie adresu IP.
Doświadczony spamer może jednak ominąć je. Innym sposobem jest **czarna lista domen e-mail**. Podczas rejestracji, Mastodon sprawdza rekord A lub MX podanego adresu e-mail, np. adres IP serwera e-mail i porównuje ten adres e-mail z przechowywaną czarną listą.
### Blokowanie na podstawie serwerów e-mail
Spamerzy będą często używać innych domen e-maili, aby wyglądało to tak, jakby używali innych serwerów e-mail, które ciężko byłoby dodawać oddzielnie na czarną listę. Często jednak one wszystkie prowadzą do jednego adresu IP serwera e-mail. Jeżeli widzisz, że dużo spamerów rejestruje się w tym samym czasie, możesz to sprawdzić używając narzędzia wyszukiwania po DNS online lub korzystając z linuksowego narzędzia `dig` np. `dig 1.2.3.4` wyświetli wszystkie rekordy DNS dla tego IP. Jeżeli zauważysz, że IP jest to samo dla wszystkich domen, możesz dodać je do czarnej listy domen e-mail.
### Blokowanie po IP
Nie jest możliwe zablokowanie odwiedzających po adresie IP z użyciem Mastodona i nie jest to zbyt dobre rozwiązanie. Adresy IP czasem są używane przez wiele osób, zmieniają się ich właściciele. Jest możliwe zablokowanie odwiedzających po adresie IP na Linuksie używając firewalla. Oto przykład korzystający z `iptables` i `ipset`:
```bash
# Zainstaluj ipset
sudo apt install ipset
# Utwórz czarną listę o nazwie „spambots”
sudo ipset create spambots nethash
# Dodaj 1.2.3.4 na czarną listę
sudo ipset add spambots 1.2.3.4
# Dodaj regułę firewalla opartą o czarną listę
sudo iptables -I INPUT 1 -m set --match-set spambots src -j DROP
```
Uważaj, aby nie zablokować siebie na własnym urządzeniu.

View File

@ -0,0 +1,75 @@
---
title: Prywatność
overview: Omówienie funkcji dotyczących prywatności na Mastodonie i ich skutków
menu:
docs:
parent: usage
weight: 3
---
## Poziomy prywatności
|Poziom|Publiczna oś czasu|Odnośnik bezpośredni|Widok profilu|Osi czasu|
|------|:----------------:|:------------------:|:-----------:|:-------:|
|Publiczny|{{< yes >}}|{{< yes >}}|{{< yes >}}|{{< yes >}}|
|Niewypisany|{{< no >}}|{{< yes >}}|{{< yes >}}|{{< yes >}}|
|Tylko dla śledzących|{{< no >}}|{{< no >}}|{{< no >}}|{{< yes >}}|
|Bezpośrednio|{{< no >}}|{{< no >}}|{{< no >}}|{{< no >}}|
Niezależnie od poziomu, każdy wspomniany użytkownik może zobaczyć wiadomość w powiadomieniach.
**Nie udostępniaj niebezpiecznych i wrażliwych informacji używając bezpośrednich wiadomości**. Mastodon nie jest aplikacją do szyfrowanych połączeń taką jak Signal i Wire, administrator bazy danych serwera nadawcy i odbiorcy ma dostęp do tekstu. Używaj ich z taką ostrożnością, jak prywatnych wiadomości na forach, Discordzie i Twitterze.
## Blokada konta
Aby mieć kontrolę nad tym, kto zobaczy wpisy tylko dla śledzących, musisz zablokować swoje konto w innym przypadku, kazdy może zacząć Cię obserwować, aby zobaczyć Twoje starsze wpisy. Zablokowanie konta na Mastodonie dodaje krok autoryzacji do procesu śledzenia.
Po zablokowaniu konta, zanim ktoś będzie mógł zacząć Cię śledzić, otrzymasz prośbę o możliwość śledzenia, którą możesz przyjąć lub odrzucić.
Pamiętaj, że prywatność na Mastodonie odnosi się do poszczególnych kont, nie całego konta nie istnieje sposób na natychmiastowe uczynienie wszystkich starszych wpisów prywatnymi.
## Blokowanie i wyciszanie
### Ukrywanie podbić
Jeżeli ukryjesz czyjeś podbicia, nie będziesz ich widzieć na osiach czasu.
### Wyciszanie
Gdy wyciszysz użytkownika, masz też możliwość wyciszenia powiadomień dotyczących go. Wyciszenie oznacza, że nie będziesz widzieć:
- wpisów użytkownika na Twoim strumieniu
- wpisów tego użytkownika podbitych przez innego
- wpisów użytkowników wspominających o nim
- wpisów użytkownika na publicznych osiach czasu
Jeżeli wyciszysz też powiadomienia, nie będziesz widzieć powiadomień od tego użytkownika.
Użytkownik nie może dowiedzieć się, że został wyciszony.
### Blokowanie
Blokowanie użytkownika ukrywa:
- wpisy użytkownika na Twoim strumieniu
- wpisy tego użytkownika podbitych przez innego
- wpisy użytkowników wspominających o nim
- wpisy użytkownika na publicznych osiach czasu
- powiadomienia od tego użytkownika
Dodatkowo, zablokowany użytkownik:
- zostaje zmuszony, aby przestał Cię zaobserwować
- nie może Cię zaobserwować
- nie zobaczy podbić Twoich wpisów od innych użytkowników
- nie zobaczy Twoich wpisów na publicznej osi czasu
Jeżeli korzystasz z tego serwera co zablokowany użytkownik, nie będzie on mógł zobaczyć Twoich wpisów będąc zablokowany.
### Ukrywanie całego serwera
Jeżeli ukryjesz cały serwer:
- nie zobaczysz wpisów z tego serwera na publicznej osi czasu
- nie zobaczysz podbić wpisów z tego serwera od innych użytkowników
- nie zobaczysz powiadomień z tego serwera
- utracisz wszystkie obserwacje użytkowników z tego serwera