Mateusz Gruszczyński 6fc91198a0 switch to debian in docker
2026-03-20 09:48:42 +01:00
2026-03-20 09:40:56 +01:00
2026-03-13 11:03:13 +01:00
2026-03-13 11:03:13 +01:00
2026-03-20 09:40:56 +01:00
2026-03-13 11:03:13 +01:00
2026-03-20 09:14:00 +01:00
2026-03-20 09:14:00 +01:00
2026-03-20 09:20:17 +01:00
2026-03-20 09:28:58 +01:00
2026-03-13 11:03:13 +01:00
2026-03-20 09:48:42 +01:00
2026-03-20 09:28:58 +01:00
2026-03-13 11:03:13 +01:00
2026-03-20 09:40:56 +01:00
2026-03-20 09:28:58 +01:00
2026-03-13 11:03:13 +01:00

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/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
Description
No description provided
Readme 388 KiB
Languages
Python 72.5%
HTML 25.3%
CSS 1.4%
Shell 0.6%
Dockerfile 0.1%