Deploy Paperclip on Linode (Akamai Cloud)
Linode, now part of Akamai, has been a developer-favorite VPS provider for 20 years. Their Nanode plan starts at $5/month for a personal Paperclip deployment, with straightforward pricing and solid uptime.
Deploy on Railway instead →Why Linode for Paperclip
Linode (Akamai Cloud) is one of the most established VPS providers. Their infrastructure is reliable, support is responsive, and pricing is transparent. The Nanode 1GB ($5/month) will run Paperclip, but the Linode 2GB ($12/month) gives you more breathing room for agent workloads and database operations. Eleven global regions including Singapore, Sydney, and Toronto.
Step 1: Create a Linode
- Sign in at cloud.linode.com
- Click Create → Linode
- Configure:
- Distribution: Ubuntu 22.04 LTS
- Region: Select closest to your users
- Linode Plan: Shared CPU → Nanode 1GB ($5/month) or Linode 2GB ($12/month recommended)
- Linode Label:
paperclip - Root Password: Set a strong root password
- SSH Keys: Add your public key
- Click Create Linode
Provisioning takes about 45 seconds.
Step 2: Initial server setup
ssh root@YOUR_LINODE_IP
apt update && apt upgrade -y
apt install -y curl git nginx ufw
# Create a dedicated deploy user
adduser deploy
usermod -aG sudo deploy
rsync --archive --chown=deploy:deploy ~/.ssh /home/deploy
Disable root SSH login for security:
sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
systemctl reload sshd
From this point, connect as deploy@YOUR_LINODE_IP.
Step 3: Install Node.js 20
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
apt install -y nodejs
node --version # v20.x.x
Step 4: Install Paperclip and set up directories
npm install -g paperclipai
mkdir -p /opt/paperclip/data
chown -R deploy:deploy /opt/paperclip
Create /opt/paperclip/.env:
sudo bash -c 'cat > /opt/paperclip/.env << EOF
NODE_ENV=production
PAPERCLIP_DATA_DIR=/opt/paperclip/data
BETTER_AUTH_SECRET=REPLACE_WITH_RANDOM
PAPERCLIP_LISTEN_PORT=3100
PAPERCLIP_LISTEN_HOST=127.0.0.1
EOF'
sudo chmod 600 /opt/paperclip/.env
sudo chown deploy:deploy /opt/paperclip/.env
Generate the secret: openssl rand -hex 32
Step 5: Create systemd service
sudo bash -c 'cat > /etc/systemd/system/paperclip.service << EOF
[Unit]
Description=Paperclip AI
After=network.target
[Service]
Type=simple
User=deploy
WorkingDirectory=/opt/paperclip
EnvironmentFile=/opt/paperclip/.env
ExecStart=/usr/bin/npx paperclipai server start
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF'
sudo systemctl daemon-reload
sudo systemctl enable --now paperclip
sudo systemctl status paperclip
Step 6: nginx configuration
sudo bash -c 'cat > /etc/nginx/sites-available/paperclip << EOF
server {
listen 80;
server_name paperclip.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3100;
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_read_timeout 300;
}
}
EOF'
sudo ln -s /etc/nginx/sites-available/paperclip /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
Step 7: SSL certificate
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d paperclip.yourdomain.com
Step 8: Firewall
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
Step 9: Linode DNS Manager (optional)
If your domain is managed elsewhere, skip this. If you want to use Linode's DNS:
- In cloud.linode.com, go to Domains → Add a Domain
- Add your domain and create an A record for
paperclippointing to your Linode IP - Update your domain's nameservers to Linode's nameservers
Monitoring with Linode
Linode includes basic CPU, RAM, and network graphs in the dashboard. For detailed monitoring, install the Linode Monitoring Agent:
curl -O https://lp.akamai.com/rs/010-ZEP-759/images/linode-longview-install.sh
bash linode-longview-install.sh
Backups
Enable Linode Backups in your dashboard ($2–$5/month depending on plan size). For critical Paperclip data, also snapshot the database manually:
# Stop Paperclip briefly for a clean backup
sudo systemctl stop paperclip
tar -czf /tmp/paperclip-backup-$(date +%Y%m%d).tar.gz /opt/paperclip/data
sudo systemctl start paperclip
Updating Paperclip
sudo npm install -g paperclipai@latest
sudo systemctl restart paperclip
Cost
- Nanode 1GB: $5/month (personal use)
- Linode 2GB: $12/month (recommended for agents running concurrently)
- Backups: +20% of plan cost
For fully managed deploys without server setup, Railway gives you $20 free credit to get started.
Ready to deploy?
Affiliate disclosure: this link may earn us a commission at no extra cost to you.
This is an independent guide. Paperclip Hosting is not affiliated with the official Paperclip project. Guide steps are based on real deployments and are subject to change as the software evolves.
Related articles
Deploy Paperclip on Fly.io
Run Paperclip on Fly.io with persistent storage, zero-downtime deploys, and global edge distribution — full setup guide.
Deploy Paperclip on Render
Host Paperclip on Render with a persistent disk, free SSL, and auto-deploys from GitHub — step-by-step setup guide.
Deploy Paperclip on Hetzner Cloud
Host Paperclip on Hetzner for as little as €4.51/month — one of the cheapest VPS options in Europe with great performance.
