Old hardware. New purpose.
Reforge Linux is a Debian/MX-based old-PC repurposing Linux project that helps users turn unused computers into useful machines through guided setup profiles.
Core idea:
Old PC -> Choose a purpose -> Automatic setup -> Ready-to-use machine
The project currently focuses on a simple Bash-based setup center and practical home-server style profiles that can run on modest hardware.
Many older PCs are still useful, but setting them up for a clear purpose can be intimidating for beginners. Reforge Linux explores a guided approach: install a lightweight Debian/MX-based system, choose what the machine should become, and run a profile that performs the setup with clear prompts and safety checks.
This is also a learning and portfolio project focused on Linux scripting, system setup, documentation, testing, and future custom ISO packaging.
- Bash-based Reforge Setup Center
- Menu-driven profile selection
- Debian/MX/Ubuntu apt-based profile scripts
- Root/sudo handling in profile installers
- Safety prompts before major installs
- Idempotent profile behavior where practical
- Documentation for profiles and VM testing
To install a launcher for the current user:
bash scripts/install-reforge-launcher.shFor ISO/system install before MX Snapshot:
sudo bash scripts/install-reforge-system.sh
reforge-setup-
File Server using Samba
- Share files across a local network.
-
Ad-Blocking DNS Server using Pi-hole
- Block ads and trackers across the network using DNS.
-
Media Server using Jellyfin
- Stream movies, shows, music, and videos from the old PC.
Current status:
- Bash-based Reforge Setup Center implemented
- All 3 v1.0 profiles implemented
- Tested in MX Linux 25.2 XFCE VirtualBox VM
- File Server tested from Windows as mapped Z: drive
- Jellyfin tested from Windows browser
- Pi-hole DNS blocking tested using
nslookup
Real old-hardware testing is still pending.
Screenshots will be added as the project branding and ISO workflow mature.
Planned screenshots:
- Reforge Setup Center menu
- Samba share access from Windows
- Jellyfin first-time setup screen
- Pi-hole dashboard and query log
- v0.1: project structure and setup center
- v0.2: three working profiles
- v0.3: docs, testing, and branding polish
- v0.4: MX Snapshot/custom ISO preparation
- v1.0: ISO release and real old-hardware testing
scripts/
reforge-setup.sh Main setup center menu
common.sh Shared helper functions
profiles/
file-server/ Samba file server profile
ad-blocking-dns/ Pi-hole DNS ad-blocking profile
media-server/ Jellyfin media server profile
docs/
profiles.md Profile behavior and notes
testing.md VM testing records and checklist
Reforge Linux is an experimental learning/portfolio project. Users should review scripts before running them, especially on machines that contain important data.
Important notes:
- Not recommended as a production server OS yet
- Profile scripts are intended for Debian/MX/Ubuntu apt-based systems
- Scripts should not be run blindly on unrelated distributions
- Pi-hole needs a stable IP or DHCP reservation for real network-wide use
- Future ISO builds should be tested in a VM before use on real hardware
Testing has been completed in an MX Linux 25.2 XFCE x64 VirtualBox VM on a Windows host.
Verified behavior:
- Setup Center launches and maps profiles correctly
- Samba installs and exposes
ReforgeShare - Windows can access and map the Samba share as
Z: - Jellyfin installs, starts, and opens from a Windows browser
- Pi-hole installs, updates gravity, opens the dashboard, and blocks a test domain through DNS
See docs/testing.md for the detailed test record.
The GitHub repository should contain scripts, configs, documentation, and build notes. ISO files should not be committed directly to the repository.
Future ISO builds should be attached to GitHub Releases with:
- Release notes
- Checksums
- Tested environment notes
- Known limitations
License information will be added before a public release.