Ahoj, toto je počáteční stránka naší této nové unikátní aplikace 😊.

Pro správné fungování ve vývojovém a produkčním prostředí je zapotřebí udělat pár kroků. Proto si prosím pořádně pročti informace níže.

Systémové závislosti

  • Docker version 24.x - pro starší nebo novější verze není zaručená funkčnost
  • WSL - nejlépe verze 2, já používám Ubuntu distro
  • nginx-proxy - nginx proxy musí běžen na pozadí, jinak projekt v prohlížeši ani neotevřeš

Nakonfigurování projektu

  • 1. Vytvoření .env souboru:
    cp .env.local .env
  • 2. Přizpůsobení .env souboru:

    Přizpůsobit si jej můžeš jak chceš, ale hlavně nastav:

    • APP_NAME
    • APP_URL
    • SERVER_APP_HOST
    • SERVER_ADMINER_HOST
    • DB_...
    • MAIL_...
    • BUNNYCDN_...
  • 3. Spuštění docker containeru:
    sail up -d
  • 4. Namigrování databáze:
    sail artisan migrate
  • 5. Nainstalování frontnedových závislostí:
    sail npm install
  • 6. Spuštění frontendového vývojového serveru:
    sail npm run dev
  • 7. Úprava konfigurace pro nahrání na produkční a testovací server:

    Aby se web mohl nahrávat na produkční a testovací server, musíš upravit .env.production a .env.staging soubory.

    Potom je ještě třeba upravit clonovací repozitář projektu a cílový repozitář na serveru v souborech .github/workflow/deploy.*.yml a ansible/deploy.yml

  • 8. Upravení dalších srandiček:

    Na závěr si uprav další srandičky jako je README.md soubor nebo strategi routování v config/routing.php

Laravel Fullstack Scaffolding

Tato základní struktura vychází z našeho privátního templatu na githubu, kde i najdeš jak celý projekt vůbec zprovoznit (což už jsi udělal jelikož jsi tady).

Popis .env souborů

Pro všechny tajnuskářské a jiné proměnné důležité pro aplikaci slouží .env soubory.

Každé prostředí aplikace má vlastní .env soubory:

  • .env.example - příkladný obsahující všechny možně nastavitelné proměnné
  • .env.local - pro lokální vývojové prostředí
  • .env.production - pro produkční server
  • .env.staging - pro testovací server

Jelikož jsi na lokále, tak si musíš vytvořit vlastní .env soubor aby sis projekt vůbec spustil. K tomu můžeš využít buď předpřipravený .env.local a nebo .env.example, který si upravíš:

cp .env.local .env

Popis docker-compose souborů

Stejně jako u .env souborů, každé prostředí aplikaci má vlastní docker-compose soubor:

  • docker-compose.yml - pro lokální vývojové prostředí
  • docker-compose.production.yml - pro produkční server
  • docker-compose.staging.yml - pro testovací server

V těchto souborech žádné změny dělat nemusíš aby si projekt správně rozběhl. Všechny proměnné, které docker potřebuje si bere z příslušného .env souboru.

Sail

Veškerá manipulace s docker kontejnerem aplikace jako je spuštění artisan příkazů, composer příkazů, atd. se provádí prostřednictvím sail příkazu.

Tento příkaz je poskytován .sh souborem v tools/bin/sail, takže je dobré si pro něj vytvořit alias v ~/.bash_aliases:

alias sail='[ -f sail ] && bash sail || bash tools/bin/sail'

Pro zjištění co všechno sail umí jej stačí spustit bez jakýhkoliv parametrů:

sail