Key Features
Local-first Architecture
Fast, private, and no vendor lock-in
Bring Your Own API Keys
Works with OpenAI, Anthropic, Google Gemini, and Ollama
Supabase Integration
Built-in auth, database, and serverless functions
Git-based Versioning
Every edit is tracked with instant undo capability
Prerequisites
Recommended VPS Specifications
| Component | Requirement |
|---|---|
| Operating System | Ubuntu 22.04 or 24.04 LTS |
| RAM | Minimum 4GB (8GB+ for Ollama) |
| Storage | 20GB+ SSD |
| CPU | 2+ vCPUs (4+ recommended) |
Required Software
- Node.js 18.x or later
- npm or pnpm package manager
- Git version control
- Desktop environment or X11 forwarding
- AI API key (OpenAI, Anthropic, or Google)
Step 1: Initial Server Setup
Connect and Update System
Connect to your VPS and update the system:
ssh root@your-server-ip
apt update && apt upgrade -y
Create a non-root user (recommended):
adduser dyad
usermod -aG sudo dyad
su - dyad
Step 2: Install Dependencies
Install Build Tools & Node.js
Install essential build tools:
sudo apt install -y build-essential curl wget git
Install Node.js 20.x LTS:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
Verify installation:
node --version
npm --version
Install pnpm (recommended by Dyad):
npm install -g pnpm
Step 3: Set Up Desktop Environment
Note: Dyad is an Electron-based desktop application. You have several options for running it on a VPS.
Option A: Install XFCE Desktop (Lightweight)
Option B: Install Required Libraries Only
Option C: Install VNC Server
Step 4: Download and Install Dyad
Download Dyad AppImage
Download the latest Linux AppImage from GitHub:
mkdir -p ~/Applications && cd ~/Applications
wget https://github.com/dyad-sh/dyad/releases/latest/download/Dyad-linux-x86_64.AppImage
chmod +x Dyad-linux-x86_64.AppImage
Enable AppImage support:
sudo apt install -y fuse libfuse2
Alternative: Build from Source
Step 5: Configure and Launch Dyad
Launch Dyad
Launch Dyad:
./Dyad-linux-x86_64.AppImage
For X11 forwarding from your local machine:
ssh -X dyad@your-server-ip
cd ~/Applications && ./Dyad-linux-x86_64.AppImage
Initial Configuration
- Complete the Node.js setup if prompted
- Navigate to Settings and configure your AI API keys
- Choose your preferred AI model
- (Optional) Connect your GitHub account for deployment
AI Provider Options
| Provider | Recommended Model | Notes |
|---|---|---|
| Google Gemini | Gemini 2.5 Flash/Pro | Free tier: 250 msg/day |
| Anthropic | Claude Sonnet 4.5 | Excellent for code |
| OpenAI | GPT-4.1 | Strong general purpose |
| Ollama (Local) | Llama 3.1 | Free, needs 8GB+ RAM |
Step 6: Optional - Set Up Ollama for Local AI
Install Ollama
For completely private, offline AI generation:
curl -fsSL https://ollama.com/install.sh | sh
ollama pull llama3.1:8b
ollama list
In Dyad settings, select Ollama as your provider and choose your model.
Step 7: Running Dyad Apps as Services
Export and Deploy Your App
Export and run your Dyad-built app:
cd ~/dyad-apps/your-app-name
pnpm install
pnpm run build
Create a systemd service file:
sudo nano /etc/systemd/system/dyad-app.service
Add the following configuration:
[Unit]
Description=Dyad Application
After=network.target
[Service]
Type=simple
User=dyad
WorkingDirectory=/home/dyad/dyad-apps/your-app-name
ExecStart=/usr/bin/node dist/index.js
Restart=on-failure
Environment=NODE_ENV=production
Environment=PORT=3000
[Install]
WantedBy=multi-user.target
Enable and start the service:
sudo systemctl daemon-reload
sudo systemctl enable dyad-app
sudo systemctl start dyad-app
sudo systemctl status dyad-app
Step 8: Configure Nginx Reverse Proxy
Set Up Nginx with SSL
Install Nginx:
sudo apt install -y nginx
Create Nginx configuration:
sudo nano /etc/nginx/sites-available/dyad-app
Add the following:
server {
listen 80;
server_name your-domain.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_cache_bypass $http_upgrade;
}
}
Enable the site and restart Nginx:
sudo ln -s /etc/nginx/sites-available/dyad-app /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Add SSL with Certbot (Recommended):
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com
Troubleshooting
AppImage Fails to Start
Display/GUI Errors
Node.js Not Detected
API Connection Errors
Additional Resources
Dyad Official Website
Dyad Documentation
GitHub Repository
RamNode Support