Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
1 result

dev-tools

  • Clone with SSH
  • Clone with HTTPS
  • Jan Bednařík's avatar
    jan.bednarik authored
    aae50a20
    History
    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.

    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:

    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í.
    6. V Users upravte uživatele admin a zvolte mu nějaký email, jméno a příjmení a nastavte Email 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/