First Run¶
With dependencies installed and your .env configured, you're ready to start Pipelit.
Start Redis¶
Ensure Redis 8.0+ is running:
# If installed via package manager
sudo systemctl start redis
# Or via Docker
docker run -d --name redis -p 6379:6379 redis:8
Verify: redis-cli ping should return PONG.
Start All Services¶
Start everything with a single command using honcho:
This launches four processes defined in the Procfile:
| Process | Description |
|---|---|
| server | FastAPI backend on :8000 with auto-reload |
| frontend | Vite dev server on :5173, proxies /api to :8000 |
| scheduler | RQ worker with --with-scheduler for delayed/recurring jobs |
| worker | RQ worker pool (2 workers) for parallel job processing |
The backend auto-creates the SQLite database and runs Alembic migrations on first startup.
Production Mode
For production, build the frontend once with npm run build and access everything through the FastAPI server at http://localhost:8000. No separate frontend server needed.
Manual startup (without honcho)
If you prefer to start services individually in separate terminals:
# Terminal 1 — Backend
cd platform && source ../.venv/bin/activate
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
# Terminal 2 — RQ Worker with scheduler
cd platform && source ../.venv/bin/activate
rq worker --worker-class worker_class.PipelitWorker workflows --with-scheduler
# Terminal 3 — Frontend (dev)
cd platform/frontend
npm run dev
Create Admin Account¶
Pipelit uses CLI commands for initial setup. Run the setup command to create your admin account:
cd platform && source ../.venv/bin/activate
python -m cli setup --username admin --password <your-password>
This creates the first user with admin privileges, generates an API key, and writes configuration to conf.json.
Environment variable alternative
You can pass the password via environment variable instead: PIPELIT_SETUP_PASSWORD=secret python -m cli setup --username admin
Optional: Apply a Quick-Start Fixture¶
To bootstrap a working workflow with an LLM credential and a chat agent:
python -m cli apply-fixture default-agent \
--provider anthropic \
--model claude-sonnet-4-20250514 \
--api-key sk-ant-...
This creates:
- An LLM provider credential with your API key
- A "default-agent" workflow with a chat trigger, agent, and AI model — ready to use
Log In¶
Open http://localhost:5173 (dev) or http://localhost:8000 (production) in your browser. Log in with the username and password you created above.
Verify Everything Works¶
After logging in, you should see the workflow dashboard. Verify the backend is healthy:
# Check API is responding
curl -s http://localhost:8000/api/v1/auth/me/ \
-H "Authorization: Bearer <your-api-key>" | python -m json.tool
# Check Redis connection
redis-cli ping
Next Step¶
Continue to the Quickstart Tutorial to build your first workflow.