Přeskočit obsah

Konfigurace (.env)

Aplikace se konfiguruje proměnnými prostředí ze souboru .env v kořeni projektu. Vzory najdete v repozitáři:

  • .env.docker.example pro Docker,
  • .env.example pro lokální instalaci.

Po změně .env restartujte aplikaci (docker compose up -d, resp. restart serveru).

Django a zabezpečení

Proměnná Výchozí Popis
SECRET_KEY (nebezpečná výchozí) Povinné. Dlouhý náhodný řetězec, nikdy ho nesdílejte.
DEBUG False V provozu vždy False.
ALLOWED_HOSTS 127.0.0.1,localhost Domény a IP adresy, na kterých aplikace odpovídá, oddělené čárkou. Lokálně přidejte IP počítače, aby šlo skenovat z mobilu.
CSRF_TRUSTED_ORIGINS (prázdné) Plné originy včetně schématu, např. https://odbavto.example.cz. Za HTTPS proxy povinné.
BEHIND_PROXY False True za reverzní proxy, která ukončuje TLS. V docker-compose.yml je nastaveno natvrdo.
SECURE_SSL_REDIRECT False Přesměrování HTTP → HTTPS v Djangu. Za Caddy není potřeba, Caddy přesměrovává sám.
SESSION_COOKIE_SECURE False True = session cookie jen přes HTTPS. V provozu zapněte.
CSRF_COOKIE_SECURE False True = CSRF cookie jen přes HTTPS. V provozu zapněte.
RATELIMIT_ENABLE True Omezení počtu požadavků (sken 60/min, import 10/h na IP).

HTTPS je provozní podmínka

Přístupový odkaz hostesek i přihlašovací session musí jít přes HTTPS. Na serveru nastavte SESSION_COOKIE_SECURE=True a CSRF_COOKIE_SECURE=True. Tyto volby se uplatní jen při DEBUG=False.

Databáze

Proměnná Výchozí Popis
DATABASE_URL (prázdné = SQLite) Např. postgres://user:heslo@db:5432/odbavto. V Dockeru se skládá automaticky z DB_*.
DB_NAME, DB_USER, DB_PASSWORD Jen Docker: přihlašovací údaje pro kontejner PostgreSQL.
CREATE_DEFAULT_USER True bez DATABASE_URL, jinak False Založí na prázdné databázi uživatele odbavto / odbavto.

Docker

Proměnná Popis
COMPOSE_PROJECT_NAME Název projektu. Určuje název kontejneru (<název>-web) a prefix svazků. Díky němu můžete na jednom serveru provozovat víc instancí (např. odbavto a odbavto-staging).

Jazyk a logování

Proměnná Výchozí Popis
LANGUAGE_CODE cs Výchozí jazyk rozhraní: cs nebo en. Uživatel si ho může přepnout.
LOG_LEVEL INFO DEBUG, INFO, WARNING, ERROR.

Časové pásmo je pevně Europe/Prague.

Tisk a WebSockety

Proměnná Výchozí Popis
ENABLE_DIRECT_PRINTING False Zpřístupní tiskovou metodu Direct (tisk ze serveru přes ovladač Windows). Jen pro lokální instalaci na Windows.
REDIS_HOST 127.0.0.1 Redis pro WebSockety. V Dockeru redis.
REDIS_PORT 6379
REDIS_SOCKET_TIMEOUT 30 Musí být víc než 5 s, jinak se WebSockety každých ~5 s rozpadají.
PENDING_JOB_MAX_AGE_SECONDS 300 Starší nevyzvednuté tiskové úlohy se zahodí, aby se po návratu agenta online nevytiskly staré jmenovky.