.vscode | ||
migrations | ||
src | ||
static | ||
templates | ||
.gitignore | ||
askama.toml | ||
build.rs | ||
Cargo.lock | ||
Cargo.toml | ||
configure.sh | ||
Nekrochan.toml.template | ||
README.md |
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 nekrochan psql -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
.