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
How I built an AI workflow with preview, approval, and monitoring User Avatar 62 comments Show IH: I'm building a lead gen + CRM tool for web designers targeting local businesses without websites — starting with Spain User Avatar 55 comments I built a URL indexing SaaS in 40 days — here's the honest story User Avatar 39 comments I built a desktop app to move files between cloud providers without subscriptions or CLI User Avatar 27 comments Show IH: I built an AI agent that helps founders find the right people User Avatar 24 comments After 4 landing page rewrites, I finally figured out why my analytics SaaS wasn't converting User Avatar 21 comments