_list: @just --list --unsorted # Check project check: just --unstable --fmt --check cargo fmt --check taplo fmt --check `fd --extension=toml` taplo lint `fd --extension=toml` cargo check cargo nextest run nix flake show # Format project fmt: just --unstable --fmt cargo fmt taplo fmt `fd --extension=toml` # Run backend (locally) run-backend: RUST_LOG=backend=debug cargo run -p backend # POST /create (locally) create-gul-bus: xh post 127.0.0.1:4000/create goal='pej på en gul bus' # Connect to websocket (locally) subscribe-ws: websocat ws://127.0.0.1:4000/api/ws # Trunk serve on 0.0.0.0 trunk-serve: trunk serve --address=0.0.0.0 crates/frontend/index.html # Build frontend (locally) and copy to remote. deploy-frontend: trunk build --release --dist=dist crates/frontend/index.html ssh root@ajb.dk rm -r /var/www/achievements rsync -avz dist/ root@ajb.dk:/var/www/achievements # Build backend on latest master on remote, and restart service. deploy-backend: ssh plul@ajb.dk -- sh -c "'cd achievements && git pull'" ssh plul@ajb.dk -- sh -c "'cd achievements && nix develop --command -- cargo build --release -p backend'" ssh plul@ajb.dk -- sh -c "'cp achievements/target/release/backend /opt/achievements/backend'" ssh root@ajb.dk -- systemctl restart achievements-backend.service just logs-prod # Copy the nginx conf to the server and reload nginx deploy-nginx-conf: rsync -avz nginx.conf root@ajb.dk:/etc/nginx/sites-available/achievements.conf ssh plul@ajb.dk cat /etc/nginx/sites-available/achievements.conf ssh root@ajb.dk nginx -T ssh root@ajb.dk systemctl reload nginx # List logs with journalctl logs-prod: ssh plul@ajb.dk journalctl -u achievements-backend