from 2015 macbook to homelab server

from 2015 macbook to homelab server
sometimes the best projects start with a problem you didn't expect to solve. for me, it was getting suspended from a discord bot hosting service for "multi-account shenanigans." what began as a necessity quickly turned into an exciting weekend homelab experiment.
the hardware: a 2015 macbook's second life
digging through my old tech, i found my 2015 macbook pro - not exactly cutting edge, but surprisingly capable for server duties:
- processor: intel core i7-4770hq
- memory: 16gb ddr3 ram
- storage: 240gb ssd
these specs, while dated for daily computing, are actually perfect for a home server. the quad-core i7 handles multiple services well, 16gb of ram provides plenty of headroom, and the ssd ensures fast i/o operations.
the setup: ubuntu server and docker
the first step was wiping macos and installing ubuntu server. this wasn't just about getting linux running - it was about transforming the laptop into a true server. one crucial setting: disabling suspend mode so i could close the lid and keep everything running 24/7 while plugged into power.
with ubuntu up and running, i chose docker as my containerization platform. docker makes it incredibly easy to:
- isolate different services
- manage dependencies cleanly
- deploy and update applications with minimal downtime
- keep my homelab organized and scalable
the discord bots: yuki and xora
my primary motivation was hosting discord bots, and i now have two running successfully:
yuki - the heavy hitter
yuki is my flagship project, serving a massive discord community with over 22,000 members. this bot handles:
- moderation and admin commands
- user engagement features
- custom integrations and apis
- high-volume message processing
running yuki on my own hardware gives me complete control over performance and uptime - no more worrying about third-party service limitations!
xora - the personal assistant
xora serves my personal discord server, handling:
- custom server management
- fun commands and games
- integration with other homelab services
- experimental features i'm testing
the minecraft challenge: better minecraft 5
with the bots running smoothly, i got ambitious - why not host a modded minecraft server? i chose better minecraft 5, a popular modpack that offers incredible gameplay enhancements.
first attempt: crafty control panel
i initially tried using crafty, a web-based minecraft server management tool. the setup looked promising with its clean interface and automated server management features. however, i ran into frustrating network connectivity issues that prevented me from uploading the server files properly.
the direct approach: manual docker setup
after struggling with crafty's web portal, i pivoted to a more hands-on approach. by creating a custom docker container and manually configuring the server files, i gained:
- complete control over java settings and memory allocation
- direct access to logs and configuration files
- the ability to fine-tune performance for the modpack
- a deeper understanding of how minecraft servers actually work
the result? a stable better minecraft 5 server ready for my friends to join!
network magic: playit and custom subdomain
here's where it gets really cool. i needed to expose my minecraft server to the internet without dealing with complex port forwarding and router configuration.
playit.gg tunneling
playit.gg provides secure tunneling services that create public endpoints for your local services. with playit:
- no router configuration needed
- automatic ddns updates
- secure tunneling through their infrastructure
- easy setup with just a few commands
custom subdomain integration
the cherry on top: i pointed a subdomain from my company website directly to the playit tunnel ip. now instead of sharing some random ip and port, my friends can connect to something clean and professional like minecraft.mycompany.com.
lessons learned
this weekend taught me several valuable lessons about homelabbing:
- old hardware has value - that 2015 macbook i almost forgot about is now a workhorse server
- docker is essential - containerization makes managing multiple services incredibly clean
- problem-solving beats convenience - when crafty didn't work, manual setup gave me better understanding
- network services are powerful - tools like playit make self-hosting accessible without complex networking
- start with a real need - having actual discord bots to host gave me motivation to see this through
what's next?
now that the foundation is solid, i'm already thinking about expanding the homelab:
- adding monitoring with prometheus/grafana
- setting up automated backups
- exploring self-hosted alternatives to other cloud services
- maybe even hosting a small website or two
the takeaway
what started as a workaround for a discord bot suspension became a full-blown homelab project that taught me more about linux, docker, networking, and server administration than months of reading tutorials ever could.
the best part? i now have complete control over my digital services, save money on hosting, and gained valuable skills along the way. plus, there's something incredibly satisfying about turning "obsolete" hardware into something useful and powerful.
if you have old hardware lying around and a problem to solve, maybe it's time to start your own homelab adventure. you might be surprised what you can accomplish in a single weekend!