VPS – SSD Nodes https://www.ssdnodes.com VPS Cloud Hosting For Hundreds Less Thu, 07 May 2026 20:31:25 +0000 en-US hourly 1 https://wordpress.org/?v=6.7.1 https://www.ssdnodes.com/wp-content/uploads/2024/09/fav.svg VPS – SSD Nodes https://www.ssdnodes.com 32 32 Best VPS Hosting Price Comparison (May 2026) https://www.ssdnodes.com/blog/vps-hosting-price-comparison/ https://www.ssdnodes.com/blog/vps-hosting-price-comparison/#respond Sun, 03 May 2026 23:30:36 +0000 https://www.ssdnodes.com/?p=8522 Looking to make a smart choice about your VPS hosting purchase? You're in the right place! We've conducted thorough research to gather current and precise pricing information from multiple VPS hosting companies, and we're now sharing with you a comprehensive VPS hosting price analysis designed to make your selection process easier.

Most VPS users overpay by 70-90% without realizing it. Are you one of them? Find out in the next 2 minutes.

VPS Hosting Price Comparison

This detailed report will provide a price comparison analysis of the following VPS hosting providers:

  • SSD Nodes (that's us)
  • DigitalOcean
  • Akamai (Linode)
  • Vultr
  • AWS EC2
  • UpCloud
  • Hostinger
  • Hostwinds
  • hosting.com (Formerly known as A2 Hosting)

The report will cover the costs of each server from each provider.

VPS Hosting Price Comparison

Notes:

  • SSD Nodes does not provide hourly billing.
  • Keep in mind that this calculation takes only one server into account.
  • All the providers in this list offer reliable Linux VPS servers with great performance.

8GB RAM (2 vCPU, ~160GB Disk) VPS Comparison

VPS Hosting Price Comparison: 8GB

Price Comparison

The following table compares the cost of 8GB servers:

Server (8GB Plan) 1-Month Price 1-Year Price 3-Year Price
SSD Nodes $17 $101 $252
Vultr $40 $480 $1440
Akamai (Linode) $48 $576 $1728
DigitalOcean $48 $576 $1728
AWS (EC2 m6gd.large Instance) $48 $538 $1077
UpCloud $42 $504 $1512
Hostinger $24.49 $203 $539
Hostwinds $38.99 $467.88 $1403
hosting.com $31 $479
$1079

 

Savings with Respect to SSD Nodes

The following table showcases the savings you get for the SSD Nodes 8GB 3-year plan (252$) in comparison to other providers:

Provider Name 3-Year Price Price Difference Savings %
Vultr $1440 $1188 (83%↓)
Akamai (Linode) $1728 $1476 (85%↓)
DigitalOcean $1728 $1476 (85%↓)
AWS (EC2 m6gd.large Instance) $1077 $825 (71%↓)
UpCloud $1512 $1260 (88%↓)
Hostinger $539 $287 (46%↓)
Hostwinds $1403 $1152 (82%↓)
hosting.com $1079 $827 (80%↓)

Note: With SSD Nodes, the 8GB server plan typically costs $17/month, totaling $612 over three years. However, when you commit to our 3-year plan upfront, you'll pay just $252.


16GB RAM (4 vCPU, ~300GB SSD) VPS Comparison

VPS Hosting Price 16GB Comparison

Price Comparison

The following compares the cost of 16GB servers:

Server (16GB Plan) 1-Month Price 1-Year Price 3-Year Price
SSD Nodes $28 $159 $393
Vultr $80 $960 $2880
Akamai (Linode) $96 $1152 $3456
DigitalOcean $96 $1152 $3456
AWS (EC2 r6gd.large Instance) $61 $685 $1408
UpCloud $78 $936 $2808
Hostinger $42.99 $371 $1043
Hostwinds $76.99 $912 $2736
hosting.com $79.99 $959.88 $2879.68

As you can see, SSD Nodes delivers substantially more value for your investment. For even greater savings, you can reduce your three-year server cost from $393 to just $339 by selecting IPv6 instead of an IPv4 address.

Savings With Respect to SSD Nodes

The following table showcases the savings you get for the SSD Nodes 16GB 3-year plan ($393) in comparison to other providers:

Provider Name 3-Year Price Price Difference Savings %
Vultr $2880 $2487 (86%↓)
Akamai (Linode) $3456 $3063 (89%↓)
DigitalOcean $3456 $3063 (89%↓)
AWS (EC2 r6gd.large Instance) $1408 $1015 (65%↓)
UpCloud $2808 $2415 (90%↓)
Hostinger $1043 $650 (56%↓)
Hostwinds $2736 $2343 (86%↓)
hosting.com $2879 $2486 (86%↓)

With SSD Nodes, a 16GB server is $28/mo, but with our 3-year plan, it’s only $393 instead of $1008.


32GB RAM (8 vCPU, ~500GB SSD) VPS Comparison

VPS Hosting Price Comparison 32GB Server

Price Comparison

The following compares the cost of 32GB servers:

Server (32GB Plan) 1-Month Price 1-Year Price 3-Year Price
SSD Nodes $33 $184 $453
Vultr $160 $1920 $5760
Akamai (Linode) $192 $2304 $6912
DigitalOcean $252 $3024 $9072
AWS (EC2 r6gd.xlarge Instance) $122 $1370 $2814
UpCloud $160 $1920 $5760
Hostinger $73.99 $887 $2663
Hostwinds $124.99 $1499 $4499
hosting.com $109.99 $1319 $3959

Note: You can get your three-year server even cheaper at $399 instead of $453 with SSD Nodes if you choose to assign an IPv6 in place of IPv4.

Savings with Respect to SSD Nodes

The following table showcases the savings you get for the SSD Nodes 32GB 3-year plan ($453) in comparison to other providers:

Provider Name 3-Year Price Price Difference Savings %
Vultr $5760 $5307 (92%↓)
Akamai (Linode) $6912 $6459 (93%↓)
DigitalOcean $9072 $8619 (95%↓)
AWS (EC2 r6gd.xlarge Instance) $2814 $2361 (84%↓)
UpCloud $5760 $5307 (94%↓)
Hostinger $2663 $2210 (75%↓)
Hostwinds $4499 $4047 (89%↓)
hosting.com $3959 $3506 (87%↓)

Our 32GB servers regularly cost $33/month, but with a 3-year plan, you'll enjoy savings of more than 60%. You'll pay just $453 total instead of $1188.

The Secret Sauce: How SSD Nodes Delivers Premium VPS at Fraction of the Cost

After seeing the low prices SSD Nodes offers, you might be thinking, how in the world can these prices be achieved? Well, the answer is simple, we have three core advantages:

1) Vippy: Our Custom Next-generation VPS Hosting Technology

Vippy is our proprietary VPS technology, and it's the secret behind everything we do. It intelligently manages resource distribution, sustains top-tier performance, and provides the dependable uptime you can truly rely on. With Vippy, your sites run quicker, experience less downtime, and deliver a hosting experience that simply works.

2) Strategic Partnerships with Industry Titans

Here's our approach to maintaining low prices without sacrificing quality: we collaborate with industry leaders. These strategic alliances provide us with superior pricing and enable more efficient operations. Consider Hivelocity—through our partnership with them, you gain access to over 40 world-class data centers distributed across 6 continents.

Then there's our network game. By working with major providers like Hurricane Electric, GTT, Telia, and Cogent, we deliver lightning-fast, bulletproof connectivity while keeping your costs ridiculously low.

3) Our Team of Experts

Our talented engineers and marketers are continuously dedicated to innovation and operational excellence, guaranteeing we deliver exceptional value to you. They're always creating more intelligent solutions to provide top-quality service at affordable rates through ongoing training and innovative thinking. Check out our exceptional team here!

Conclusion

The data is clear. Compared to other providers, SSD Nodes offers savings that can reach up to 90% while maintaining service quality.

For developers managing multiple projects, small businesses operating on tight budgets, or tech enthusiasts exploring new ideas, these price differences can significantly affect what's feasible within your resources.

Informed hosting choices rely on accurate information, and you now have access to it.

VPS Hosting Price Comparison Summary

$1440

Vultr

83%

Savings

$1728

Linode

85%

Savings

$1728

DigitalOcean

85%

Savings

$1077

AWS

71%

Savings

$1512

UpCloud

88%

Savings

$539

Hostinger

46%

Savings

$1403

Hostwinds

82%

Savings

$1079

hosting.com

80%

Savings

$252

SSD Nodes

$2880

Vultr

86%

Savings

$3456

Linode

89%

Savings

$3456

DigitalOcean

89%

Savings

$1408

AWS

65%

Savings

$2808

UpCloud

90%

Savings

$1043

Hostinger

56%

Savings

$2736

Hostwinds

86%

Savings

$2879

hosting.com

86%

Savings

$393

SSD Nodes

$5760

Vultr

92%

Savings

$6912

Linode

93%

Savings

$9072

DigitalOcean

95%

Savings

$2814

AWS

84%

Savings

$5760

UpCloud

94%

Savings

$2663

Hostinger

75%

Savings

$4499

Hostwinds

89%

Savings

$3959

hosting.com

87%

Savings

$453

SSD Nodes

* Analysis over 3-years billing cycle

]]>
https://www.ssdnodes.com/blog/vps-hosting-price-comparison/feed/ 0
Using Traefik as a Reverse Proxy for Multiple Hosts with Docker Compose https://www.ssdnodes.com/blog/traefik-as-a-reverse-proxy-for-multiple-hosts-docker-compose/ https://www.ssdnodes.com/blog/traefik-as-a-reverse-proxy-for-multiple-hosts-docker-compose/#respond Fri, 01 Nov 2024 07:00:18 +0000 https://blog.ssdnodes.com/blog/?p=1552 This guide will cover how to use Traefik as a reverse proxy to manage multiple hosts with Docker Compose.

Suppose you had deployed several microservices using Docker and you want to connect these microservices to the outside world. You will probably use some reverse proxy solution that will act as a frontend for these microservices. Nginx is the most popular and efficient reverse proxy solution, but it was written before container technology (like Docker) became so popular. The modern solution for hosting multiple hosts with Docker is now Traefik.

What is Traefik?

Traefik is a modern reverse proxy solution written in GO to meet modern containerized challenges.

Unlike a traditional reverse proxy, which requires manual configuration, Traefik uses service discovery to dynamically configure routing. Traefik supports all major protocols, leveraging a rich set of middleware for load balancing, rate-limiting, circuit-breakers, mirroring, authentication, and more. Traefik also supports SSL termination and works with ACME providers (like Let’s Encrypt) for automatic certificate generation. Source.

Traefik was developed with containerized technology in mind, which means there’s a lot of new features available in comparison with other reverse proxy solutions. When running, Traefik does the following and more:

  • Dynamically updates the configuration and loads it without a restart.
  • Load balances requests from the outside world using multiple available algorithms.
  • Enables HTTPS for microservices using Let’s Encrypt.
  • Provides a clean web UI.
  • Supports for WebSocket, HTTP/2, GRPC.
  • Provides metrics to Rest, Prometheus, Datadog, Statsd, InfluxDB.

Traefik Reverse Proxy for Multiple Hosts with Docker Compose

Why Use Traefik as a Reverse Proxy for Multiple Hosts?

Say, for example, you want to remove one of the microservices from the container or change its port, and, as a result, you have to edit the Nginx configuration file to reflect the new container settings. Now, consider another situation where you add, delete, or scale the microservices application several times in a day—now, you’re editing the routes and other settings several times in the reverse proxy configuration file.

In this article, we will check how to install Traefik and configure it in a standalone and Dockerized environment, and then give examples of connecting it to your microservices in the backend.

Prerequisites to Install Traefik

  • A VPS running Ubuntu 24.04. Get your Linux VPS hosting from a reputable and trustworthy provider like SSD Nodes. We offer powerful Ubuntu servers and the best deals. Take a look at our offerings and prepare for your mind to be blown 🤯.
  • A non-root, sudo-enabled user. If you only have a root user, see our SSH tutorial for details on creating new users.
  • A working Docker installation—for information about how to install Docker, check out our getting started with Docker tutorial.

Using Traefik without Docker

Our first goal is to install Traefik  and use it to route a few applications (backend) using Traefik configuration without Dockerizing them. To do that, we’ll install Apache and Nginx and configure them to use different ports, as they will act as a backend.

First, update your system package index:

$ sudo apt update

Install Apache:

$ sudo apt install apache2

Change the port number to 8083 from 80 in /etc/apache2/ports.conf and restart Apache.

$ sudo nano /etc/apache2/ports.conf
$ sudo systemctl restart apache2

Next, install Nginx:

$ sudo apt install nginx

Create a custom welcome page for the Nginx server to distinguish between the two servers:

$ sudo mkdir /var/www/nginx_html
$ sudo echo '<!DOCTYPE html><html><body><h1>Welcome to My Nginx Page</h1></body></html>' | sudo tee /var/www/nginx_html/index.html

Next, edit the default Nginx configuration file:

$ sudo nano /etc/nginx/sites-available/default 

Point Nginx to the new /var/www/nginx_html directory, and the 8082 port number:

server {
        listen 8082 default_server;
        listen [::]:8082 default_server;
        # ...
        # ...
        # ...
        
        root /var/www/nginx_html;
        # ...
        # ...
        # ...
        }

Next, restart Nginx:

$ sudo systemctl restart nginx

Now both Apache and Nginx will be available in the port number 8083 and 8082, respectively.

Step 1: Install Traefik

To install Traefik as a standalone environment, we need to download the binary and edit the Traefik configuration file and rules files.
Download the Traefik binary from the releases page:

$ wget https://github.com/traefik/traefik/releases/download/v3.1.4/traefik_v3.1.4_linux_amd64.tar.gz

Remember to replace v3.1.4 with the latest release, or another binary that is compatible with your system.

Check the integrity of the downloaded file and compare it to the value in the traefik_v3.1.4_checksums.txt file:

$ sha256sum ./traefik_v3.1.4_linux_amd64.tar.gz

Next, extract the compressed file:

$ tar -zxvf traefik_v3.1.4_linux_amd64.tar.gz

You can now use ./traefik to run Traefik configurations.

Step 2: Traefik Configuration

To host multiple websites with Traefik, you’ll need to create a configuration file that routes each domain to the corresponding port.

First, we’ll create a traefik.yml file that gets automatically detected by Traefik:

log:
  level: "DEBUG"

entryPoints:
  web:
   address: ":80"

providers:
  file:
    filename: "./rules.yml"
    watch: true

In this traefik.yml file, you have the following:

  • log: Sets log level to DEBUG for detailed output.
  • entryPoints: Defines web entry point to listen on port 80 for HTTP traffic.
  • providers: This tells Traefik to load dynamic configuration (such as routes and services) from the rules.yml file, and watch for changes.

Step 3: Set up Traefik Rules

Next, create a rules.yml file to define dynamic routing rules:

http:
  routers:
    router1:
      rule: "Host(`nginx.example.com`)"
      service: service1
      entryPoints:
        - web
    router2:
      rule: "Host(`apache.example.com`)"
      service: service2
      entryPoints:
        - web

  services:
    service1:
      loadBalancer:
        servers:
          - url: "http://127.0.0.1:8082"
    service2:
      loadBalancer:
        servers:
          - url: "http://127.0.0.1:8083"

Here, you definerouters to define traffic rules and route them to services:

  • router1: Routes traffic requests for nginx.example.com to service1.
  • router2: Routes traffic requests for apache.example.com to service2.

The services are defined as follows:

  • service1: Forwards traffic to the Nginx server at http://127.0.0.1:8082.
  • service2: Forwards traffic to Apache server at http://127.0.0.1:8083.

Both routers listen on the web entry point, which was defined in the traefik.yml file.

Make sure you are in the Traefik directory that hosts both the Traefik binary and the traefik.yml file, then run the following command:

$ ./traefik

Now, if you navigate to your domain names, you should see two different welcome pages, one for Nginx and one for Apache:

http://nginx.example.com/
http://apache.example.com/

With this, you now have two websites on one server with Traefik as a proxy. However, these two websites are served through HTTP and are not secured with HTTPS. We’ll fix this in the next section and add a Let’s Encrypt certificate to both domains.

Step 4: Using TLS in Traefik with Let’s Encrypt

To use Let’s Encrypt with your Traefik configuration, edit traefik.yml by adding a websecure entry point that listens on port 443 , which is the default HTTPS port, and a certificatesResolvers section to define how the Let’s Encrypt certificate will be resolved:

log:
  level: "DEBUG"

entryPoints:
  web:
   address: ":80"
  websecure:
   address: ":443"

providers:
  file:
    filename: "./rules.yml"
    watch: true

certificatesResolvers:
  myresolver:
    acme:
      email: "your_email@example.com"
      storage: "acme.json"
      httpChallenge:
        entryPoint: web

providers:
  file:
    filename: "./rules.yml"
    watch: true

Next, update rules.yml by adding the websecure entry point and a tls option that uses the myresolver certificate resolver you defined in the traefik.yml file earlier, in addition to a tlsoptions field that specifies the TLS version.

http:
  routers:
    router1:
      rule: "Host(`app1.your_domain.com`)"
      service: service1
      entryPoints:
        - web
        - websecure
      tls:
        certResolver: myresolver
        options: tlsoptions

    router2:
      rule: "Host(`app2.your_domain.com`)"
      service: service2
      entryPoints:
        - web
        - websecure
      tls:
        certResolver: myresolver
        options: tlsoptions

  services:
    service1:
      loadBalancer:
        servers:
          - url: "http://127.0.0.1:8082"
    service2:
      loadBalancer:
        servers:
          - url: "http://127.0.0.1:8083"
tls:
  options:
    tlsoptions:
      minVersion: VersionTLS12

 

Now, you can start Traefik again—but remember to kill previous instances of it first.

$ ./traefik

With this, you are now hosting two different web services via HTTPS with Traefik. Next, you’ll learn how to use Traefik as a load balancer.

Step 5: Using Traefik as a Load Balancer

With little modification to the above rules file, we can make Traefik to act as a load balancer between both Apache and Nginx instances.

$ nano rules.yml

You can replace the file’s contents with the following:

http:
  routers:
    router1:
      rule: "Host(`your_domain.com`)"
      service: service1
      entryPoints:
        - web
        - websecure
      tls:
        certResolver: myresolver
        options: tlsoptions

  services:
    service1:
      loadBalancer:
        servers:
          - url: "http://127.0.0.1:8082"
            weight: 2
          - url: "http://127.0.0.1:8083"
            weight: 1

tls:
  options:
    tlsoptions:
      minVersion: VersionTLS12

Weight determines the proportion of traffic each server will receive. In this example:

  • The Nignx server at http://127.0.0.1:8082 has a weight of 2.
  • The Apache server at http://127.0.0.1:8083 has a weight of 1.

This means that for every 3 requests, 2 will go to http://127.0.0.1:8082 and 1 will go to http://127.0.0.1:8083.

Now, you can start Traefik again—but remember you have to kill previous instances of it first.

$ ./traefik

Use your browser to visit the domain name that you entered into the rules.yml file and hit refresh. You’ll find that Traefik is both proxying load balancing the Apache and Nginx backends.

Now, let’s look at this same process, but using Docker, docker-compose, and containerized/Dockerized microservices, which is likely how many of you will end up using Traefik.

Using Traefik with Docker Compose

Step 1: Traefik Reverse Proxy Example for Docker

In this section, we'll explore an example of a Traefik reverse proxy with Docker compose.

First, let’s create a docker-compose.yml file, in which we will define services for Traefik and the other two microservices—Apache and Nginx, just like before.

$ nano docker-compose.yml

Add the following:

version: '3'
services:
  reverse-proxy:
    image: traefik:latest
    command: --configFile=/etc/traefik/traefik.yml
    ports:
      - "80:80"       # HTTP
      - "443:443"     # HTTPS
      - "8080:8080"   # Traefik dashboard
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./traefik.yml:/etc/traefik/traefik.yml
      - ./acme.json:/acme.json
    networks:
      - traefik

  apache:
    image: httpd:latest
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.apache.rule=Host(`apache.example.com`)"
      - "traefik.http.routers.apache.entrypoints=web,websecure"
      - "traefik.http.routers.apache.tls.certresolver=myresolver"
      - "traefik.http.services.apache.loadbalancer.server.port=80"
    networks:
      - traefik

  nginx:
    image: nginx:latest
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.nginx.rule=Host(`nginx.example.com`)"
      - "traefik.http.routers.nginx.entrypoints=web,websecure"
      - "traefik.http.routers.nginx.tls.certresolver=myresolver"
      - "traefik.http.services.nginx.loadbalancer.server.port=80"
    networks:
      - traefik

networks:
  traefik:
    external: true

Three services have been defined in the above docker-compose.yml file, and they are reverse-proxy, apache and nginx.

In the port section, 8080 is the port used by Traefik for its web interface and port 80is used for all default HTTP requests. In the volume section, the Docker socket is accessed by Traefik to route requests to the right container.

We need to knit all the three services together so that they can communicate with each other, which is why we created the traefik network at the end of the file.

As for the services, we have the following:

  • reverse-proxy service: This is the Traefik service acting as a reverse proxy, with ports for HTTP, HTTPS, and the Traefik dashboard.
  • Apache and Nginx services: Both have labels that define routing rules for Traefik:
    • traefik.http.routers.[service].rule: Routes traffic based on the Host.
    • traefik.http.routers.[service].entrypoints: Defines which entry points to use (web for HTTP, websecure for HTTPS).
    • traefik.http.routers.[service].tls.certresolver: Configures TLS with the myresolver certificate resolver, which we’ll define in the traefik.yml file next section.
    • traefik.http.services.[service].loadbalancer.server.port: Defines the internal port for each service.

Step 2: Run Traefik using Docker

First, create a new traefik.yml file. This is the configuration file referenced inside docker-compose.yml in the previous section. This Traefik configuration file defines the entry points, certificate resolver, and sets the provider as Docker:

log:
  level: "DEBUG"  # Set log level to DEBUG for detailed logs

entryPoints:
  web:
    address: ":80"
  websecure:
    address: ":443"
  traefik:
    address: ":8080"  # Dashboard entry point

certificatesResolvers:
  myresolver:
    acme:
      email: your_email@example.com
      storage: acme.json
      httpChallenge:
        entryPoint: web

providers:
  docker:
    exposedByDefault: false
#api:
#  dashboard: true  # Enable the Traefik dashboard
#  insecure: true   # Allow access to the dashboard without authentication (for development)

Here, you have the following:

  • EntryPoints: Defines the ports that Traefik will listen to for HTTP (:80) and HTTPS (:443) traffic.
  • certificatesResolvers: This uses the ACME protocol to automatically generate SSL certificates for the domains (replace your-email@example.com with your real email). The great thing about Traefik is that these certificates are dynamic, meaning that if you add a new domain or subdomain to docker-compose.yml, Traefik will automatically fetch the key/certificate and store them in acme.json.
    • The httpChallenge is configured to solve TLS challenges over HTTP (port 80).
  • providers.docker: Enables Docker as the provider for dynamic routing, but exposedByDefault: false ensures that only services explicitly enabled via labels will be exposed by Traefik.

Make sure Traefik has access to your acme.json file, which stores certificate information:

$ touch acme.json
$ chmod 600 acme.json

Create the traefik network:

$ docker network create traefik

Start the services with Docker Compose:

$ docker compose up -d

You should see the following output:

[+] Running 19/19
 ✔ reverse-proxy Pulled                                                                             19.4s
   ✔ 43c4264eed91 Pull complete                                                                      3.0s
   ✔ eee3b43fedbd Pull complete                                                                      3.5s
   ✔ e951b536ebf8 Pull complete                                                                      5.9s
   ✔ 188dd7af1135 Pull complete                                                                      3.9s
 ✔ apache Pulled                                                                                    16.2s
   ✔ 62dd86107c65 Pull complete                                                                      1.3s
   ✔ 4f4fb700ef54 Pull complete                                                                      3.8s
   ✔ 509789394c2a Pull complete                                                                      3.8s
 ✔ nginx Pulled                                                                                     18.7s
   ✔ a2318d6c47ec Pull complete                                                                      0.8s
   ✔ 095d327c79ae Pull complete                                                                      1.5s
   ✔ 24b3fdc4d1e3 Pull complete                                                                      2.8s
   ✔ 3122471704d5 Pull complete                                                                      3.2s

With this, you’ll have two HTTPS-enabled applications served by Traefik at https://apache.your_domain.com/ and https://nginx.your_domain.com/

Step 3: Enable the Traefik Dashboard

If you want to access the Traefik dashboard, uncomment the last two lines in the traefik.yml file:

log:
  level: "DEBUG"

entryPoints:
  web:
    address: ":80"
  websecure:
    address: ":443"
  traefik:
    address: ":8080"  # Dashboard entry point

certificatesResolvers:
  myresolver:
    acme:
      email: your-email@example.com
      storage: acme.json
      httpChallenge:
        entryPoint: web

providers:
  docker:
    exposedByDefault: false

api:
  dashboard: true  # Enable the Traefik dashboard
  insecure: true   # Allow access to the dashboard without authentication (for development)

Note: Allowing access to the Traefik dashboard without authentication poses a security risk, as it can expose sensitive configuration details to unauthorized users. Remember to only use this insecure option in testing environments.

You can then access the Traefik dashboard on port 8080 :

http://your_domain.com:8080/dashboard

In this dashboard, you can monitor and manage Traefik's routing, view active services, routers, middlewares, and review logs for troubleshooting.

Step 4: Access Traefik Logs

If you still can't access the dashboard, check the logs for errors:

$ docker compose logs reverse-proxy

Step 5: Set up Traefik to Redirect HTTP to HTTPS

To redirect HTTP to HTTPS with Traefik, you need to add a middleware for HTTP to HTTPS redirection and apply it to the web entrypoint. Open traefik.yml and add the following highlighted parts:

log:
  level: "DEBUG"  # Set log level to DEBUG for detailed logs
entryPoints:
  web:
    address: ":80"
    http:
      redirections:
        entryPoint:
          to: websecure
          scheme: https
  websecure:
    address: ":443"
  traefik:
    address: ":8080"  # Dashboard entry point
certificatesResolvers:
  myresolver:
    acme:
      email: your_email@example.com
      storage: acme.json
      httpChallenge:
        entryPoint: web
providers:
  docker:
    exposedByDefault: false

With these changes, all HTTP traffic will be automatically redirected to HTTPS. Here's a breakdown of what happens:

  1. When a user accesses your site via HTTP (port 80), they hit the web entrypoint.
  2. The web entrypoint is configured to redirect all traffic to the websecure entrypoint using HTTPS.
  3. The websecure entrypoint handles the HTTPS traffic on port 443.

Your services (apache and nginx) are already configured to use both web and websecure entrypoints, so they will work correctly with this setup.

Remember to restart your Traefik container after making these changes:

$ docker-compose down
$ docker-compose up -d

This Traefik configuration will ensure that all HTTP traffic is redirected to HTTPS, improving the security of your web services.

Step 6: Using Traefik’s PathPrefix

Traefik's PathPrefix router rule feature allows you to route traffic based on URL paths. This is particularly useful when you want to direct requests to different services based on the URL path.

For example, you can set up requests to the /app1 URL to be served by Apache, and /app2 to be served by Nginx.

Here's an example of how to use PathPrefix with Traefik:

version: '3'
services:
  reverse-proxy:
    image: traefik:latest
    command: --configFile=/etc/traefik/traefik.yml
    ports:
      - "80:80"       # HTTP
      - "443:443"     # HTTPS
      - "8080:8080"   # Traefik dashboard
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./traefik.yml:/etc/traefik/traefik.yml
      - ./acme.json:/acme.json
    networks:
      - traefik

  apache:
    image: httpd:latest
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.apache.rule=Host(`example.com`) && PathPrefix(`/app1`)"
      - "traefik.http.routers.apache.entrypoints=web,websecure"
      - "traefik.http.routers.apache.tls.certresolver=myresolver"
      - "traefik.http.services.apache.loadbalancer.server.port=80"
    networks:
      - traefik

  nginx:
    image: nginx:latest
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.nginx.rule=Host(`example.com`) && PathPrefix(`/app2`)"
      - "traefik.http.routers.nginx.entrypoints=web,websecure"
      - "traefik.http.routers.nginx.tls.certresolver=myresolver"
      - "traefik.http.services.nginx.loadbalancer.server.port=80"
    networks:
      - traefik

networks:
  traefik:
    external: true

In this updated configuration:

  1. The Apache service will handle requests to https://example.com/app1 and any subpaths (e.g., https://example.com/app1/users, https://example.com/app1/products, etc.).
  2. The Nginx service will handle requests to https://example.com/app2 and any subpaths.

The key changes are in the traefik.http.routers.[service].rule labels:

  • For Apache: Host(`example.com) && PathPrefix(`/app1`)
  • For Nginx: Host(`example.com`) && PathPrefix(`/app2`)

These rules combine the Host matcher with the PathPrefix matcher using the && (AND) operator. This means the rule will only match if both conditions are true.

A few important notes:

  1. Make sure to replace example.com with your actual domain name.
  2. The PathPrefix rule will match any path that starts with the specified prefix. For example, /app1 will match /app1, /app1/, /app1/users, etc.
  3. If you want to strip the prefix before forwarding the request to your service, you can add a middleware:
    - "traefik.http.middlewares.strip-app1.stripprefix.prefixes=/app1"
    - "traefik.http.routers.apache.middlewares=strip-app1"
    

    This would remove /app1 from the path before sending the request to the Apache service.

  4. If your services are serving content from subdirectories (e.g., Apache serving from /usr/local/apache2/htdocs/app1), you might not need to strip the prefix.

Remember to restart your Docker containers after making these changes:

$ docker-compose down
$ docker-compose up -d

This configuration allows you to host multiple applications or services on the same domain, differentiated by their URL paths.

Conclusion

With this, you’re now up and running with a proxied, load-balanced, fully Dockerized reverse proxy that’s fully HTTPS-enabled.

Traefik successfully installed

You installed Traefik, so now what?

Now that you have installed Traefik and run it from both the binary and using docker-compose, you’re ready to add more microservices! If you add new Docker images in the docker-compose.yml, Traefik will recognize newly added backends immediately and route the request to it without any further configuration of Traefik or restarting it.

For more configuration options, see the Traefik documentation.

Now, you might be asking, “What should I install behind this amazing Traefik reverse proxy?”

Well, how about you start with self-hosting NextCloud?

The options are endless—have fun and get more from your VPS at the same time!

]]>
https://www.ssdnodes.com/blog/traefik-as-a-reverse-proxy-for-multiple-hosts-docker-compose/feed/ 0
VPS Use Cases – What Can You Do With A VPS? https://www.ssdnodes.com/blog/what-to-do-with-a-vps/ https://www.ssdnodes.com/blog/what-to-do-with-a-vps/#comments Fri, 13 Sep 2024 10:00:55 +0000 https://blog.ssdnodes.com/blog/?p=5382 So you've purchased an awesome low-cost VPS, but now you are wondering, what can you do with a VPS? This article will walk you through some cool VPS use cases to take advantage of your always-on, always-connected virtual machine with server-class CPU, dedicated RAM, and fast SSD read/write speeds.

You really can do anything as simple as host a website, all the way to launch a multiplayer online game with friends. So, whether you’re just diving into a brand new VPS for the first time or are looking for extra ways to take advantage of your virtual private servers – you’ve come to the right place.

What Can You Do With A VPS?

What Can You Do with a VPS? - VPS Use Cases

In short, here is a list of VPS use cases that will give you an idea on what you can do with a VPS:

  • Web hosting
  • Self-hosting apps
  • Run a game server
  • Set up a mail server
  • Stay in touch with VoIP
  • Set up a VPN
  • Access a GUI remotely
  • External backup server
  • Internet of Things
  • Hone your development skills

Web Hosting

Web hosting is the first thing that comes to mind when discussing the uses of VPS, given that this is what a VPS is mostly used for.

VPS hosting offers a way better value-for-money and, more importantly, it’s way more effective than cheap alternatives like shared hosting. When it comes to performance, nothing beats a strong VPS with dedicated RAM, super-fast disks, and a server CPU.

Host a Web Server

Hosting servers through VPS is another increasingly common use. As the name suggests, a virtual private server can do all the things a regular server does.

For example, you can run a static site from your VPS. It’s enough to run a web server software, like Apache, Nginx, or OpenLiteSpeed, and upload your HTML files.

The potential of hosting a server doesn’t stop there, of course. The installation can also be automated with help from the meta-package lamp-server for Ubuntu, and the Centmin Mod script on AlmaLinux or Rocky Linux for a web server based on Nginx. You can also easily install WordPress, or a flat-file alternative to it, on your LAMP stack.

Using your VPS for server hosting is the best way to get the most out of it. Servers perform a variety of functions, many of which are explained in our following points.

Save Money By Self-Hosting Apps

VPS Use Cases

Choosing to self-host your web projects instead of using SaaS alternatives saves you the money you would otherwise be paying to companies who charge monthly fees for you to continue using their software.

On a VPS, you have your own server for your own software and are in control of everything you host. Self-hosting does most of the time require more skill on your part, but the money you save is definitely worth it.

Many business software options, like Dropbox and Slack, are sold as SaaS. However, there are a number of self-hosted alternatives to these. In most cases, these alternatives are just as good and sometimes even outperform the SaaS options available.

The main difference, however, is that they are often completely free, and you can host them yourself on your VPS. This can save your business a lot of money since enterprise-level SaaS can sometimes cost you a small fortune.

Finding alternatives to common SaaS software is as easy as doing a Google search. For example, you can check out our tutorial on how to install Nextcloud, which is an extremely popular open-source alternative for Dropbox.

You can even find enterprise-level apps like ERP software that covers everything from CRM to HR to accounting (like ERPNext, for example). This has the added bonus of making you less reliant on SaaS platforms and giving you complete control over your company data.

Run a Game Server

Gaming has become a favorite pastime to many of us, and over the past decades, its popularity is on a steady increase. The popularity of online games among gamers, in a time when the internet becomes ever more accessible, is on the rise as well.

One of the many ways you can use a VPS is to set up an online game server to play with your friends. The list of games you can host is extensive, some of the more popular ones being CS:GO, Minecraft, and World of Warcraft, to name just a few.

Gaming sessions are usually hosted on dedicated servers. However, these cost way more, and if you actually use a stronger VPS option, you will get the same performance as a dedicated server for a much lower price.

This makes your VPS perfect for this use. In fact, despite what you might imagine, hosting a game does not take up so many resources from a server. Using a VPS for this purpose is virtually a no-brainer.

Setting Up A Mail Server

What to do with a VPS

Another service virtually all businesses pay to use is hosted email. With a VPS, you can avoid these costs by hosting your company’s own email server.

Even the most basic VPS options can easily handle self-hosted open-source email servers where you can host all your employees’ addresses. SaaS services, on the other hand, will typically charge by number of mailboxes.

Open-source email servers are abundant on the internet. They do require some extra tech-savviness to run, but if you have that part taken care of, nothing should stop you from self-hosting your company’s email server.

If you’re interested in using your VPS server to run your own mail server, check out our guide on how to install MailCow

Stay In Touch With VoIP

A virtual private server also lets you host your own VoIP server and make calls over the internet. Serving as an “internet phone”, you can use VoIP for a variety of things such as calling people on actual phones, talking to your colleagues while working, or gaming.

One open-source VoIP option you can use is Mumble. It mostly focuses on gamers and has clients for Windows, Linux, and OS X. Ubuntu users can use their packages in the official repositories, and install by running the following commands:

  • $ sudo apt-get install mumble-server
  • $ sudo dpkg-reconfigure mumble-server

Set Up A VPN

VPS Use Cases: Setting up a VPN

In a time of increased internet fraud, Virtual Private Networks help their users hide online payment details, and company and client data from potential hackers.

However, many VPN providers, both paid and free ones, have suspicious ownership, and some even sell users’ data. VPN’s have been a matter of some controversy over the past years because of recent changes to how ISPs can deal with your data and even sell it.

All this means that the ability to install a VPN on your VPS can be a life-changer.

If you’re used to using public WiFi, for example, you are even more susceptible to have your data endangered. WiFi networks are rarely ever secured enough. Luckily, if you have a VPS, you can use it as a VPN in order to make sure your browsing session is safe and secure in that coffee shop down the street, or the airport whose Wifi you’re using while traveling. You can safely check all your accounts and financial data without fear of online fraud.

As an idea of what VPN you can use if you are the control-loving type, you can rely on OpenVPN. Installing this trustworthy open-source VPN on your VPS gives you a great amount of flexibility and is a highly customizable solution. It’s ideal for securing your VPS hosted websites with a VPN layer.

You can also configure your whole VPS to work as a VPN. Some open-source options that simplify this include Algo and Streisand.

Access A GUI Remotely

We’re all for encouraging users to take advantage of their VPS to increase their knowledge of shell commands and administering Linux in general. However, some things are really hard to do if you stick to the command line.

You can try using virtual network computing, or VNC, which can enable your VPS to become a graphical interface. This makes it work like a desktop or a laptop computer.

For example, if your VPS uses Ubuntu, all you need to do is install the Xfce desktop environment and TightVNC Server on it. Keep in mind you should first create an encrypted SSH tunnel for connection security reasons, though.

External Backup Server

For anyone serious about working online, backing up files is virtually a must. Losing files, folders, or sometimes even entire drives has happened to many of us for one reason or another. Taking precautions to avoid this is essential, especially in a business context.

Of course, many will decide to back up their files in physical locations such as USB sticks or external hard drives. Setting up a VPS to use as an online backup repository is obviously a far less space-consuming solution to this eternal problem, though.

Of course, except for serving as a cloud-based backup for your files, a VPS can also be your file server through which you can reach all the files you need anywhere in the world, simply by going online.

You can also turn your VPS into a backup server for a website. If anything ever goes wrong with it, you can just go back to an old backup and restore the site to what it was like at the time you backed it up. Simple, fast, and effective.

Internet of Things

Through your VPS, you can have a single point of control for all the items on your Internet of Things. By creating sensors around your home, you can have your VPS control the temperature, turn the lights on and off, automate smart device usage, you name it.

Whatever you use the Internet of Things technology for, you can simplify the way you track information on it by storing the data on your VPS instead of the local network.

Use It To Experiment & Improve Your Development Skills

Hone Your Development Skills with a VPS

Using a VPS for developing apps and websites is a great way to refine your skills in many fields. From simply learning how to run a web server or experimenting with programming languages, to creating apps, open-source projects, you name it — your VPS is an excellent playground to learn development.

If you are planning to try out a new application, trying to install it along with an existing production software could lead to unexpected results (port conflicts as one example). It is great to have a basic configuration VPS to test and try out a new application.

And since you can deploy & destroy your virtual private servers at the click of a button, if things don’t work out you can still easily reinstall the OS and start over.

Your VPS also lets you engage in co-work with anyone worldwide. You can, for example, create a personal Git server and share code with any online co-worker privately.

Use Your VPS to Give a Little Back

Last but not least, if you’re the type who cares about the community, your VPS can help you put that care to action. The fun part is that you can be creative, and think of ways how you can give something back to the world. A great option for when you’re feeling philanthropic and have some extra time — and hard drive space on your VPS — at hand.

Again, there are many possibilities for giving back. As an idea, think about offering a hosting space for the website of an organization, non-profit, or maybe even a local small business that might need it. No one will say no to the possibility of having a free website. If they already have one through shared hosting and pay a lot of money for it, you’d be helping them by simply relieving them of that financial burden.

Conclusion

With a quality VPS, the sky is your limit! There are more than a few things you can achieve beyond web hosting. This list is a compilation of some more interesting options at your disposal.

Hosting a server is one popular thing people put their VPS to use for. It’s a good way to get your money’s worth out of your VPS.

You can use a virtual server for a variety of tasks, including hosting gaming server sessions, email, applications, backing up files, setting a VoIP, and much more. It can also be useful for adding an extra layer of security through creating your own VPN. You can use it to access a GUI remotely and for your Internet of Things. Even if you just want to experiment with honing your skills, a VPS is just right for you.

Here at SSD Nodes, we offer affordable and powerful VPS cloud hosting for every self-hosting enthusiast. Feel free to get in touch if you have any questions before getting started...

What are you planning to use your VPS for?

Tweet @SSDNodes and let us know! 💬

]]>
https://www.ssdnodes.com/blog/what-to-do-with-a-vps/feed/ 2
Superior VPS Hosting Now in Canada https://www.ssdnodes.com/blog/vps-hosting-in-canada/ https://www.ssdnodes.com/blog/vps-hosting-in-canada/#comments Mon, 25 Mar 2024 10:00:32 +0000 https://www.ssdnodes.com/?p=8541 Introduction

Are you looking for the best, most affordable VPS hosting in Canada?

Well, you are in the right place, SSD Nodes is now available in Toronto, Canada. Where we will provide a higher level of quality service to our Canadian customers.

Best VPS Hosting in Canada

This is our 14th location, marking our dedication to providing VPS hosting with unparalleled reliability and speed to everyone all around the globe.

And the best part is: We are the most affordable VPS Hosting provider in the world. You can save up to 8709$ with our VPS servers over the course of three years!

That's 8709$ you can invest in more important aspects of your business.

Check out the following price comparisons:

VPS Hosting in Canada, Price Comparison

VPS Hosting in Canada - What We Offer

Our VPS Hosting in Canada will have the same amazing benefits and features our worldwide customers know and love.

The Best Prices in The Market

VPS Hosting doesn't have to break the bank. We offer the cheapest VPS servers with the highest quality in the market.

Enterprise-grade Hardware

We are committed to providing customers with enterprise-grade hardware.

Our servers are powered by state-of-the-art processors, high-performance RAM, and blazing-fast SSD NVMe disks. This ensures peak performance for your VPS at all times.

Lightning Fast Networks

Stop worrying about network speed, and focus on building your business instead. We've partnered with 30+ network partners, providing redundant fiber connections that are prepared for anything at 300+ Points of Presence.

We offer dedicated bandwidth, up to 10 Gbps ports for your optimal transmission requirements.

Unparalleled Reliability

We make sure to stripe and mirror your data, to both improve performance and establish redundancy in case of hardware failure or corruption. This allows for both high performance and unmatched fault tolerance.

99.99% Uptime Guarantee

Our servers have an uptime of 99.99%, and we consistently implement the latest technological advancements to enhance our unrivaled high availability.

Industry-leading Security Features

Our next-generation firewalls ensure our customers are never worried about malicious traffic and DDoS attacks, as we protect your VPS servers at the hardware level.

We are constantly optimizing the performance and security of our VPS servers to deliver the most secure VPS hosting experience in the space.

An Enjoyable Management Interface

Your VPS dashboard doesn't have to be confusing. The SSD Nodes dashboard has a dead-simple interface with a smooth user experience.

You'll love managing your VPS servers with our responsive and feature-rich control panel.

 vps hosting in canada

Our management interface offers the following features:

  • A wide variety of OS distributions.
  • Plug-and-play 1-Click apps.
  • Support for unlimited applications.
  • Real-time Monitoring & Administration.
  • Online Console Access.
  • Superior user experience on mobile.

And much much more!

So, what are you waiting for?

Get started with your VPS hosting in Canada today:

View Sale

What People Are Saying About Us

best vps hosting in canada reviews

With a rating of 4.2 on Trustpilot, SSD Nodes customers are in love with our efficient and affordable VPS hosting.

Get your affordable server now with a discount:

View Sale

FAQs

What sets SSD Nodes' VPS Hosting in Canada apart from other providers?

At SSD Nodes, our VPS Hosting in Canada stands out for its unbeatable combination of affordability, performance, and reliability.

We offer the best prices in the market without compromising on the quality of our services.

With enterprise-grade hardware, we ensure your VPS delivers peak performance consistently. Our lightning-fast networks, 99.99% uptime guarantee, and industry-leading security features make us the top choice for customers seeking a powerful and secure hosting solution.

How does SSD Nodes ensure the security of my VPS server?

Security is our top priority at SSD Nodes. Our VPS hosting is equipped with next-generation firewalls that protect your servers.

We implement advanced measures to shield against malicious traffic and DDoS attacks, ensuring the safety of your data and applications.

Additionally, we continuously optimize and update our security protocols to stay ahead in delivering the most secure VPS hosting experience available.

Can I easily manage my VPS with SSD Nodes?

Absolutely! We understand the importance of a user-friendly interface for managing VPS servers. Our management interface is designed to be enjoyable, with a super smooth and feature-rich dashboard.

]]>
https://www.ssdnodes.com/blog/vps-hosting-in-canada/feed/ 2
Major Differences Between Managed And Unmanaged VPS Hosting You Need To Know https://www.ssdnodes.com/blog/managed-and-unmanaged-vps-hosting/ https://www.ssdnodes.com/blog/managed-and-unmanaged-vps-hosting/#respond Mon, 30 May 2022 08:42:41 +0000 https://blog.ssdnodes.com/blog/?p=6529 https://www.ssdnodes.com/blog/managed-and-unmanaged-vps-hosting/feed/ 0 Shared Hosting VS VPS Hosting VS Dedicated Hosting – What Should You Choose? https://www.ssdnodes.com/blog/servers-vps-hosting-shared-dedicated/ https://www.ssdnodes.com/blog/servers-vps-hosting-shared-dedicated/#respond Fri, 01 Apr 2022 15:35:27 +0000 https://blog.ssdnodes.com/blog/?p=6336 https://www.ssdnodes.com/blog/servers-vps-hosting-shared-dedicated/feed/ 0 How Much RAM Does My VPS need? https://www.ssdnodes.com/blog/how-much-ram-vps/ https://www.ssdnodes.com/blog/how-much-ram-vps/#respond Mon, 30 Mar 2020 07:30:20 +0000 https://blog-temp.ssdnodes.com/blog/?p=1152

"How much RAM do I need to run WordPress on my VPS?"

You'd be surprised at how hard it is to get a firm answer to that question. It depends on a lot of factors, like how many sites do you want to host, how much traffic you'll have, and how much you'll rely on sloppily-coded plugins.

It's the same story regardless of what you're planning to do with your VPS-- between minimum RAM requirements, recommended RAM and optimized setups, you'll find a wide range of RAM recommendations for just about any open-source software.

No one wants to overpay and get high RAM VPS for a low traffic/low resource application.

At the same time, trying to run a memory-intensive application on a low-end VPS will just lead to unexpected downtime. Even for the same set of applications and databases, one may want to use a 4GB server while another may need a 16GB server just to start off with.

So how much RAM do you need on your VPS?

While there is no right answer to how much RAM to buy, you can get closer to that Goldilocks config by reading our guidelines below to discover the minimum and (our) recommended RAM configurations for some of the most popular self-hosted applications.

VPS RAM requirements for popular open source software

Website & server management

cPanel

Minimum RAM: 1 GB on CentOS7
Recommended RAM: 2GB

If you are looking to manage your server/website with one of the most popular website and server management tools - cPanel, you will need at least 786 MB of RAM on CentOS 6, but 1 GB on CentOS 7. However, the recommended RAM is 1 GB and 2 GB respectively. These recommendations are valid even if you are installing WHM + cPanel.

Webmin + Virtualmin (cpanel alternative)

Minimum RAM: 512MB
Recommended RAM: 2GB+

Pricing increases have many of you looking for free alternatives to cPanel and Webmin is an excellent choice. Using the Virualmin plugin, you can manage multiple virtual hosts through your browser. A minimum of 1GB RAM is required with atleast 2GB the recommended configuration. On CentOS 8, you will need a minimum of 2GB of RAM with a recommendation to use atleast 4GB. The DirectAdmin also recommends an equal amount of swap space for smoother operation.

[location-banner]

Web hosting / blogging

WordPress

Minimum RAM: 256MB per site
Recommended RAM: 512MB to 1GB per site

In spite of being a popular CMS, WordPress RAM requirements aren't officially published. That's quite likely due to a large number of shared hosting providers offering WordPress hosting. While you can run a small website with as little as 256MB of RAM, if you're installing WordPress on your own server you'll want at least 512 MB of RAM for your basic site if you want to ensure good performance.

If you're planning to use a lot of plugins--especially page builders and shortcodes that make WordPress development easier-- then you'll need to add more RAM so that you can serve concurrent users better. With the price of VPS hosting as low as you can find it today, we'd recommend planning on 1GB per site unless you know you've got the skills to optimize your site performance on your own.

Before I switch to the next application, let me also tell you that Drupal and Joomla, other popular self-hosted CMS will need at a minimum 786 MB and 512 MB RAM. But, once again, if you want to ensure the best performance then give yourself a cushion.

Cloud storage / File storage

NextCloud

Minimum RAM: 128MB
Recommended RAM: 512MB+

A popular Dropbox and Google Drive alternative, NextCloud lets you host your files on your VPS using a GUI interface. You can store files, contacts, calendars and more on your cloud server and synchronize them across devices. You can even use it to share data or files with others for them to collaborate on.

Though the official manual states a minimum of 128MB of RAM, I would recommend you to go with their suggestion of at least 512MB RAM. NextCloud uses a MySQL/MariaDB database and considering that MySQL recommends a 512MB RAM, trying to run NextCloud on any smaller configuration is not going to give you the performance you want (even if it is just for personal use).

e-commerce

Magento

Minimum RAM: 256GB
Recommended RAM: 2GB+

Want to make a fortune selling gadgets online? Launching your new line of ironic t-shirts? Magento is an enormously popular self-hosted e-commerce platform backed by Adobe. ecommerce is one place where you don't want to skimp on performance since slow performance leads directly to lower conversions, which means less money in your virtual register. If you're looking to launch your online shop, you'll probably want at least 2GB of RAM to set up a single server store. For a pipeline based deployment* (build on one server and deploy the final site on a webnode), the build server needs 2 GB of RAM and the web node needs 1GB of RAM.

*The pipeline deployment method is recommended if you want to reduce the store downtime when making changes, but requires higher technical skills than a regular single store server installation

Online photo storage

Piwigo

Minimum RAM: 128MB
Recommended RAM: 512MB

Piwigo is a self hosted alternative to SaaS applications like Google Photos or Prime Photos. This app works on even shared hosting, so the memory requirements are pretty low. Users have reported running it on a VPs with just 128MB RAM. RAM usage is higher only when you are uploading the files, at which point ImageMagick runs to resize the images for display. If you are looking to upload galleries with huge number of photos, you should look for higher RAM configurations. A 512MB RAM is recommended for the average user looking to upload memories from their trips.

Online courses

Canvas

Minimum RAM: 1GB
Recommended RAM: 1GB+

Canvas is the world's fastest growing learning management system (LMS) for good reason. Schools and businesses are increasingly looking for better ways to educate their students and customers, from anywhere. And their user-friendly platform makes it much easier. You can look to self host Canvas with just 1GB RAM. This Ruby on Rails application uses a PostgreSQL database. However, as the number of concurrent students increase, you should look at upgrading as PostgreSQL uses more memory per concurrent thread versus MySQL (10MB vs 256KB).

Gaming Server

Minecraft Server

Minimum RAM: 3GB
Recommended RAM: 4GB+

Hosting a Minecraft game server for family & friends? It's pretty easy, but you'll need to start with a server with at least 3GB RAM. This configuration gives you sufficient leeway for running the server, plus letting the OS have enough RAM to do other things. Minecraft is packed with mods and for a setup that has about 35-40 mods/plugins (which is most of them) you should go with a 4GB RAM server. If you start becoming a popular spot for players to hangout, you need to move to higher configurations.

Mail server

Mailcow

Minimum RAM: 1.5GB
Recommended RAM: 2GB-4GB

If you're looking for an email server with a modern web interface for managing domains and mailboxes, Mailcow is an increasingly popular option. It's a Docker-based email server that makes managing your mail server easy. You're going to need a bare minimum of 1.5GB of RAM to get started but we'd recommend 2GB to 4GB, depending on your expected number of users and mail volume.

Host a VPN

OpenVPN

Minimum RAM: 1GB
Recommended RAM: 1GB

Privacy is more important than ever in this current age of data mining. With OpenVPN running on your VPS, you can connect to the Wi-Fi at your favorite coffee shop without sweating your credit card info. Or protect your valuable client data when your team is forced to work from home. For personal uses, 1GB RAM should be enough to get you running. The encryption and decryption of packets happens in memory, so it does need at least that. The other guideline provided by OpenVPN is to add 1GB for every additional 100 devices that will connect to the server. So that 1GB RAM should keep you going for a while.

Server Monitoring

Monit

Minimum RAM: 1GB
Recommended RAM: 1GB+

Even if you've planned to maximize the available RAM on your VPS, it's important to keep an eye out on performance and check RAM usage to make sure your applications continue to run smoothly.

There are multiple tools for easy server monitoring but Monit is among the more popular ones. It lets you track your memory usage through a GUI and can even do automatic server maintenance and repair based on instructions you've provided. Unfortunately, tracking your RAM usage takes RAM too! We'd recommend at least 1 GB of RAM to run Monit on your machine.

How much RAM does your VPS need?

You may decide to run multiple applications on the same server and, if so, you should start by adding up the recommended RAM for each of your applications. Then give yourself a little bit of extra space so you've got some wiggle-room.

Don't worry if you were a bit off in your calculations, as most cloud hosting companies allow you to upgrade without having to scratch and restart. Adding RAM is a ticket away in most cases and with SSDNodes, you can get a zero downtime upgrade of your server. Bump up to a higher plan giving you more RAM, more cores and more disk space.

If money for upgrades is tight, look to optimize your server by shutting down unwanted services or switching to alternatives that consume lesser memory.

Hopefully, this article gave you some useful hints on how to plan the available RAM for your VPS or cloud server. Now that you know how much you need...why not pay LESS for it?

SSDNodes offers the best RAM per dollar in the cloud hosting industry. Grab all the RAM you need and more, for up to 85% less than DigitalOcean, Linode, Vultr, AWS Lightsail and others.

👉See our current VPS offers right here

]]>
https://www.ssdnodes.com/blog/how-much-ram-vps/feed/ 0