Make default database location more robust
Django CI/CD / test (push) Successful in 24s
Django CI/CD / build-and-push (push) Has been skipped

This commit is contained in:
2026-05-12 18:23:54 +02:00
parent 2b43e9a848
commit 00f84fee9b
5 changed files with 8 additions and 9 deletions
+2 -5
View File
@@ -11,14 +11,11 @@ PGID=100
# External port mapping # External port mapping
TIMETRACKER_EXTERNAL_PORT=8000 TIMETRACKER_EXTERNAL_PORT=8000
# Data storage path
DOCKER_STORAGE_PATH=/tmp
# Django production mode (set to "1" for production) # Django production mode (set to "1" for production)
PROD=1 PROD=1
# Database directory (overrides default in settings.py) # Database directory (defaults to project root)
DATA_DIR=/home/timetracker/data DATA_DIR=/home/timetracker/app/data
# CSRF trusted origins # CSRF trusted origins
CSRF_TRUSTED_ORIGINS=https://tracker.kucharczyk.xyz CSRF_TRUSTED_ORIGINS=https://tracker.kucharczyk.xyz
+1
View File
@@ -5,6 +5,7 @@ __pycache__
node_modules node_modules
package-lock.json package-lock.json
db.sqlite3 db.sqlite3
data/
/static/ /static/
dist/ dist/
.DS_Store .DS_Store
+2 -1
View File
@@ -11,10 +11,11 @@ services:
- CSRF_TRUSTED_ORIGINS=https://tracker.kucharczyk.xyz - CSRF_TRUSTED_ORIGINS=https://tracker.kucharczyk.xyz
- PUID=${PUID:-1000} - PUID=${PUID:-1000}
- PGID=${PGID:-100} - PGID=${PGID:-100}
- DATA_DIR=${DATA_DIR:-/home/timetracker/app/data}
ports: ports:
- "${TIMETRACKER_EXTERNAL_PORT:-8000}:8000" - "${TIMETRACKER_EXTERNAL_PORT:-8000}:8000"
volumes: volumes:
- "${DOCKER_STORAGE_PATH:-/tmp}/timetracker/data:/home/timetracker/data" - "./data:/home/timetracker/app/data"
- "${DOCKER_STORAGE_PATH:-/tmp}/timetracker/backups:/home/timetracker/app/games/fixtures/backups" - "${DOCKER_STORAGE_PATH:-/tmp}/timetracker/backups:/home/timetracker/app/games/fixtures/backups"
restart: unless-stopped restart: unless-stopped
+2 -2
View File
@@ -10,11 +10,11 @@ groupmod -o -g "$PGID" timetracker
usermod -o -u "$PUID" timetracker usermod -o -u "$PUID" timetracker
usermod -d "${USERHOME}" timetracker usermod -d "${USERHOME}" timetracker
mkdir -p /home/timetracker/data /var/log/supervisor mkdir -p /home/timetracker/app/data /var/log/supervisor
chmod 755 /home/timetracker/app chmod 755 /home/timetracker/app
chmod 755 /home/timetracker/app/.venv chmod 755 /home/timetracker/app/.venv
chown "$PUID:$PGID" /home/timetracker/data chown "$PUID:$PGID" /home/timetracker/app/data
chown "$PUID:$PGID" /var/log/supervisor chown "$PUID:$PGID" /var/log/supervisor
python manage.py migrate python manage.py migrate
+1 -1
View File
@@ -110,7 +110,7 @@ WSGI_APPLICATION = "timetracker.wsgi.application"
DATABASES = { DATABASES = {
"default": { "default": {
"ENGINE": "django.db.backends.sqlite3", "ENGINE": "django.db.backends.sqlite3",
"NAME": Path(os.environ.get("DATA_DIR", "/home/timetracker/data")) / "db.sqlite3", "NAME": Path(os.environ.get("DATA_DIR", str(BASE_DIR))) / "db.sqlite3",
"OPTIONS": { "OPTIONS": {
"timeout": 20, "timeout": 20,
"init_command": "PRAGMA synchronous=FULL; PRAGMA journal_mode=WAL;", "init_command": "PRAGMA synchronous=FULL; PRAGMA journal_mode=WAL;",