Dev Tools
Pomocné nástroje pro vývoj Pirátských aplikací.
Ke spuštění služeb se používá Docker.
PostgreSQL
Spouští PostgreSQL pomocí docker-compose na localhost:5432
.
Výchozí uživatel, heslo a databáze jsou db
.
DSN pro připojení v aplikaci může vypadat jako: postgres://db:db@localhost:5432/majak
Použití
V adresáři postgres
je ovládací Makefile:
- spuštění:
$ make run
- ukončení:
$ make stop
psql
Postgres shell (pro vytváření databází apod.) spustíte:
$ make psql
Dump, restore, apod.
Celý adresář postgres
je mountovaný dovnitř kontejneru do /workdir
. Pokud si
pustíte shell v běžícím kontejneru, můžete přes něj nahrávat dump databází apod.:
$ docker-compose exec postgres bash
(bonus) Český fulltext
Fulltext v češtině využívá například Maják.
České slovníky jsou v adresáři tsearch_data
, který je namountovaný do
kontejneru. Stačí v konkrétní databázi nastavit přes psql
:
CREATE TEXT SEARCH DICTIONARY cspell (template=ispell, dictfile=czech, afffile=czech, stopwords=czech);
CREATE TEXT SEARCH CONFIGURATION czech (copy=english);
ALTER TEXT SEARCH CONFIGURATION czech ALTER MAPPING FOR word, asciiword WITH cspell, simple;
Otestovat funkčnost lze dotazem:
SELECT * FROM ts_debug('czech', 'Příliš žluťoučký kůň se napil žluté vody');
(bonus) PostGIS
Databáze běží s rozšířením PostGIS. Pro použití v aplikaci zadejte do DSN např.:
postgis://db:db@localhost:5432/nalodeni
Keycloak
Spouští Keycloak pomocí docker-compose na localhost:8080
.
Výchozí uživatel je admin
s heslem local
.
Použití
V adresáři keycloak
je ovládací Makefile:
- spuštění:
$ make run
- ukončení:
$ make stop
Client pro OpenID Connect
Pro vytvoření klienta pro aplikaci postupujte takto:
- Přihlaste se jako admin na http://localhost:8080
- V menu stránka Clients, vpravo nahoře tlačítko Create
- Client ID dle aplikace (např.
majak
), protokolopenid-connect
a uložit - V detailu Clienta:
- změnit
Access Type
naconfidential
- nastavit
Valid Redirect URIs
podle toho, kde pouštíte dev server s aplikací, např.:http://localhost:8006/*
- změnit
- Po uložení Clienta tam bude mít záložku
Credentials
, kde najdeteSecret
key pro připojení. - V Users upravte uživatele
admin
a zvolte mu nějaký email, jméno a příjmení a nastavteEmail Verified
.
Nastavení v .env
aplikace pak může vypadat takto:
OIDC_RP_CLIENT_ID=majak
OIDC_RP_CLIENT_SECRET=03da9e7b-0630-4b36-b105-abcdef123456789
OIDC_RP_REALM_URL=http://localhost:8080/realms/master/