Turn your old laptop to a home server

By akhil teja

Elevator Pitch

This talk is about my journey in setting up a 10 year old laptop to host services and access them from internet. I’ll also share a CI/CD work flow process to deploy a python service from github actions to home server that can be accessed from internet.

Description

Why should you have a home server ?

tl;dr FREEDOM, LEARNING, SAVINGS, PRIVACY

The itch started when my google photos space exhausted to sync new pictures from my mobile. I wasn’t interested in paying a bomb to google and found immich as an alternate to it but required own hardware to deploy and access it from internet. Luckily I had a 10 year old Samsung dusty laptop and started converting it to a home server.

In this talk I’ll try to share my journey and help audience leave with sufficient knowledge to start their own home server.

Hardware Setup

  • Flashing Headless Debian on Windows laptop
  • SSH Passwordless Login
  • Router configuration to allow traffic only on port 443 (i.e, https traffic)
  • DNS setup to resolve custom domain name to home server’s ipv6 address

Software Setup

  • Reverse proxy (Caddy) for https, rerouting traffic internally
  • Sync ipv6 address of home server to DNS service periodically
  • Little details about immich

Automatic CI/CD for a custom python service

  • Github repo for source code hosting
  • Github actions builds and deploys python package to remote server
  • systemd service that restarts python service for new deployments.

Reflecting back on tl;dr, as everything is controlled by me it gave me Freedom, I’ve Learnt new things in this whole process, I’ve just have to minimal electricity charges for my home server leading to huge savings, Importantly there’s no 2nd person peeking on my data and misusing it.

You can find more details in this pdf: HomeServer.pdf

P.S: The above pdf file is served from my home server.

Notes

Nothing to share much as everything is under Description