1
2 Comments

Using Digital Ocean and Docker for a Game Server Hosting SaaS

Hello,

I'm a Software Engineering student and over the summer I want to improve my sysadmin knowledge and skills.

I have an idea to build a game server hosting side project like this below but only for 1 game.

https://www.gameserverkings.com/games

I'm thinking of using Digital Ocean but since I'm a rookie I'm a bit stuck.

My plan is for a stack of Vue, Node, Express and MongoDB for the SaaS website/control panel where users can manage their game server.

Then for the SaaS website to communicate with the server that spins up the game servers a Redis job queue or perhaps Redis Pub-Sub.

For the actual game server creation/deployment I'll need it to be instant.

Where I'm a bit confused is when it comes to the instant deployment of the game servers.

I'm thinking of perhaps containerizing it. So I have docker containers that contain the game server setup and deploy scripts depending on the player size they choose. Then I can pass variables into the image, and once a user buys a game server subscription somehow use an SDK hopefully provided by Digital Ocean to spin up a new VM using x image with y params.

I feel the hardest learning curve might be understanding the host's way (Digital Ocean) to programmatically deploy a new VM.

I'm just wondering if anyone can see an obvious flaw with this idea. Or if you have in your view a more simple approach I'd be grateful to hear it.

Also please let me know if I'm completely out of the ballpark. As I say my server management and cloud skills are fairly laughable hence why I want to improve them :)

posted to Icon for group Developers
Developers
on May 4, 2022
  1. 2

    Hi Angus, nice to meet someone who is also called Angus.

    You're plan seems pretty good, I'd avoid doing this though:
    "Then for the SaaS website to communicate with the server that spins up the game servers a Redis job queue or perhaps Redis Pub-Sub."

    It seems like unnecessary complexity to me. I'm not sure about Digital Ocean, but I do know AWS has APIs to provision Virtual Machines. I'm sure DO does as well.

    I'd also avoid containerization, it's expensive and very complicated.

    1. 1

      Hi, another Angus!

      Thanks for your advice.

      I agree I think my initial idea might be a bit overengineered. Docker seemed like a good approach but I hadn't considered the extra costs and since I'm not great with Docker yet I think it could get over-complicated for me fast.

      Thanks again :)

Trending on Indie Hackers
I'm a lawyer who launched an AI contract tool on Product Hunt today — here's what building it as a non-technical founder actually felt like User Avatar 142 comments “This contract looked normal - but could cost millions” User Avatar 54 comments A simple way to keep AI automations from making bad decisions User Avatar 47 comments 👉 The most expensive contract mistakes don’t feel risky User Avatar 41 comments The indie maker's dilemma: 2 months in, 700 downloads, and I'm stuck User Avatar 40 comments Never hire an SEO Agency for your Saas Startup User Avatar 37 comments