runtime := "podman" # Builds a debug container and runs it dev: start-debug @echo "Cd into client and run 'npm run dev' to start the client in dev mode." [private] npm-install directory: cd {{directory}} && npm install # Builds the client with npm (result in client/dist) [private] npm-build directory: (npm-install directory) cd {{directory}} && npm run build @echo "Built client at {{directory}}/dist" # Builds a debug container [private] build-container-server-debug: {{runtime}} build -t fb-server-debug -f container/ContainerfileDebug . # Builds a debug container and runs it [private] start-debug: build-container-server-debug remove-podman-containers {{runtime}} run -d -p 8080:8080 --name frostbyte-debug fb-server-debug @echo "Debug server started." # Builds a release container [private] build-container-release: {{runtime}} build -t fb-server -f container/Containerfile . # Builds a release container and runs it start-release: build-container-release remove-podman-containers {{runtime}} run -d -e DATABASE_URL=sqlite:release.db -p 8080:8080 --name frostbyte fb-server init-sqlx: echo "DATABASE_URL=sqlite:debug.db" > server/.env cd server && sqlx database create cd server && sqlx migrate run cd server && cargo sqlx prepare # Removes and stops any containers related to the project [private] remove-podman-containers: {{runtime}} container rm -f frostbyte {{runtime}} container rm -f frostbyte-debug # Deletes everything podman related (even unrelated to the project) [private] prune-podman: {{runtime}} stop -a {{runtime}} rm -af {{runtime}} image rm -af {{runtime}} system prune -af {{runtime}} system reset --force # Cleans up everything related to the project clean: {{runtime}} container rm -f frostbyte {{runtime}} container rm -f frostbyte-debug {{runtime}} image rm -f fb-server {{runtime}} image rm -f fb-server-debug rm -rf client/dist rm -rf client/node_modules rm -rf client-solid/dist rm -rf client-solid/node_modules rm -rf server/public rm -rf server/target @echo "Cleaned up! Make sure to run 'just nuke' to nuke everything podman related." # Nukes everything. No mercy. Leave no trace. nuke: clean prune-podman @echo "Nuked everything! You're starting from scratch now."