Detailná inštalácia
Táto stránka pokrýva všetky aspekty inštalácie EOS Hub vrátane produkčného nasadenia.
Systémové požiadavky
Minimálne požiadavky
| Komponent | Verzia |
|---|---|
| Node.js | 20+ |
| pnpm | 9+ |
| PostgreSQL | 15+ |
| RAM | 2 GB |
| Disk | 1 GB |
Odporúčané pre produkciu
| Komponent | Verzia / Konfigurácia |
|---|---|
| Node.js | 22 LTS |
| PostgreSQL | 16+ s replikáciou |
| RAM | 4 GB+ |
| CPU | 2+ jadrá |
Inštalácia krok za krokom
1. Klonovanie a závislosti
git clone https://github.com/your-org/eos-hub.git
cd eos-hub
pnpm install2. Nastavenie PostgreSQL
Vytvorte databázu a používateľa:
CREATE USER eos_hub WITH PASSWORD 'bezpecne_heslo';
CREATE DATABASE eos_hub OWNER eos_hub;
GRANT ALL PRIVILEGES ON DATABASE eos_hub TO eos_hub;Bezpečnosť
V produkčnom prostredí používajte silné, náhodne generované heslá. Nikdy nepoužívajte predvolené hodnoty.
3. Konfigurácia prostredia
cp .env.example .envMinimálna konfigurácia .env:
# Databáza
DATABASE_URL="postgresql://eos_hub:bezpecne_heslo@localhost:5432/eos_hub"
# NextAuth
NEXTAUTH_SECRET="$(openssl rand -base64 32)"
NEXTAUTH_URL="http://localhost:3000"
# Google OAuth (voliteľné)
GOOGLE_CLIENT_ID="vas-google-client-id"
GOOGLE_CLIENT_SECRET="vas-google-client-secret"Podrobný popis všetkých premenných nájdete v časti Konfigurácia.
4. Migrácia databázy
Pre vývoj:
pnpm db:pushPre produkciu (s migračnými súbormi):
pnpm db:migrate5. Seed dáta (voliteľné)
pnpm db:seedINFO
Seed dáta sú určené len pre vývojové a testovacie prostredie. V produkcii ich nespúšťajte.
Produkčné nasadenie
Build
pnpm buildSpustenie
pnpm startAplikácia štartuje na porte 3000. Port môžete zmeniť cez premennú PORT.
Docker
EOS Hub je možné nasadiť aj pomocou Dockeru:
# Príklad Dockerfile
FROM node:22-alpine AS base
RUN corepack enable
FROM base AS deps
WORKDIR /app
COPY package.json pnpm-lock.yaml ./
RUN pnpm install --frozen-lockfile
FROM base AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN pnpm build
FROM base AS runner
WORKDIR /app
ENV NODE_ENV=production
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
COPY --from=builder /app/public ./public
EXPOSE 3000
CMD ["node", "server.js"]Reverz proxy (Nginx)
server {
listen 80;
server_name eos-hub.vasa-domena.sk;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}SSL
Pre produkciu vždy používajte HTTPS. Odporúčame Let's Encrypt pre bezplatné SSL certifikáty.
Riešenie problémov
Chyba pripojenia k databáze
Skontrolujte, či PostgreSQL beží a DATABASE_URL je správne nastavené:
psql $DATABASE_URL -c "SELECT 1"Chyba pri migráciách
Ak migrácia zlyhá, skúste resetovať databázu (len pre vývoj):
pnpm db:resetPort je obsadený
Zmeňte port pomocou premennej prostredia:
PORT=3001 pnpm devĎalšie kroky
- Konfigurácia -- podrobné nastavenia
- Začíname -- rýchly štart