mirror of
https://github.com/Dvorinka/Dash.git
synced 2026-06-03 15:02:56 +00:00
b17a06fbba
A clean, customizable homelab dashboard inspired by CasaOS. Features: - Empty-first dashboard (no demo data) - 3 themes: Light, Dark, CasaOS glassmorphism - Widgets: Clock (multi-timezone), Pi-hole, Memos, Immich, Image - Drag & drop app organization - Grid + list view for apps - Groups with collapse/expand - Proper widget refresh handling - Visual timezone picker - Square app cards with hover effects Stack: Go + Gin + PostgreSQL + Next.js 15 + React 19 + Tailwind CSS + shadcn/ui
45 lines
1.3 KiB
Makefile
45 lines
1.3 KiB
Makefile
BACKEND_DIR := backend
|
|
DATABASE_URL ?= postgres://dash:dash@localhost:5432/dash?sslmode=disable
|
|
MIGRATIONS_DIR := db/migrations
|
|
|
|
.PHONY: dev dev-down dev-logs backend-dev backend-test db-migrate-up db-migrate-down openapi-validate sqlc docker-up
|
|
|
|
# Start entire app in Docker (postgres + backend + frontend)
|
|
dev:
|
|
docker compose up --build -d
|
|
@echo "App starting..."
|
|
@echo "Frontend: http://localhost:3000"
|
|
@echo "Backend API: http://localhost:8080"
|
|
@echo "Run 'make dev-logs' to see logs"
|
|
|
|
# Stop the Docker app
|
|
dev-down:
|
|
docker compose down
|
|
|
|
# View logs from all services
|
|
dev-logs:
|
|
docker compose logs -f
|
|
|
|
# Legacy docker-up (same as dev)
|
|
docker-up:
|
|
docker compose up --build
|
|
|
|
# Local backend development (requires local postgres)
|
|
backend-dev:
|
|
cd $(BACKEND_DIR) && APP_ENV=development DATABASE_URL="$(DATABASE_URL)" DATA_DIR=../data go run ./cmd/server
|
|
|
|
backend-test:
|
|
cd $(BACKEND_DIR) && go test ./...
|
|
|
|
db-migrate-up:
|
|
go run github.com/pressly/goose/v3/cmd/goose@latest -dir $(MIGRATIONS_DIR) postgres "$(DATABASE_URL)" up
|
|
|
|
db-migrate-down:
|
|
go run github.com/pressly/goose/v3/cmd/goose@latest -dir $(MIGRATIONS_DIR) postgres "$(DATABASE_URL)" down
|
|
|
|
openapi-validate:
|
|
npx --yes @redocly/cli@latest lint openapi/openapi.yaml
|
|
|
|
sqlc:
|
|
go run github.com/sqlc-dev/sqlc/cmd/sqlc@latest generate
|