diff --git a/README.md b/README.md
index c9bbb23b184841b0b152758d2824e511b33f2e71..1b8b37b47711f3e9a6f11ce5ff89dd8d2c5ef729 100644
--- a/README.md
+++ b/README.md
@@ -13,6 +13,15 @@ Je třeba nastavit environment proměnné:
 | proměnná | default | popis |
 | --- | --- | --- |
 | `DATABASE_URL` | | DSN k databázi (např. `postgres://user:pass@localhost:5342/majak`) |
+| `OIDC_RP_REALM_URL` | | OpenID server realm URL (např. `http://localhost:8080/auth/realms/master/`) |
+| `OIDC_RP_CLIENT_ID`  | | OpenID Client ID |
+| `OIDC_RP_CLIENT_SECRET`  | | OpenID Client Secret |
+
+V produkci musí být navíc nastaveno:
+
+| proměnná | default | popis |
+| --- | --- | --- |
+| `DJANGO_SECRET_KEY` | | tajný šifrovací klíč |
 
 ## Pod pokličkou
 
@@ -80,9 +89,18 @@ To nainstaluje Pythonní závislosti pro vývoj projektu na lokále.
 
 #### Nastavení environment proměnných
 
-Nastav environment proměnné (viz konfigurace výše). Pro jednoduchost doporučujeme
-použít [direnv](https://direnv.net/), který nastaví environment proměnné pro vývoj
-při změně adresáře na adresář s projektem. 
+Environment proměnné (viz konfigurace výše) se načítají ze souboru `.env`, který
+může vypadat takto:
+
+    DATABASE_URL=postgres://db:db@localhost:5432/majak
+    OIDC_RP_REALM_URL=http://localhost:8080/auth/realms/master/
+    OIDC_RP_CLIENT_ID=majak
+    OIDC_RP_CLIENT_SECRET=abcd
+
+Pro lokální vývoj obsahují settings tyto výchozí hodnoty:
+
+    DEBUG = True
+    ALLOWED_HOSTS = ["*"]
 
 ### Management projektu
 
diff --git a/majak/settings/base.py b/majak/settings/base.py
index cfd30cc34cbb7a8354da7e55fc549abf735d7b21..cc6c4ccbccd5649d2fb1c2f1b40108a25b31f39a 100644
--- a/majak/settings/base.py
+++ b/majak/settings/base.py
@@ -1,13 +1,13 @@
-import os.path
 from os.path import join
+from pathlib import Path
 
 import environ
 
-env = environ.Env()
-
-PROJECT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
-BASE_DIR = os.path.dirname(PROJECT_DIR)
+ROOT_DIR = Path(__file__).parents[2]
+PROJECT_DIR = ROOT_DIR / "majak"
 
+env = environ.Env()
+environ.Env.read_env(str(ROOT_DIR / ".env"))
 
 # Application definition
 
@@ -57,7 +57,7 @@ ROOT_URLCONF = "majak.urls"
 TEMPLATES = [
     {
         "BACKEND": "django.template.backends.django.DjangoTemplates",
-        "DIRS": [join(PROJECT_DIR, "templates"),],
+        "DIRS": [str(PROJECT_DIR / "templates")],
         "APP_DIRS": True,
         "OPTIONS": {
             "context_processors": [
@@ -113,17 +113,17 @@ STATICFILES_FINDERS = [
     "django.contrib.staticfiles.finders.AppDirectoriesFinder",
 ]
 
-STATICFILES_DIRS = [join(PROJECT_DIR, "static")]
+STATICFILES_DIRS = [str(PROJECT_DIR / "static")]
 
 # ManifestStaticFilesStorage is recommended in production, to prevent outdated
 # Javascript / CSS assets being served from cache (e.g. after a Wagtail upgrade).
 # See https://docs.djangoproject.com/en/3.0/ref/contrib/staticfiles/#manifeststaticfilesstorage
 STATICFILES_STORAGE = "django.contrib.staticfiles.storage.ManifestStaticFilesStorage"
 
-STATIC_ROOT = join(BASE_DIR, "static_files")
+STATIC_ROOT = str(ROOT_DIR / "static_files")
 STATIC_URL = "/static/"
 
-MEDIA_ROOT = join(BASE_DIR, "media_files")
+MEDIA_ROOT = str(ROOT_DIR / "media_files")
 MEDIA_URL = "/media/"