lukas
360e8f9eaf
Make container more robust ( #95 )
...
Django CI/CD / build-and-push (push) Has been cancelled
Django CI/CD / test (push) Has been cancelled
Reviewed-on: #95
12 files changed (+149, -66)
Key changes:
1. Monolithic container — Replaced the two-service compose setup (backend + frontend/caddy) with a single timetracker container. Caddy is now built into the image rather than running as a separate container.
2. Supervisord process manager — Added supervisor.conf and installed supervisor in the Dockerfile. entrypoint.sh now delegates to supervisord to manage three processes: Caddy, Gunicorn, and Qcluster — replacing manual trap/signaling logic.
3. Bundled Caddy — The Dockerfile now downloads and installs Caddy v2.9.1 directly into the image (/usr/local/bin/caddy). The Caddyfile was updated to use reverse_proxy localhost:8001 and serves static files from /home/timetracker/app/static.
4. Configurable deployment — Added .env.example with configurable environment variables: TZ, PUID/PGID, TIMETRACKER_EXTERNAL_PORT, DATA_DIR, CSRF_TRUSTED_ORIGINS. docker-compose.yml now references these with sensible defaults.
5. UID/GID flexibility — entrypoint.sh uses usermod/groupmod at startup to remap the timetracker user to the host-specified PUID/PGID, avoiding permission issues with mounted volumes.
6. Database & static files — settings.py now respects DATA_DIR env var for the SQLite database path. STATIC_ROOT changed to BASE_DIR / "static".
7. Dev improvements — New Caddyfile.dev (with browse enabled for static files) and updated Makefile dev-prod target runs Caddy alongside Django in development.
8. Tests — Re-enabled the test step in the Docker build GitHub Actions workflow.
2026-05-12 16:29:34 +00:00
lukas
277ecd1b55
Update to 1.6.1
Django CI/CD / test (push) Successful in 24s
Django CI/CD / build-and-push (push) Has been skipped
2026-01-30 11:49:39 +01:00
lukas
233f63f18e
Update Django et al
Django CI/CD / test (push) Successful in 27s
Django CI/CD / build-and-push (push) Successful in 1m25s
2026-01-29 16:53:45 +01:00
lukas
c5646d0451
Make sure Dockerfile is consistent with entrypoint.sh
Django CI/CD / test (push) Successful in 23s
Django CI/CD / build-and-push (push) Successful in 48s
2026-01-27 21:39:30 +01:00
lukas
6b89bab0a6
Switch from poetry to uv
Django CI/CD / test (push) Successful in 9m34s
Django CI/CD / build-and-push (push) Failing after 1m55s
2026-01-27 20:03:39 +01:00
lukas
f895dc1265
Prepare 1.6.0
Django CI/CD / test (push) Successful in 29s
Django CI/CD / build-and-push (push) Has been skipped
2026-01-15 23:15:03 +01:00
lukas
42b28665e1
Version 1.5.2
Django CI/CD / test (push) Successful in 1m15s
Django CI/CD / build-and-push (push) Has been skipped
2024-01-14 21:28:38 +01:00
lukas
ccebcb89c6
Improve Dockerfile
...
Major inspiration (aka direct theft) from https://github.com/wemake-services/wemake-django-template
2023-11-16 16:27:41 +01:00
lukas
729e1d939b
Version 1.5.1
continuous-integration/drone/push Build encountered an error
2023-11-14 21:10:42 +01:00
lukas
f31280c682
Version 1.5.0
continuous-integration/drone/push Build is passing
2023-11-14 19:31:17 +01:00
lukas
dd219bae9d
Version 1.4.0
continuous-integration/drone/push Build is passing
2023-11-09 21:11:43 +01:00
lukas
4552cf7616
Version 1.3.0
continuous-integration/drone/push Build is passing
2023-11-05 15:10:56 +01:00
lukas
391fcc79a8
Version 1.2.0
continuous-integration/drone/push Build is passing
2023-11-01 20:35:58 +01:00
lukas
dba8414fd9
Version 1.1.2
continuous-integration/drone/push Build is failing
2023-10-13 16:33:55 +02:00
lukas
c4b0347f3b
Version 1.1.1
continuous-integration/drone/push Build is passing
2023-10-09 20:56:23 +02:00
lukas
c6ed21167c
Remove debugging cruft from container
2023-10-09 20:56:13 +02:00
lukas
c814b4c2cb
Version 1.1.0
continuous-integration/drone/push Build is passing
2023-10-09 00:04:46 +02:00
lukas
ff5d8c215d
install dev dependecies
continuous-integration/drone/push Build is passing
2023-09-16 18:24:10 +02:00
lukas
2640a49734
Version 1.0.3
continuous-integration/drone/push Build is passing
2023-02-20 17:18:26 +01:00
lukas
ac8cd6534a
Version 1.0.2
continuous-integration/drone/push Build is passing
2023-02-18 21:48:55 +01:00
lukas
215374167b
Version 1.0.0
continuous-integration/drone/push Build is passing
2023-01-20 19:58:40 +01:00
lukas
c42687a072
Change ENTRYPOINT to CMD
2023-01-20 19:58:09 +01:00
lukas
d40612af72
Remove Caddy
continuous-integration/drone/push Build is passing
2023-01-20 17:15:53 +01:00
lukas
18e8f93261
Additional fixes
continuous-integration/drone/push Build is passing
2023-01-20 15:06:42 +01:00
lukas
2f00be455d
Rename project ( #41 )
...
continuous-integration/drone/push Build is passing
The old naming scheme was causing confusion and probably errors.
Reviewed-on: #41
2023-01-19 19:35:25 +00:00
lukas
55c2693f32
Bump version to 0.2.5
continuous-integration/drone/push Build is passing
2023-01-18 17:01:37 +01:00
lukas
2553d6f9e6
Definitively disable pre-commit hook
continuous-integration/drone/push Build is passing
2023-01-16 19:49:41 +01:00
lukas
8cf6270d8f
Bump version
2023-01-16 19:47:32 +01:00
lukas
0b1089b0f4
Disable pre-commit hook
2023-01-16 19:46:15 +01:00
lukas
dd50d6dd40
Allow filtering by platform and game
...
continuous-integration/drone/push Build is passing
Fixes #32
2023-01-15 23:14:28 +01:00
lukas
162f4f3dbf
Fix Dockerfile
continuous-integration/drone/push Build is passing
2023-01-15 19:16:34 +01:00
lukas
c5b451a258
Fix error when showing session list with no sessions
...
Fixes #31
2023-01-15 18:02:48 +01:00
lukas
163211ab0b
Hide button if no last session
2023-01-15 13:03:30 +01:00
lukas
64f5668dde
Do not specify button width and height
continuous-integration/drone/push Build is passing
2023-01-13 22:11:12 +01:00
lukas
465d958d9b
Start sessions of last purchase from list
...
continuous-integration/drone/push Build is passing
Fixes #19
2023-01-13 16:54:24 +01:00
lukas
d8ece979a8
Revert make dev to plain runserver
...
The runserver_plus has problems with cache not being invalidated
2023-01-13 16:52:05 +01:00
lukas
078f87687f
Make format_duration more robust
continuous-integration/drone/push Build is passing
2023-01-09 22:48:09 +01:00
lukas
49723831e9
Fix displaying finish button
continuous-integration/drone/push Build is passing
2023-01-09 22:05:12 +01:00
lukas
025ea0dd4e
Fix migration
continuous-integration/drone/push Build is passing
2023-01-09 19:09:31 +01:00
lukas
97467c7a52
Also set duration_manual to zero
continuous-integration/drone/push Build is passing
2023-01-09 19:05:47 +01:00
lukas
7842d6f45d
Remove debugging statement
2023-01-09 19:00:03 +01:00
lukas
b77089f7ad
Show playtime total on session list
...
continuous-integration/drone/push Build is passing
Fixes #6
Fixes #25
2023-01-09 18:57:22 +01:00
lukas
24f4459318
Avoid raising exception on format_duration(None)
...
Fixes #25
2023-01-09 16:14:01 +01:00
lukas
751182df52
Emit gunicorn logs to stdin and stderr
2023-01-08 15:48:53 +01:00
lukas
33e136a810
Add .dockerignore
2023-01-08 15:48:31 +01:00
lukas
362732c22a
Run make date via poetry
2023-01-08 15:48:12 +01:00
lukas
8e1c670ffd
Fix collectstaticfiles causing error
...
continuous-integration/drone/push Build is passing
Fixes #23
2023-01-08 15:46:09 +01:00
lukas
e5a9b9aa50
Fix CSRF error ( #22 )
...
continuous-integration/drone/push Build is passing
Fixes #21
Reviewed-on: #22
2023-01-08 14:35:28 +00:00
lukas
c9b2d5bd8d
Update changelog
continuous-integration/drone/push Build is passing
2023-01-07 22:08:57 +01:00
lukas
0d20b543b0
Do not load the admin interface in prod
continuous-integration/drone/push Build is passing
2023-01-07 21:59:54 +01:00