# Builds a release container [private] build-container-release: podman build -t ttime-server -f container/Containerfile . # Builds a release container and runs it start-release: build-container-release remove-podman-containers podman run -d -e DATABASE_URL=sqlite:release.db -p 8080:8080 --name ttime ttime-server @echo "Started production ttime-server on http://localhost:8080" # Removes and stops any containers related to the project [private] remove-podman-containers: podman container rm -f ttime # Saves the release container to a tarball, pigz is just gzip but multithreaded save-release: build-container-release podman save --format=oci-archive ttime-server | pigz -9 > ttime-server.tar.gz # Loads the release container from a tarball load-release file: podman load --input {{file}} # Tests every part of the project testall: cd backend && make test cd backend && make lint cd frontend && npm test cd frontend && npm run lint # Cleans up everything related to the project clean: remove-podman-containers podman image rm -f ttime-server rm -rf frontend/dist rm -rf frontend/node_modules rm -f ttime-server.tar.gz cd backend && make clean @echo "Cleaned up!" # Cleans up everything related to podman, not just the project. Make sure you understand what this means. [confirm] podman-clean: podman system reset --force