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

61 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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-<commit-sha>`:
```text
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:
```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
```