3.1 KiB
3.1 KiB
STATUS APLIKACJI WIP !
KSeF Flask App
Start lokalny
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
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:
REDIS_URL=redis://127.0.0.1:6379/0
W Dockerze:
REDIS_URL=redis://redis:6379/0
Jeśli REDIS_URL jest puste, aplikacja przechodzi na fallback memory://.
Dla konfiguracji docker ustaw:
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
docker compose up --build
Start:
APP_DOMAIN=ksef.local:8785 ./deploy_docker.sh
Wszystkie polecenia startowe:
git clone https://git.linuxiarz.pl/gru/ksef_app.git
cp .env.example .env # ustaw zmienne
APP_DOMAIN=ksef.local:8785 ./deploy_docker.sh
Konta
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/firmamioperator— praca operacyjnareadonly— tylko odczyt- na poziomie firmy można przypisać
fullalboreadonly
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