diff --git a/.env.example b/.env.example index 07dd15e..ddac900 100644 --- a/.env.example +++ b/.env.example @@ -11,14 +11,11 @@ PGID=100 # External port mapping TIMETRACKER_EXTERNAL_PORT=8000 -# Data storage path -DOCKER_STORAGE_PATH=/tmp - # Django production mode (set to "1" for production) PROD=1 -# Database directory (overrides default in settings.py) -DATA_DIR=/home/timetracker/data +# Database directory (defaults to project root) +DATA_DIR=/home/timetracker/app/data # CSRF trusted origins CSRF_TRUSTED_ORIGINS=https://tracker.kucharczyk.xyz diff --git a/.gitignore b/.gitignore index d74ec92..9caa4e0 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ __pycache__ node_modules package-lock.json db.sqlite3 +data/ /static/ dist/ .DS_Store diff --git a/docker-compose.yml b/docker-compose.yml index 9f8d1da..3ca2704 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,10 +11,11 @@ services: - CSRF_TRUSTED_ORIGINS=https://tracker.kucharczyk.xyz - PUID=${PUID:-1000} - PGID=${PGID:-100} + - DATA_DIR=${DATA_DIR:-/home/timetracker/app/data} ports: - "${TIMETRACKER_EXTERNAL_PORT:-8000}:8000" 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" restart: unless-stopped diff --git a/entrypoint.sh b/entrypoint.sh index 3447a2b..2c3946d 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -10,11 +10,11 @@ groupmod -o -g "$PGID" timetracker usermod -o -u "$PUID" 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/.venv -chown "$PUID:$PGID" /home/timetracker/data +chown "$PUID:$PGID" /home/timetracker/app/data chown "$PUID:$PGID" /var/log/supervisor python manage.py migrate diff --git a/timetracker/settings.py b/timetracker/settings.py index b3719b6..07130f9 100644 --- a/timetracker/settings.py +++ b/timetracker/settings.py @@ -110,7 +110,7 @@ WSGI_APPLICATION = "timetracker.wsgi.application" DATABASES = { "default": { "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": { "timeout": 20, "init_command": "PRAGMA synchronous=FULL; PRAGMA journal_mode=WAL;",