Skip to content

Current Work Status

Progress tracking for Famlab MVP development

Last Updated: 2025-10-05

MVP Progress

  • Local SMB backup target with network discovery
  • Multi-node deployment
  • Peer-to-peer replication
  • Node enrollment process
  • Storage partitioning (1/3 local, 2/3 peer)

What's Working Now

Single-Node SMB Backup Server

Platform: Proxmox VE LXC containers (both TurnKey File Server and plain Debian 12)

Functionality Validated:

  • Scripted container creation
  • Network discovery working (famlab-test.local resolves via mDNS/Avahi)
  • SMB services running and accessible from Linux clients
  • Backup clients tested successfully:
    • Pika Backup (requires gvfs-fuse on Debian 12 client)
    • Déjà Dup

Roadmap to Completion

Refine and Publish Management Command

Goal: Document-first consolidation of a single management command

Implementation:

  • Document a single "command" to initialize, deploy, and update Famlab nodes
  • Use shell scripts: strong push to re-use existing CLI tools, happy path approach while discovering feature-set and limitations

Open Points:

  • POSIX shell scripts vs Bash scripts: portability vs. more advanced language

Update Containers to Debian 13

Goal: Running an up-to-date Debian container

Implementation:

  • Update the scripted container creation to use Debian 13's template
  • Validate once more the features listed above

Multi-Node Foundation

Goal: Deploy 3 LXC containers that can communicate together

Implementation:

  • Drop existing test containers
  • Create 3 new containers with Debian 13
  • Verify network connectivity between all nodes (ping their respective hostnames)

SSH Key Distribution

Goal: Enable passwordless rsync between all nodes

Implementation:

  • Generate SSH keys on each container
  • Automate key distribution to all peers
  • Test SSH connectivity mesh (each node to every other node)

Basic Rsync Mesh

Goal: Prove replication concept with simple file sync

Implementation:

  • Create test directory structure on each node
  • Implement rsync jobs from each node to every other node
  • Validate that file changes propagate across the mesh

Known Blockers/Decisions

Architecture Decisions Needed

  • Storage layout: How to partition disk space for local vs. peer storage
  • Replication scheduling: How often to sync, conflict resolution
  • Failure handling: What happens when a node goes offline

Technical Questions

  • Container networking: Static IPs vs. DHCP + service discovery
  • Storage backend: LVM vs. directory for peer storage areas
  • Monitoring approach: How to track replication health across nodes

Notes

Platform Choice: Staying with LXC containers for MVP development - provides good isolation and easy cleanup while maintaining performance for file operations.

Scope Boundary: Focusing purely on distributed backup functionality. All other homelab services deferred until after MVP validation.