Manual Hub Setup
Step-by-step guide for installing SeaClip hub manually
When to use manual setup:
- You need custom configuration before installation
- You're installing in an air-gapped environment
- You want to understand each step of the process
Prerequisites
System Requirements
| Component | Minimum | Recommended |
|---|---|---|
| CPU | 2 cores | 4+ cores |
| RAM | 2 GB | 8 GB |
| Disk | 10 GB | 50 GB SSD |
| OS | Ubuntu 22.04+, Debian 12+, or macOS 13+ | |
Software Requirements
bash — Check versions
node -v # Must be 20.x or higher
pnpm -v # Must be 8.x or higher
git --version
Install Node.js 20
bash — Ubuntu/Debian
# Using NodeSource
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
# Verify
node -v
Install pnpm
bash
npm install -g pnpm
# Verify
pnpm -v
Step 1: Clone the Repository
bash
git clone https://github.com/t4tarzan/seaclip.git
cd seaclip
Step 2: Install Dependencies
bash
pnpm install
This installs dependencies for all workspace packages:
@seaclip/server— Express API server@seaclip/ui— React dashboard@seaclip/cli— Command-line tool@seaclip/shared— Shared types and utilities
Step 3: Configure Environment
bash
# Copy example environment file
cp .env.example .env
# Edit with your settings
nano .env
Essential Environment Variables
.env
# Server
PORT=51842
SEACLIP_DEPLOYMENT_MODE=local_trusted
SEACLIP_EDITION=simple # or "enhanced"
# Database (SQLite by default, or PostgreSQL)
# DATABASE_URL=postgres://user:pass@localhost:5432/seaclip
# Ollama (local LLM)
OLLAMA_BASE_URL=http://localhost:11434
# Optional: Telegram notifications
# TELEGRAM_BOT_TOKEN=your-bot-token
# TELEGRAM_CHAT_ID=your-chat-id
Step 4: Initialize Database
Option A: SQLite (Default)
No setup needed — SQLite database is created automatically on first run.
Option B: PostgreSQL
bash
# Create database
sudo -u postgres createdb seaclip
# Set DATABASE_URL in .env
echo 'DATABASE_URL=postgres://postgres:password@localhost:5432/seaclip' >> .env
# Run migrations
pnpm --filter @seaclip/server db:migrate
Step 5: Build the Project
bash
pnpm build
Step 6: Start the Server
Development Mode
bash
pnpm dev
Production Mode
bash
pnpm start
Step 7: Set Up Systemd Service (Production)
bash — Create service file
sudo tee /etc/systemd/system/seaclip.service > /dev/null << 'EOF'
[Unit]
Description=SeaClip Hub Server
After=network.target
[Service]
Type=simple
User=seaclip
WorkingDirectory=/opt/seaclip
ExecStart=/usr/bin/node /opt/seaclip/server/dist/index.js
Restart=always
RestartSec=10
Environment=NODE_ENV=production
EnvironmentFile=/opt/seaclip/.env
[Install]
WantedBy=multi-user.target
EOF
bash — Enable and start
sudo systemctl daemon-reload
sudo systemctl enable seaclip
sudo systemctl start seaclip
# Check status
sudo systemctl status seaclip
Step 8: Verify Installation
bash
# Health check
curl http://localhost:51842/api/health
# Run diagnostics
pnpm cli doctor