repos
/ analytics-django master

analytics-django

mirror archived upstream

Self-hostable website analytics on Django: a straightforward collector API, dashboards, a world map, and PDF reports.

analyticsdjangodockerhandcodedpythonself-hostedsqliteviteweb-analytics

1.8 KB · 71 lines · Makefile Raw History
 1# Django + Vite Makefile
 2# v. 2022.07.13
 3
 4
 5.PHONY: run runserver vite clean push pull update
 6.DEFAULT: run
 7
 8
 9SERVER_URL = $(shell git config --get remote.server.url | sed 's|ssh://||' | cut -d ':' -f 1 | cut -d '/' -f 1)
10PROJECT_NAME = $(shell basename $(PWD))
11
12
13run: install
14	@echo "run ----------------------------------------------------------------"
15	${MAKE} -j2 runserver vite
16
17runserver:
18	uv run python manage.py runserver 0.0.0.0:8000
19
20vite:
21	bun run dev
22
23
24install: node_modules/touchfile .venv/touchfile db.sqlite3
25
26node_modules/touchfile: package.json
27	@echo "install node deps --------------------------------------------------"
28	bun install
29	touch $@
30	@echo "> all node deps installed"
31
32.venv/touchfile: pyproject.toml
33	@echo "install python deps ------------------------------------------------"
34	uv sync
35	touch $@
36	@echo "> all python deps installed"
37
38db.sqlite3:
39	@echo "create database ----------------------------------------------------"
40	uv run python manage.py migrate
41	@echo "> database created"
42
43
44push:
45	@echo "push ---------------------------------------------------------------"
46	git remote | xargs -I R git push R master
47
48pull:
49	@echo "pull ---------------------------------------------------------------"
50	rsync -avz $(SERVER_URL):/srv/data/$(PROJECT_NAME)/db/db.sqlite3 db.sqlite3
51	rsync -avz $(SERVER_URL):/srv/data/$(PROJECT_NAME)/db.mmdb db.mmdb
52	rsync -avz $(SERVER_URL):/srv/data/$(PROJECT_NAME)/media/ media
53	@echo "> all files copied"
54
55
56update: install
57	@echo "update -------------------------------------------------------------"
58	uv lock --upgrade
59	bun update --latest
60	@echo "> all deps updated"
61
62
63clean:
64	@echo "clean --------------------------------------------------------------"
65	rm -rf node_modules
66	rm -rf .venv
67	rm -rf db.sqlite3
68	rm -rf db.mmdb
69	rm -rf media
70	@echo "> all files removed"