JustFlows

Дакументацыя пакуль толькі на англійскай мове. Астатняя частка сайта адпавядае вашай мове.

Installation

Three install paths: Docker, shared hosting / cPanel, and a full source checkout for developers.

10 хв чытання

Pick the path that matches your machine. Docker and source installs continue at `/install`. A packaged shared-hosting release first opens a temporary index.html that runs the production setup in the browser, then continues to the site wizard. After installation, the bootstrap file is removed and the wizard is blocked (blockIfInstalled).

Requirements

  • Docker path: Docker Desktop (or Docker Engine + Compose) only.
  • Shared hosting: a host with Node.js (Hostinger, SiteGround, A2, Plesk, cPanel Node selector, and similar).
  • Source path: Node.js ≥ 22, pnpm ≥ 11, and PostgreSQL, MySQL 8+, or MariaDB 10.6+.

Option A — Docker

Recommended for most people. Postgres is bundled. Copy env, set APP_URL and APP_SECRET, then:

bash
docker compose -f docker/docker-compose.yml --env-file .env up

Open http://localhost:3000/install. Compose files live under docker/ (docker-compose.yml for Postgres, plus MySQL and MariaDB variants). Uploads and the database persist on volumes.

Option B — Shared hosting / cPanel

  1. 1

    Upload the release

    Download the Community Edition zip, unzip it, and upload the folder via File Manager or FTP.

  2. 2

    Create a Node application

    Point it at that folder and configure the host to start the app with server.js. No source checkout, package manager, or terminal command is required for a packaged release.

  3. 3

    Open the domain

    The temporary first-run page starts install:all, shows live progress, removes itself when setup succeeds, and then opens the site wizard for database, site, and administrator details.

Passenger / Plesk: performance settings write tmp/restart.txt so the app restarts after cache or gzip changes.

Option C — Developers (source)

bash
git clone https://github.com/JustFlows/justflows-ce
cd justflows-ce
pnpm install
cp .env.example .env
# Set DATABASE_DRIVER, DATABASE_URL (or DB_*), APP_URL, APP_SECRET
pnpm --filter @justflows/server dev
# → http://localhost:3000/install

Root scripts: setup, install:all / install:production, build:server, start (node server.js), Turbo dev / build / test / lint / typecheck, and make-zip for a release archive.

What the wizard does

  • POST /api/install streams SSE steps: migrations, site row, admin user, default settings, English language, STATE=INSTALLED.
  • GET /api/install/status{ installed }.
  • GET /api/install/complete sets the jf_installed cookie.
  • Default settings include active_theme=justflows.default, posts_per_page=10, timezone=UTC, site_public=false, discourage_search_engines=false.

Never commit `.env`

Only example files belong in git. APP_SECRET must be unique per install and at least 32 characters.