Instalace strapi a napojení na postgresql
Na Strapi jsem narazil náhodou v jedné diskuzi. Byl jsem k tomuto přístupu lehce skeptický ale řekl jsem si že jej vyzkouším a nadchl mě. Proto se rád pondělím s ostatními a hlavně se svým starším (kéž by moudřejším) já o to, jak Strapi nainstalovat a nastat tak, abych jej mohl během chvíle použít.
Instalace
Postup instalace nalezneme v poměrně dobře zpracované dokumentaci na adrese https://docs.strapi.io/. Konkrétně na této stránce https://docs.strapi.io/developer-docs/latest/setup-deployment-guides/installation.html .
Protože Strapi jen zkouším omezím se pouze na CLI instalaci pomocí npx příkazu. Nahradíme podle potřeby a skutečnosti název projektu za **my-project**
npx create-strapi-app@latest **my-project**
Při instalaci vyberu doporučenou možnost Quickstart. V případě zájmu si s jednotlivými možnostmi můžeme hrát později 🙂
Po ‚odklikání‘ možností a celkovém dokončení instalace již spustíme server a vytvoříme admin účet. Ten se buď spustí sám a nebo jej spustíme ručně následujícími příkazy:
cd **my-projekt**
npm run develop
Poté se mi otevře jednoduchý formulář, který vyplním a vytvořím tak admin uživatele.

Po vyplnění formuláře se již přihlásíme do systému Strapi, který vypadá nějak takto:

Připojení k databázi postgresql
Po instalaci serveru jsem řešil, jak jej nastavit tak, aby mi data ukládal do databáze PostgreSQL. Na to jsem hned v dokumentaci našel stránku, která toto řeší https://docs.strapi.io/developer-docs/latest/setup-deployment-guides/configurations/required/databases.html.
Nastavení databáze vypadalo velice jednoduše, jen jako editace konfiguračního souboru ./config/database.js. Bohužel mi z dokumentace nebylo zcela jasné, jak má vypadat tento konfigurační objekt vypadat pro moje potřeby. Po několika pokusech o nastavení jsem došel k funkční konfiguraci. Nebudu ale přebíhat.
Vytvoření databáze
Před samotným napojením si musíme vytvořit novou databázi (případně pokud nemáme tak nainstalovat databázový stroj pro PostgreSQL). Pro vytvoření databáze jsem využil tool PGAdmin, kde jsem si nejdříve vytvořil nového uživatele a poté databázi, ke které měl uživatel odpovídající práva.


Připojení databáze – editace konfiguračního souboru
Konfigurační soubor ./config/database.js upravíme aby odpovídal následujícímu objektu. Pokud máte umístěnou databázi jinde nebo je její jméno či uživatel jiný, příklad upravte odpovídajícím způsobem.
module.exports = ({ env }) => ({
connection: {
client: 'postgres',
connection: {
host: env('DATABASE_HOST', '127.0.0.1'),
port: env.int('DATABASE_PORT', 5432),
database: env('DATABASE_NAME', 'strapi_db'),
user: env('DATABASE_USERNAME', 'strapi_test'),
password: env('DATABASE_PASSWORD', 'strapi_test'),
schema: env('DATABASE_SCHEMA', 'public'), // Not required
ssl: false,
/* *Tato syntaxe mi na Windows z nějakého důvodu nefungovala* {
rejectUnauthorized: env.bool('DATABASE_SSL_SELF', false), // For self-signed certificates
},*/
},
debug: false,
},
});
Po úpravě souboru se server buď automaticky restartuje a nebo jej restartujeme ručně
npm run develop
Po restartování se pravděpodobně v konzoli zobrazí chybová hláška, která upozorňuje na to, že Knex (databázový interface) nemá doinstalovaný module pro PostgreSQL. Je přiložený i příkaz pro instalaci, který chybějící závislost doinstaluje:
npm install pg --save
Poté znovu server spustíme a vytvoříme admin uživatele tak, jako dříve.
Napsat komentář