Skip to content
Snippets Groups Projects
Select Git revision
  • 368b4b74c275aa69614de5e98e5a9d972b606d71
  • main default protected
2 results

dev-tools

Name Last commit Last update
keycloak
postgres
.gitmodules
README.md

Dev Tools

Pomocné nástroje pro vývoj Pirátských aplikací.

Ke spuštění služeb se používá Docker.

Pro použití na Mac OS se přepněte na větev macos kvůli drobným odlišnostem v síťování oproti Linux. Kde pro propojení mezi kontejnery se používá host.docker.internal místo localhost.

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 s Pirátským vzhledem pomocí docker-compose na localhost:8080.

Výchozí uživatel je admin s heslem local.

Použití

V databázi PostgreSQL (viz výše) si vytvořte prázdnou databázi keycloak.

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:

  1. Přihlaste se jako admin na http://localhost:8080
  2. V menu stránka Clients, vpravo nahoře tlačítko Create
  3. Client ID dle aplikace (např. majak), protokol openid-connect a uložit
  4. V detailu Clienta:
    • změnit Access Type na confidential
    • nastavit Valid Redirect URIs podle toho, kde pouštíte dev server s aplikací, např.: http://localhost:8006/*
  5. Po uložení Clienta tam bude mít záložku Credentials, kde najdete Secret key pro připojení.

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/auth/realms/master/