2.5 KiB
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