vytvořen repozitář a přidány skripty

This commit is contained in:
2026-03-07 08:01:52 +01:00
commit 444b3eb9b3
7 changed files with 366 additions and 0 deletions

151
README.md Normal file
View File

@@ -0,0 +1,151 @@
# GoToSocial VPS Instalační příručka
Tento repozitář obsahuje konfigurační soubory a skripty pro nasazení instance [GoToSocial](https://gotosocial.org/) na VPS pomocí Dockeru a reverzního proxy Nginx.
## Obsah
- [Požadavky](#požadavky)
- [Struktura repozitáře](#struktura-repozitáře)
- [Instalace](#instalace)
- [Konfigurace](#konfigurace)
- [Nginx](#nginx)
- [Správa instance](#správa-instance)
- [Zálohy](#zálohy)
---
## Požadavky
- VPS s Ubuntu 22.04 / Debian 12
- Docker a Docker Compose
- Doménové jméno s nastaveným DNS A záznamem na IP VPS
- Nginx
- Certbot (Let's Encrypt)
## Struktura repozitáře
```
gotosocial-vps/
├── docker-compose.yml # Docker Compose konfigurace
├── .env.example # Vzor proměnných prostředí
├── config/
│ └── config.yaml # Konfigurační soubor GoToSocial
├── nginx/
│ └── gotosocial.conf # Nginx konfigurace (reverzní proxy)
└── scripts/
├── install.sh # Skript pro první instalaci
├── update.sh # Aktualizace GoToSocial
└── backup.sh # Záloha dat
```
## Instalace
### 1. Příprava serveru
```bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y docker.io docker-compose nginx certbot python3-certbot-nginx
sudo systemctl enable --now docker
```
### 2. Klonování repozitáře
```bash
git clone ssh://git@git.arch-linux.cz:29418/Archos/gotosocial-vps.git
cd gotosocial-vps
```
### 3. Nastavení proměnných prostředí
```bash
cp .env.example .env
nano .env
```
Vyplňte hodnoty zejména `GTS_HOST` (vaše doména) a `GTS_DB_PASSWORD`.
### 4. Spuštění
```bash
chmod +x scripts/install.sh
./scripts/install.sh
```
Nebo ručně:
```bash
mkdir -p data
docker-compose up -d
```
### 5. SSL certifikát
```bash
sudo certbot --nginx -d vase-domena.cz
```
### 6. Nginx konfigurace
```bash
sudo cp nginx/gotosocial.conf /etc/nginx/sites-available/gotosocial
sudo ln -s /etc/nginx/sites-available/gotosocial /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
```
## Konfigurace
Hlavní konfigurace se nachází v `config/config.yaml`. Nejdůležitější položky:
| Položka | Popis |
|---|---|
| `host` | Vaše doména (např. `social.example.cz`) |
| `protocol` | `https` pro produkci |
| `db-address` | Cesta k SQLite nebo adresa Postgres |
| `storage-local-base-path` | Adresář pro ukládání médií |
| `smtp-*` | Nastavení e-mailu pro notifikace |
## Nginx
Soubor `nginx/gotosocial.conf` je šablona pro reverzní proxy. Před použitím upravte:
- `server_name` nahraďte `vase-domena.cz` vaší doménou
- Cesty k SSL certifikátům (vyplní Certbot automaticky)
## Správa instance
```bash
# Vytvoření admin účtu
docker-compose exec gotosocial /gotosocial/gotosocial admin account create \
--username admin \
--email admin@vase-domena.cz \
--password "silne_heslo"
# Přiřazení admin role
docker-compose exec gotosocial /gotosocial/gotosocial admin account promote \
--username admin
# Zobrazení logů
docker-compose logs -f gotosocial
# Restart
docker-compose restart gotosocial
```
## Zálohy
Zálohovací skript uloží data a konfiguraci do archivu:
```bash
chmod +x scripts/backup.sh
./scripts/backup.sh
```
Zálohy jsou ukládány do adresáře `backups/` ve formátu `gotosocial-backup-YYYY-MM-DD.tar.gz`.
## Aktualizace
```bash
chmod +x scripts/update.sh
./scripts/update.sh
```
Skript stáhne nejnovější obraz GoToSocial a restartuje kontejner.