Server Setup
How to create a DigitalOcean droplet and configure it for Ship It Squirrel.
Creating a DigitalOcean Droplet
A "droplet" is DigitalOcean's name for a virtual server. Here's how to create one:
1. Log into DigitalOcean
Go to cloud.digitalocean.com and sign in.
2. Create a new Droplet
Click the green "Create" button and select "Droplets".
3. Choose an image
Select Ubuntu 24.04 (LTS) - this is the latest long-term support version.
Ship It Squirrel's provisioning scripts are designed for Ubuntu. Other distributions may work but aren't officially supported.
4. Choose a plan
For a typical Rails app, we recommend:
- Basic plan - Good for most apps
- $12/month (2GB RAM) - Minimum for Rails + PostgreSQL
- $24/month (4GB RAM) - Recommended for production
5. Choose a datacenter region
Pick the region closest to your users. Common choices:
- NYC1/NYC3 - US East Coast
- SFO3 - US West Coast
- LON1 - Europe
6. Authentication
This is important! Choose "SSH Keys" (not Password).
If you haven't added your SSH key yet:
- Click "New SSH Key"
- Paste your public key (see SSH Keys guide)
- Give it a name
- Click "Add SSH Key"
7. Finalize and create
- Hostname: Give it a memorable name (e.g., "rails-production")
- Click "Create Droplet"
Wait about 60 seconds for the droplet to be created. You'll see its IP address on the dashboard.
Adding the Server to Ship It Squirrel
Now let's add your new server to Ship It Squirrel.
1. Go to Servers
Click Servers in the sidebar, then "Add Server".
2. Fill in the details
- Name: A friendly name (e.g., "Production Server")
- IP Address: Copy from DigitalOcean dashboard
- SSH User: Usually
rootfor new droplets - Deploy User: We suggest
deployfor new droplets (created during provisioning) - SSH Port:
22(default) - Provider: DigitalOcean
- Region: The region you selected
3. Add your SSH private key
In the "SSH Private Key" field, paste your private key. See the SSH Keys guide for how to get this.
4. Save and provision
After saving, you'll see a "Provision Server" button. Click it to install all the software your Rails app needs.
What provisioning installs
When you click "Provision Server", Ship It Squirrel connects to your server and installs:
| Software | Purpose |
|---|---|
| Ruby 3.3 (via rbenv) | Runs your Rails app |
| PostgreSQL | Database |
| Redis | Caching, Action Cable, Sidekiq |
| Node.js + Yarn | JavaScript asset compilation |
| Caddy | Web server with automatic HTTPS |
| UFW Firewall | Security (allows ports 22, 80, 443) |
Provisioning takes 5-10 minutes. The server status will change to "Ready" when complete.
Security considerations
After provisioning, consider:
- Creating a non-root user for deploys
- Disabling root SSH login
- Setting up fail2ban for brute force protection
- Enabling automatic security updates
Ship It Squirrel creates a deploy user during provisioning that has limited sudo access for restarting services.
Next steps
Once your server is provisioned:
- Create an app to deploy
- Configure your domain's DNS to point to the server IP
- Deploy your first release!