# Local development helpers. Requires Go and Docker. export DEV ?= 1 export BASE_DOMAIN ?= blogspace.localhost export PUBLIC_PORT ?= 8080 export ADDR ?= :8080 export DATABASE_URL ?= postgres://blogspace:blogspace@localhost:5432/blogspace?sslmode=disable export TEST_DATABASE_URL ?= $(DATABASE_URL) .PHONY: dev run db-up db-down db-reset seed test build docker-build up down fmt dev: db-up run ## start postgres and run the app with live template reload run: ## run the app (assumes postgres is up) go run ./cmd/blogspace serve db-up: ## start dev postgres and wait until it accepts connections docker compose -f compose.dev.yml up -d --wait db-down: docker compose -f compose.dev.yml down db-reset: ## drop all dev data and start fresh docker compose -f compose.dev.yml down -v $(MAKE) db-up seed: db-up ## insert demo superadmin (admin/admin) and blogger (alice/alicealice) go run ./cmd/blogspace seed test: go test ./... build: CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o bin/blogspace ./cmd/blogspace fmt: gofmt -w . docker-build: docker build -t blogspace . up: ## production-style: app + db in docker (needs .env) docker compose up --build -d down: docker compose down