Tovább a tartalomhoz

Első lépések

A fejlesztéshez az alábbiak szükségesek:

  • Bun v1.0+ — runtime és csomagkezelő
  • Node.js v20+ — a webalkalmazáshoz szükséges
  • Docker és Docker Compose — PostgreSQL-hez
  • Git v2.30+
Terminál
git clone https://github.com/ElyOS-webOS/elyos-core.git
cd elyos-core
Terminál
bun install
Terminál
cp .env.example .env

Az ElyOS Varlock-ot használ a typesafe env kezeléshez. A .env fájlban csak a bootstrap credentials szükséges — minden más secret az Infisical-ból érkezik indításkor.

Részletes dokumentáció: Környezeti változók →

Infisical hozzáféréssel (ajánlott):

INFISICAL_CLIENT_ID=machine-identity-client-id
INFISICAL_CLIENT_SECRET=machine-identity-client-secret

Az Infisical hozzáférés igényléséhez fordulj a csapat rendszergazdájához. A Machine Identity credentials az Infisical dashboard-on a projekt beállításainál érhető el.

Infisical nélkül (lokális fallback mód):

Ha nincs Infisical hozzáférésed vagy offline dolgozol, állítsd be a VARLOCK_FALLBACK=local értéket, és add meg az összes szükséges változót közvetlenül a .env-ben:

VARLOCK_FALLBACK=local
NODE_ENV=development
DATABASE_URL=postgresql://elyos:elyos123@localhost:5432/elyos
BETTER_AUTH_SECRET=generalt-veletlen-titok
BETTER_AUTH_URL=http://localhost:3000
ORIGIN=http://localhost:5173
Terminál
bun docker:db # Csak PostgreSQL konténer
bun db:init # Migrációk + seed adatok

Mit csinálnak ezek a parancsok:

  • docker:db — elindítja a PostgreSQL konténert Docker-ben
  • db:init — teljes adatbázis inicializálás (generálás + migrációk + seed)

Részletek: Scripts referencia →

Terminál
bun app:dev

Az alkalmazás elérhető: http://localhost:5173

Mit csinál: Elindítja a SvelteKit dev szervert lokális .env fájllal (Varlock nélkül).

Részletek: Scripts referencia →

Seed után az első felhasználó kap admin jogosultságot. Az e-mail cím az ADMIN_USER_EMAIL env változóból olvasódik.

.env
ADMIN_USER_EMAIL=admin@example.com
MezőÉrték
E-mailaz ADMIN_USER_EMAIL értéke (vagy a seed alapértelmezés)
JelszóAdmin1234!

A teljes stack (ElyOS + PostgreSQL) Docker Compose-zal is indítható:

Terminál
bun docker:up

Ebben az esetben a Varlock a konténer indításakor fut (varlock run -- node server.js), és az Infisical-ból tölti be a secreteket. A .env fájlban csak a bootstrap credentials szükséges.

Részletek: Scripts referencia → Docker


Teljes lista: Scripts referencia →

Terminál
# Fejlesztés
bun app:dev # Dev szerver
bun app:build # Éles build
bun app:check # Típusellenőrzés (svelte-check + tsc)
# Adatbázis
bun db:generate # Migrációk generálása sémaváltozásokból
bun db:migrate # Függőben lévő migrációk futtatása
bun db:seed # Seed adatok betöltése
bun db:reset # Adatbázis visszaállítása
bun db:studio # Drizzle Studio megnyitása
# Docker
bun docker:db # Csak PostgreSQL indítása
bun docker:up # Teljes stack (ElyOS + DB)
bun docker:down # Leállítás
bun docker:logs # Naplók követése
# Tesztelés (apps/web könyvtárból)
bun test # Összes teszt egyszer
bun test:pbt # Csak property-based tesztek
# Kódminőség (apps/web könyvtárból)
bun lint # Prettier + ESLint ellenőrzés
bun format # Automatikus formázás

A monorepo gyökerét nyisd meg az IDE-ben. A fő fejlesztési terület az apps/web/src/ mappa.

elyos-core/
├── apps/web/src/ ← itt dolgozol leggyakrabban
├── apps/web/.env.schema ← env változók sémája (Varlock)
├── packages/database/ ← séma és migrációk
└── .env ← bootstrap credentials (lokálisan)