How to turn a compact PC into a versatile server for learning Linux, file sharing, and network booting
Let me tell you about this fun little project I’m diving into — building a portable server setup on a compact ThinkCentre M910q mini PC. If you’ve ever wanted a flexible, small device to experiment with Linux, create file servers, and even set up network boot environments, this might be just the inspiration you need.
Starting With the Basics: The Portable Server Setup
This ThinkCentre M910q comes with a solid hardware base for such an adventure: an Intel i5-7600T processor, 16GB of RAM, a 256GB SSD for the Linux root system, and a speedy 512GB NVMe drive ready to be configured. It’s just the right size to carry around or tuck away neatly somewhere on your desk.
I’ve installed Debian Linux along with PostgreSQL to brush up on database skills, but the heart of this setup is about building a portable server that does multiple jobs seamlessly.
Creating Multiple Servers on One Device
The goal is to turn this mini PC into a multi-purpose server with these core functionalities:
- Wi-Fi Access Point & File Server: Use a Wi-Fi module to transform the device into an access point. It’ll serve as a private hotspot exclusive for file sharing — you know, storing and accessing documents, PDFs, books, and educational videos in a secure way.
- Ethernet File Server: Utilize the M.2 NVMe drive as a storage hub available over a wired Ethernet connection. This will not only share files but also host ISO images — installation files for Linux distros or other operating systems.
-
Network Boot Capability: The ability to boot other computers directly from the server over the network using those ISOs, which is particularly handy for installations or testing OS setups without USB drives.
-
Expansion With Another Ethernet Adapter: Adding a second Ethernet adapter alongside the Wi-Fi module to allow separate network interfaces for more isolation or advanced routing.
Breaking Down the Architecture
Here’s how I see the architecture of this portable server:
- Hardware Layer: The ThinkCentre M910q runs Debian on the main SSD, with PostgreSQL for databases as needed.
-
Network Interfaces:
- Wi-Fi Module for access point functionality.
- Primary Ethernet Adapter attached to the M.2 drive for file sharing.
- Optional Second Ethernet Adapter for network segmentation or additional services.
- Storage Setup:
- The main SSD handles the operating system and essential software.
- The NVMe drive is partitioned for file storage and ISO hosting.
- Service Configuration:
- Wi-Fi configured as an access point using tools like
hostapd
and DHCP server for client management. - Samba or NFS set up for file sharing over Ethernet.
- PXE boot environment configured for network ISO booting with
dnsmasq
/tftp
servers.
- Wi-Fi configured as an access point using tools like
Learning Resources to Get You Started
If you want to follow along or set up something similar, here are a few solid resources:
- Debian Network Configuration — official Debian docs for networking basics.
- How to Set Up a Wi-Fi Access Point on Linux — ArchWiki’s in-depth guide, useful even if you’re not on Arch.
- Setting Up PXE Network Boot — Ubuntu’s guide on network booting.
Final Thoughts
It’s fascinating to re-explore Linux networking and server management with a hands-on project like this. The portable server setup not only refreshes old skills but creates a powerful, compact tool for learning and experimenting with real-world network services and file sharing.
If you’re thinking about setting up your own mini server, this kind of hands-on approach is the way to go. It’s practical, relatable, and a little bit fun to see everything click into place.
Feel free to dive in, experiment with your setup, and build a network you can carry around. It’s a neat way to grow your understanding of Linux and networking without needing a dedicated data center.