diff --git a/justfile b/justfile index 37288e6..d739cdc 100644 --- a/justfile +++ b/justfile @@ -1,54 +1,64 @@ +runtime := "podman" + # Builds a debug container and runs it -# Starts the client in dev mode 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/distt -npm-install: - cd client && npm install +# 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) -npm-build: npm-install +[private] +npm-build: (npm-install "client-solid") cd client && npm run build # Builds a debug container +[private] build-container-server-debug: - podman build -t fb-server-debug -f ContainerfileDebug . + {{runtime}} build -t fb-server-debug -f ContainerfileDebug . # Builds a debug container and runs it -start-debug: build-container-server-debug - podman container rm -f frostbyte-debug - podman run -d -p 8080:8080 --name frostbyte-debug fb-server-debug +[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: - podman build -t fb-server . + {{runtime}} build -t fb-server . # Builds a release container and runs it -start-release: build-container-release - podman container rm -f frostbyte - podman run -d -p 8080:8080 --name frostbyte fb-server +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: - podman stop -a - podman rm -af - podman system prune -af - podman image rm -af - podman system reset --force + {{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: - podman container rm -f frostbyte - podman container rm -f frostbyte-debug - podman image rm -f fb-server - podman image rm -f fb-server-debug + {{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 prune-podman' to nuke everything podman related." + @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