Development
Requirements: Node 22.13+ and PostgreSQL (or docker run -d -p 5433:5432 -e POSTGRES_USER=flock -e POSTGRES_PASSWORD=flock -e POSTGRES_DB=flock postgres:17-alpine).
# server (defaults to postgres://flock:flock@localhost:5433/flock)cd server && npm install && npm run seed && npm run dev
# web clientcd apps/client && npm installnpx expo start --webapps/ client/ Expo app (expo-router) → web/PWA + Android desktop/ Electron shell around the web build (Windows installer)server/ Express + Socket.IO + PostgreSQLdeploy/ install.sh, uninstall.sh, systemd unit, Caddyfile, INSTALL.mdscripts/ package-server.sh (offline server package), build-android.sh- Server package:
scripts/package-server.sh x64(orarm64) buildsdist/flock-server-linux-x64.tar.gz. Pushing a tag likev1.7.0builds both with GitHub Actions and attaches them to a release. - Android: built locally with Gradle and signed with your own key:
scripts/build-android.sh(needs the Android SDK and JDK 21). Calls need a real build; Expo Go can’t make calls. - Windows:
cd apps/desktop && npm install && npm run dist:win. - Demo PWA: pushing a release tag also runs
.github/workflows/deploy-pwa.yml, which moves thepwabranch to the release. Vercel builds that branch withscripts/build-pwa.sh. The demo server’s address is the Vercel project’sPWA_API_URLvariable and is baked into that build only; the Android and Windows apps never get a default server.
