Menu
Docs / Server Setup

Server Setup

Setting up a new server on DigitalOcean

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:

  1. Click "New SSH Key"
  2. Paste your public key (see SSH Keys guide)
  3. Give it a name
  4. 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 root for new droplets
  • Deploy User: We suggest deploy for 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:

  1. Create an app to deploy
  2. Configure your domain's DNS to point to the server IP
  3. Deploy your first release!