Skip to main content

Getting Started: Create Your Own Cloud Instance for Self-Hosting Business License

This guide will walk you through the steps to create your own server instance and configure basic firewall rules to securely host your self-hosted platform.

Step 1: Create a New Cloud Server (Instance)

Choose your preferred cloud provider:

Recommended Instance Configuration

SettingValueNotes
Operating SystemUbuntu 24.04 LTSRecommended
Instance Type2 vCPU, 4GB RAM (minimum)Scale as needed
StorageSSD (50 GB or higher)
Public IPYesAuto-assigned or manual
SSH Key PairGenerate or use existingRequired for secure login

Note: If your cloud provider requires a Virtual Private Cloud (VPC) or similar, accept default settings unless you have custom networking needs.

IP Address Configuration

  • Use Elastic IP (AWS), Static IP (Google Cloud, Azure, DigitalOcean, Hetzner):
    • This ensures your server always retains the same public IP even after reboot or redeployment.
    • Having a fixed IP makes DNS mapping much easier.

Snapshots & Backup

  • Snapshots (Full server backup):

    • You may enable snapshots for your server instance to simplify disaster recovery.
    • 🔧 Note: Snapshots may incur additional storage costs depending on your cloud provider.
  • Database-Only Backup (Cost-saving option):

    • You can also set up regular database backups alone (MySQL/PostgreSQL dumps) if you prefer to back up only the application data without full disk snapshots.

Step 3: Secure Your Server with Firewall Rules

Firewall (Security Groups / Network Security Groups) control which traffic can reach your instance.

Recommended Firewall Rules

PurposeProtocolPortSource
HTTPTCP800.0.0.0/0
HTTPSTCP4430.0.0.0/0
SSH (Secure Access)TCP22Your Public IP Address/32

Replace Your Public IP Address with your actual public IP.

The /32 notation means "only this exact IP".

  • ✅ This ensures only you can access SSH while keeping HTTP/HTTPS open for public web access.

Apply Firewall Rules:

Cloud ProviderFirewall Rule Name
AWSSecurity Groups
Google CloudFirewall Rules
AzureNetwork Security Groups
DigitalOceanFirewalls
HetznerFirewall Groups

Step 4: Connect to Your Server via SSH

For Mac / Linux / Terminal Users

Run the following command:

ssh -i /path/to/your/private_key.pem username@your_instance_public_ip

Replace /path/to/your/private_key.pem with your private key file path.

Replace username and your_instance_public_ip accordingly.

Default SSH Usernames

CloudDefault Username
AWSubuntu
Google Cloudusername you configured
DigitalOceanroot
Hetznerroot
Azureusername you configured

For Windows Users (Using PuTTY)

  1. Download PuTTY & PuTTYgen from the official website.
  2. Convert your SSH Key (.pem) to PuTTY format (.ppk):
    • Open PuTTYgen.
    • Load your .pem file.
    • Save private key as .ppk.
  3. Connect via PuTTY:
    • Host Name: your_instance_public_ip
    • Port: 22
    • SSH > Auth > Browse and select your .ppk file.
    • Open session and login using the default username.

Step 5: Important Considerations

  • Dynamic IP:

    • If your IP changes often, update the SSH rule or use a VPN with a static IP.
  • Security Best Practices:

    • Only open required ports.
    • Disable root login after initial setup.
    • Use strong SSH keys.
    • Regularly review firewall rules.
  • Optional for Production:

    • Consider using a Bastion Host or VPN-based SSH access for added security.
    • Consider enabling cloud provider monitoring & alerting services.