push
This commit is contained in:
106
README.md
Normal file
106
README.md
Normal file
@@ -0,0 +1,106 @@
|
||||
# STATUS APLIKACJI WIP !
|
||||
|
||||
# KSeF Flask App
|
||||
|
||||
|
||||
## Start lokalny
|
||||
|
||||
```bash
|
||||
python -m venv venv
|
||||
source venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
cp .env.example .env
|
||||
mkdir -p instance storage/archive storage/pdf storage/backups storage/certs
|
||||
flask --app run.py init-db
|
||||
flask --app run.py create-company
|
||||
flask --app run.py create-user
|
||||
python run.py
|
||||
```
|
||||
|
||||
## CLI w Docker
|
||||
|
||||
```bash
|
||||
docker compose run --rm web flask --app run.py flask --app run.py init-db # nie wymagane, baza się inicjuje automatycznie
|
||||
docker compose run --rm web flask --app run.py flask --app run.py create-company # opcjonalne
|
||||
docker compose run --rm web flask --app run.py flask --app run.py create-user # utworzenie pierwszego admina
|
||||
```
|
||||
|
||||
## Jak działa `.env`
|
||||
|
||||
W `.env` trzymane są tylko ustawienia techniczne aplikacji. Dane biznesowe, takie jak KSeF, SMTP, Pushover, tokeny i certyfikaty, ustawia się z panelu WWW osobno dla każdej firmy.
|
||||
|
||||
### Pola w `.env.example`
|
||||
|
||||
- `SECRET_KEY` — klucz Flask do sesji i CSRF.
|
||||
- `APP_MASTER_KEY` — klucz do szyfrowania danych w bazie, np. tokenów i certyfikatów.
|
||||
- `DATABASE_URL` — połączenie do bazy. Dla SQLite może zostać `sqlite:///instance/app.db`.
|
||||
- `APP_PORT` — port aplikacji. Pozstaw domyślny w docker.
|
||||
- `LOG_LEVEL` — poziom logowania.
|
||||
- `REDIS_URL` — opcjonalny Redis do rate-limitów, cache i zadań tła.
|
||||
- `ARCHIVE_PATH`, `PDF_PATH`, `BACKUP_PATH`, `CERTS_PATH` — katalogi plików lokalnych.
|
||||
- `APP_TIMEZONE` — strefa czasowa aplikacji.
|
||||
|
||||
## Redis — jak podać i po co
|
||||
|
||||
Poprawne przykłady:
|
||||
|
||||
```env
|
||||
REDIS_URL=redis://127.0.0.1:6379/0
|
||||
```
|
||||
|
||||
W Dockerze:
|
||||
|
||||
```env
|
||||
REDIS_URL=redis://redis:6379/0
|
||||
```
|
||||
|
||||
Jeśli `REDIS_URL` jest puste, aplikacja przechodzi na fallback `memory://`.
|
||||
|
||||
Dla konfiguracji docker ustaw:
|
||||
```env
|
||||
REDIS_URL=redis://redis:6379/0
|
||||
```
|
||||
|
||||
## Ważne
|
||||
|
||||
- Dane biznesowe wprowadza się z panelu WWW.
|
||||
- Każda firma ma własną konfigurację KSeF, SMTP, Pushover, harmonogram i certyfikat.
|
||||
- Harmonogram działa w tle także w Dockerze, w procesie aplikacji Flask.
|
||||
- Ręczne pobieranie tylko pobiera dokumenty i generuje powiadomienia. Nie księguje i nie akceptuje faktur.
|
||||
- Tryb mock KSeF służy do testów lokalnych. Synchronizacja i wystawianie działają lokalnie i nie wysyłają danych do środowiska produkcyjnego KSeF.
|
||||
|
||||
## Docker
|
||||
|
||||
```bash
|
||||
docker compose up --build
|
||||
```
|
||||
Start:
|
||||
```bash
|
||||
APP_DOMAIN=ksef.local:8785 ./deploy_docker.sh
|
||||
```
|
||||
|
||||
## Konta
|
||||
|
||||
Nie ma już wymogu seedów do logowania. Użyj CLI:
|
||||
|
||||
```bash
|
||||
flask --app run.py create-company
|
||||
flask --app run.py create-user
|
||||
```
|
||||
|
||||
## Role i dostęp do firm
|
||||
|
||||
- `admin` — pełny dostęp i zarządzanie użytkownikami/firmami
|
||||
- `operator` — praca operacyjna
|
||||
- `readonly` — tylko odczyt
|
||||
- na poziomie firmy można przypisać `full` albo `readonly`
|
||||
|
||||
## CEIDG
|
||||
|
||||
Klucz api konfigurowalny jest w panelu admina,
|
||||
Hurtownia https://dane.biznes.gov.pl/pl/portal/034872, tu można złożyć wniosek o darmowy klucz API.
|
||||
|
||||
## Migracja bazy w dockerze
|
||||
|
||||
```docker compose run --rm web flask --app run.py db upgrade
|
||||
```
|
||||
Reference in New Issue
Block a user