Arcellite is a self-hosted personal cloud platform for file management, AI assistance, database tools, and smart device integrations. This documentation covers every feature from initial setup to advanced integrations.
Use the sidebar to navigate between sections. If you're new, start with System Requirements and the Installation Guide.
Hardware and software specifications for running Arcellite.
Minimum
Recommended
Software Prerequisites
Node.js
≥ 18
Required
PostgreSQL
≥ 14
Required
MySQL/MariaDB
Any
Optional
PM2
Latest
Optional
Complete step-by-step guide to installing Arcellite on your server.
git clone https://bitbucket.org/arcellite-server/arcelliteserver.git
cd arcelliteserverThe automated installer handles everything — Node.js, PostgreSQL, MySQL, SQLite, data directories, environment configuration, and PM2 process management.
chmod +x install.sh
./install.shThe installer runs 10 steps automatically:
Once installed, open your browser:
# Local access
http://localhost:3000
# LAN access
http://YOUR-SERVER-IP:3000Complete the setup wizard to create your admin account, then go to Settings → AI Models to add your API keys.
pm2 status # Check status
pm2 logs arcellite # View logs
pm2 restart arcellite # Restart
pm2 stop arcellite # Stop
pm2 startup # Auto-start on reboot~/arcellite-data/
├── files/ # General files
├── photos/ # Images & photos
├── videos/ # Video files
├── music/ # Music files
├── shared/ # Shared files
├── avatars/ # User profile pictures
├── databases/ # User-created databases
│ └── sqlite/ # SQLite files
└── team/ # Isolated per-user storageUpload, organize, and share files from any browser.
Upload files up to 10 GB
Real-time progress bar with streaming I/O — no blocking the server
AI-powered auto-rename
Let the AI assistant rename files by content, date, or custom rules
Preview everything
Built-in PDF viewer, image gallery, video player, and audio player
Ghost folders
Hidden directories invisible in file listings — for private content
PIN-locked directories
Require a PIN to open specific folders
Team sharing
Each team member gets isolated storage under your data directory
Favorites & tags
Mark files as favorites and add custom tags for organization
Trash & restore
Deleted files go to trash first; restore anytime within 30 days
Chat with your own AI — 10 supported providers.
Add API keys via Settings → AI Models. You can switch between providers instantly.
Full file access
The AI can read, write, rename, move, and delete files in your cloud
Real-time streaming
Responses stream token-by-token — no waiting for complete replies
Voice output
ElevenLabs TTS integration converts AI responses to speech
Code execution context
AI can reference your databases and data directory contents
Model switching
Switch between providers mid-conversation; context is preserved
Manage PostgreSQL, MySQL, and SQLite databases from your browser.
Arcellite supports three database engines out of the box. Access them via the Database tab in the sidebar.
Primary database. Used by Arcellite itself. Access remotely with your credentials.
Port: 5432Secondary database. Run queries, manage tables, and export data via browser UI.
Port: 3306Create and query SQLite databases locally. Pure JS — no system packages needed.
Port: LocalRemote access firewall rules:
# Allow PostgreSQL remote access
sudo ufw allow 5432/tcp
# Allow MySQL remote access
sudo ufw allow 3306/tcpConnect Arcellite to hundreds of apps via n8n workflow automation.
Arcellite ships with 5 pre-built n8n workflow templates. Run n8n on the same server via Docker Compose for seamless integration.
Docker Compose setup for n8n:
version: '3.8'
services:
n8n:
image: n8nio/n8n
restart: unless-stopped
ports:
- '5678:5678'
environment:
- N8N_HOST=localhost
- N8N_PROTOCOL=http
- WEBHOOK_URL=http://localhost:5678/
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:Pre-built workflow templates — download & import into n8n:
Chromecast Webhook — Cast from Website
Cast any photo or video to Chromecast / Google TV via webhook
AI to Discord — Send Messages via Webhook
Trigger Discord messages from Arcellite AI events
Google Drive File Manager
Two-way sync and management of Google Drive files
OneDrive File Manager
Sync and manage Microsoft OneDrive files from Arcellite
Home LAB Monitoring Agent
Monitor your home lab infrastructure and get alerts
Cast photos and videos directly to smart TVs via Chromecast.
Arcellite can cast media to any Chromecast or Google TV device on your network via an n8n → Home Assistant pipeline.
Cast Flow
Supported media types:
Send files and AI messages to Discord channels via n8n.
The Discord integration lets you send files from Arcellite directly to Discord channels. The AI assistant can also auto-select the appropriate channel based on content.
Webhook endpoints (via n8n):
# List available channels
GET /webhook/discord-channels
# Send message/file to channel
POST /webhook/discord-send
{
"channel": "general",
"message": "Hello from Arcellite!",
"fileUrl": "http://YOUR-SERVER:3000/..."
}Two-way sync with Google Drive and Microsoft OneDrive.
Keep your Arcellite files in sync with cloud storage providers using pre-built n8n workflows.
Two-way file sync between your Google Drive and Arcellite storage.
Two-way file sync between your OneDrive and Arcellite storage.
Access Arcellite remotely via your own domain name.
Two options for remote access: Cloudflare Tunnel (no port forwarding needed) or a traditional nginx/Caddy reverse proxy.
Option 1 — Cloudflare Tunnel (Recommended)
# Install cloudflared
curl -fsSL https://pkg.cloudflare.com/cloudflare-public-v2.gpg | \
sudo tee /usr/share/keyrings/cloudflare-public-v2.gpg >/dev/null
sudo apt-get install -y cloudflared
# Authenticate and create tunnel
cloudflared tunnel login
cloudflared tunnel create arcellite
cloudflared tunnel route dns arcellite cloud.yourdomain.com
cloudflared tunnel run arcelliteOption 2 — Nginx Reverse Proxy
server {
listen 80;
server_name cloud.yourdomain.com;
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_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
}
}Eight layers of protection for your self-hosted cloud.
256-bit cryptographically random Bearer tokens. Sessions expire automatically after 14 days. No JWT vulnerabilities.
TOTP-compatible 2FA works with Google Authenticator, Authy, and any RFC 6238 app.
Restrict logins to specific IP addresses or ranges. Unknown IPs receive a blank 404 response.
Unauthorized requests return generic 404 responses to prevent fingerprinting and enumeration.
Hidden directories that don't appear in file listings. Only the owner can see or access them.
Path traversal protection, MIME type validation, 10 GB size limit, and streaming I/O to prevent memory exhaustion.
Per-IP rate limiting on all auth endpoints. Automatic lockout after repeated failures.
Each user's storage is a completely isolated subdirectory. No cross-user file access is possible.