nekrochan/README.md
2024-03-03 20:14:02 +00:00

3.0 KiB

czchan

100% český imidžbórdový skript

100% český přestože je kód anglicky...

Brzy dostupný na https://czchan.org/.

Tutoriál nebo něco

Pravděpodobně to běží jenom na Linuxu, ale nikdo na serverech Windows stejně nepoužívá. Tutoriál počítá se systémem Ubuntu a je možné, že je nekompletní.

Nainstaluj Rust

Ne, nejsem transka (zatím).

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Nainstaluj ostatní požadavky

# Potřebné ke kompilaci
sudo apt install binutils build-essential libssl-dev libpq-dev postgresql
# Potřebné k funkci
sudo apt install imagemagick ffmpeg

Vytvoř databázi

sudo adduser nekrochan --system --disabled-login --no-create-home --group
sudo passwd nekrochan # Nastavíme heslo pro systémového uživatele
sudo -iu postgres psql -c "CREATE USER nekrochan WITH PASSWORD 'password';"
sudo -iu postgres psql -c "CREATE DATABASE nekrochan WITH OWNER nekrochan;"

Automatická konfigurace

chmod +x ./configure.sh
./configure.sh

Nastartuj server

cargo run --release

Vytvoř nástěnku

Po kompilaci by se měl spustit server na https://localhost:7000/. Stránka ti pravděpodobně řekne, že ještě nebyla inicializována domovní stránka. Je potřeba vytvořit nástěnku. Nejdříve je ale potřeba vytvořit administátorský účet.

Heslo v příkladu je "password", můžeš použít příklad a heslo změnit potom v administrátorském rozhraní.

sudo -iu postgres psql -d nekrochan -c "INSERT INTO accounts (username, password, owner, permissions) VALUES ('admin', '$2y$10$jHl27pbYNvgpQxksmF.N/O0IHrfFBDY1Tg/qBX/UwrMa3j7owkiQm', true, '131072'::jsonb);"

Po příkazu budeš muset restartovat server, aby se změna projevila v mezipaměti.

Nástěnka lze vytvořit po přihlášení na https://localhost:7000/login na stránce https://localhost:7000/staff/boards

Automatický start

Nejprve vytvoříme složku pro nekrochan a zkopírujeme tam potřebné soubory.

sudo mkdir -p /srv/nekrochan
sudo chown nekrochan:nekrochan /srv/nekrochan
sudo cp -r ./target/release/nekrochan Nekrochan.toml ./pages ./static ./uploads /srv/nekrochan/

Nyní vytvoříme skript pro systemd, aby server automaticky nastartovat po zapnutí počítače. Uložíme ho jako /etc/systemd/system/nekrochan.service.

[Unit]
Description=Nekrochan
After=network.target

[Service]
User=nekrochan
ExecStart=/srv/nekrochan/nekrochan
WorkingDirectory=/srv/nekrochan
Environment=RUST_LOG="info"
Restart=on-failure

ProtectSystem=yes
PrivateTmp=true
MemoryDenyWriteExecute=true
NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

Další konfigurace

Většinu možností najdeš v souboru Nekrochan.toml. Vlastní stránky (např. pravidla, faq apod.) můžeš nahrávat do složky pages.

Také budeš pravděpodobně chtít nastavit reverzní proxy, např. NGINX. IP adresu posílej serveru v hlavičce X-Forwarded-For a kód země (potřebný pro vlajky) v hlavičce X-Country-Code.