100% český imidžbórdový skript.
Přejít na soubor
2024-03-03 21:23:15 +01:00
.vscode Rýdmý 2023-12-11 16:20:33 +01:00
migrations Vlastní stránky a odkazy + readme 2024-03-03 21:02:17 +01:00
src Vlastní stránky a odkazy + readme 2024-03-03 21:02:17 +01:00
static nebo něco 2024-03-03 15:12:35 +01:00
templates Vlastní stránky a odkazy + readme 2024-03-03 21:02:17 +01:00
.gitignore Vlastní stránky a odkazy + readme 2024-03-03 21:02:17 +01:00
askama.toml Nahrát existující kód 2023-12-11 16:18:43 +01:00
build.rs Tabulka na novinky 2023-12-18 18:00:25 +01:00
Cargo.lock Skript na živé aktualizace vláken + relativní časy na frontendu 2024-02-25 17:26:39 +01:00
Cargo.toml Skript na živé aktualizace vláken + relativní časy na frontendu 2024-02-25 17:26:39 +01:00
configure.sh Konfigurační skript 2024-03-03 21:22:43 +01:00
Nekrochan.toml.template Vlastní stránky a odkazy + readme 2024-03-03 21:02:17 +01:00
README.md ups 2024-03-03 20:14:02 +00:00

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.