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." # Builds the client with npm (result in client/dist npm-install directory: cd {{directory}} && npm install # Builds the client with npm (result in client/dist) [private] npm-build: (npm-install "client-solid") cd client && npm run build # Builds a debug container [private] build-container-server-debug: {{runtime}} build -t fb-server-debug -f 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 . # Builds a release container and runs it start-release: build-container-release remove-podman-containers {{runtime}} run -d -p 8080:8080 --name frostbyte fb-server # 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 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."