Files
MS.Kondratev 1a4f35c102
Build and publish Docker image / publish (push) Successful in 10s
fix: trust HTTPS origin behind reverse proxy
2026-07-15 15:43:35 +05:00

2.5 KiB
Raw Permalink Blame History

Timerr

Веб-приложение для учёта выполненных работ, времени и стоимости по клиентам и проектам.

Локальный запуск

py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e ".[dev]"
.\.venv\Scripts\python.exe manage.py migrate
.\.venv\Scripts\python.exe manage.py createsuperuser
.\.venv\Scripts\python.exe manage.py runserver

Панель технического администрирования: http://127.0.0.1:8000/django-admin/.

Через неё создаются пользователи, компании, проекты, участники и ставки. Новому пользователю следует задать роль, временный пароль и включить требование смены пароля.

Проверка

.\.venv\Scripts\python.exe manage.py check
.\.venv\Scripts\python.exe -m pytest

Docker image

При каждом push в ветку main Gitea Actions собирает образ и публикует его в Container Registry, а затем создаёт Gitea Release с тегом build-<commit-sha>:

git.spyk3r.com/spyk3r/timerr:latest
git.spyk3r.com/spyk3r/timerr:<commit-sha>

Для публикации образа добавьте в Settings → Actions → Secrets два секрета:

  • REGISTRY_USERNAME — имя пользователя Gitea, которому принадлежит token;
  • REGISTRY_TOKEN — personal access token с разрешением package: Read and Write.

Встроенный GITEA_TOKEN используется только для создания release. Для него в Settings → Actions → General должна быть разрешена запись в releases.

Для запуска приватного образа на VPS сначала войдите в registry с помощью логина Gitea и personal access token с правом чтения packages:

docker login git.spyk3r.com
docker pull git.spyk3r.com/spyk3r/timerr:latest
docker run -d --name timerr --restart unless-stopped \
  -p 8000:8000 \
  -e DEBUG=0 \
  -e SECRET_KEY='replace-with-a-long-random-secret' \
  -e ALLOWED_HOSTS='your-domain.example' \
  -e CSRF_TRUSTED_ORIGINS='https://your-domain.example' \
  -e DATABASE_NAME=/app/data/timerr.sqlite3 \
  -v timerr-data:/app/data \
  git.spyk3r.com/spyk3r/timerr:latest