Homelab Documentation - vanbos-server
This document outlines the setup, access methods, and management commands for the services running on the Ubuntu server.
Booting
On Mac
wakeonlan -i 192.168.2.255 -p 9 2c:44:fd:15:1f:56
On Mobile
python -c "import socket; b=bytes.fromhex('f'*12 + '2c44fd151f56'*16); s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM); s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1); s.sendto(b, ('192.168.2.255', 9))"
Shutdown
On Mac
stop-server
Der Command ist ein Alias der das Skript auf dem Server ~/shutdown_homelab.sh ausführt. Dieses Skript stoppt alle Container und Prozesse sauber und fährt das System herunter.
On Mobile:
ssh bos
~/shutdown_homelab.sh
services:
# FILE SERVER (Samba)
samba:
image: dperson/samba
restart: always
ports:
- "139:139"
- "445:445"
volumes:
- /home/vanbos/homelab/data/samba:/mnt/share
command: -u "vanbos;rip-Windows10" -s "HomeFiles;/mnt/share;yes;no;no;vanbos" -g "force user = vanbos"
# MINECRAFT (Vanilla/Paper)
minecraft:
image: itzg/minecraft-server
restart: always
ports:
- "25565:25565"
environment:
EULA: "TRUE"
MEMORY: "4G" # 4GB is plenty for a group of friends
CREATE_CONSOLE_IN_PIPE: "true"
ENFORCE_WHITELIST: "true"
ONLINE_MODE: "TRUE"
volumes:
- ./data/minecraft:/data
# Scanner
scanservjs:
image: sbs20/scanservjs:latest
restart: always
ports:
- "8080:8080"
privileged: true
user: root
volumes:
- /var/run/dbus:/var/run/dbus
- /dev/bus/usb:/dev/bus/usb
- ./data/samba/Scans:/var/lib/scanservjs/output1. Core Management
All Docker services are managed from the directory: ~/homelab
General Commands
- Start all services:
docker compose up -d - Stop all services:
docker compose stop - Check resource usage:
btop(Host command) - View combined logs:
docker compose logs -f
2. Services List
📂 Samba File Sharing
Network storage for university projects and server backups.
- Address:
smb://<SERVER_IP>/HomeFiles - Access: Use macOS Finder (Cmd+K). Authenticate with Ubuntu credentials.
- Storage Path:
~/homelab/data/samba - Logs:
docker logs -f homelab-samba-1
🎮 Minecraft Server (Java Edition)
Publicly accessible gaming server with whitelist security.
- Local Address:
<SERVER_IP>:25565 - Public Address:
<YOUR_PUBLIC_IP>:25565 - Admin Commands (OP):
docker exec -u 1000 homelab-minecraft-1 mc-send-to-console op <username> - Whitelist Management:
docker exec -u 1000 homelab-minecraft-1 mc-send-to-console whitelist add <username>docker exec -u 1000 homelab-minecraft-1 mc-send-to-console whitelist remove <username>
- Logs:
docker logs -f homelab-minecraft-1
🖨️ CUPS Print Server
Network-enables the Epson ET-2710 via USB.
- Web Interface:
http://<SERVER_IP>:631 - Setup: Native install on Ubuntu (Bare Metal) for USB stability.
- Status: Idle, Accepting Jobs, Shared.
- Logs:
sudo tail -f /var/log/cups/error_log
📄 Scanservjs (Web Scanner)
Browser-based scanning directly to the Samba share.
- Web Interface:
http://<SERVER_IP>:8080 - Output Folder: Scans are automatically saved to
HomeFiles/Scans. - Logs:
docker logs -f homelab-scanservjs-1
🔐 WireGuard VPN
Secure remote access to the local network.
- Usage: Launch WireGuard client on Mac/Phone and toggle the ‘Homelab’ tunnel.
- Function: Allows access to local IPs (192.168.2.x) and the Scanner UI from anywhere.
3. Network Configuration
- Internal IP: Found via
hostname -I - Public IP: Found via
curl -4 ifconfig.me - Router (Speedport Smart 4):
- Port Activation: 25565 (TCP) forwarded to server IP.
- Admin UI:
http://192.168.2.1
4. Troubleshooting
- Container fails to start: Check
docker compose logs. Ensure no port conflicts. - Scanner not found: Refresh the web UI at port 8080. If persistent, power cycle the Epson printer.
- Whitelist not working: Ensure
ENFORCE_WHITELIST: "true"is set indocker-compose.yml.