Skip to content

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 ​

KomponentVerzia
Node.js20+
pnpm9+
PostgreSQL15+
RAM2 GB
Disk1 GB

Odporúčané pre produkciu ​

KomponentVerzia / Konfigurácia
Node.js22 LTS
PostgreSQL16+ s replikáciou
RAM4 GB+
CPU2+ jadrá

Inštalácia krok za krokom ​

1. Klonovanie a závislosti ​

bash
git clone https://github.com/your-org/eos-hub.git
cd eos-hub
pnpm install

2. Nastavenie PostgreSQL ​

Vytvorte databázu a používateľa:

sql
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 ​

bash
cp .env.example .env

Minimálna konfigurácia .env:

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:

bash
pnpm db:push

Pre produkciu (s migračnými súbormi):

bash
pnpm db:migrate

5. Seed dáta (voliteľné) ​

bash
pnpm db:seed

INFO

Seed dáta sú určené len pre vývojové a testovacie prostredie. V produkcii ich nespúšťajte.

Produkčné nasadenie ​

Build ​

bash
pnpm build

Spustenie ​

bash
pnpm start

Aplikácia štartuje na porte 3000. Port môžete zmeniť cez premennú PORT.

Docker ​

EOS Hub je možné nasadiť aj pomocou Dockeru:

dockerfile
# 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) ​

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é:

bash
psql $DATABASE_URL -c "SELECT 1"

Chyba pri migráciách ​

Ak migrácia zlyhá, skúste resetovať databázu (len pre vývoj):

bash
pnpm db:reset

Port je obsadený ​

Zmeňte port pomocou premennej prostredia:

bash
PORT=3001 pnpm dev

Ďalšie kroky ​

Built with VitePress