# Timerr Веб-приложение для учёта выполненных работ, времени и стоимости по клиентам и проектам. ## Локальный запуск ```powershell 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/`. Через неё создаются пользователи, компании, проекты, участники и ставки. Новому пользователю следует задать роль, временный пароль и включить требование смены пароля. ## Проверка ```powershell .\.venv\Scripts\python.exe manage.py check .\.venv\Scripts\python.exe -m pytest ``` ## Docker image При каждом push в ветку `main` Gitea Actions собирает образ и публикует его в Container Registry, а затем создаёт Gitea Release с тегом `build-`: ```text git.spyk3r.com/spyk3r/timerr:latest git.spyk3r.com/spyk3r/timerr: ``` Для публикации образа добавьте в `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: ```bash 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 ```