Linux server & storage administration
Operate a Fedora Server environment, organise storage mounts and directories, check disk health, and troubleshoot host-level and storage-related issues.
My home lab is an ongoing practical environment for building and operating infrastructure services. It helps me test configurations, understand dependencies, troubleshoot failures and steadily deepen my systems, networking, container and automation skills.
The projects below represent personal lab work and learning—not a claim that these systems are enterprise production deployments.
The lab combines a Linux server, local storage, containerised applications, private and external access paths, and monitoring. It is maintained as a practical learning environment that evolves as I test and improve it.
Operate a Fedora Server environment, organise storage mounts and directories, check disk health, and troubleshoot host-level and storage-related issues.
Deploy and maintain Nextcloud and Immich using Docker Compose, with supporting services and persistent storage. Work through volume mappings, application data and sync behaviour.
Use Cloudflare Tunnel and Tailscale for remote access, maintain local DNS with Bind9, and investigate the differences between local access and access through a tunnel.
Use Netdata and Cockpit for visibility into host health and services, while practising log review, resource checks and structured troubleshooting.
Explore lightweight Kubernetes concepts and cluster operations in a constrained home-lab environment, building familiarity with orchestration and workload management.
Practise service configuration with Bind9, Postfix and Dovecot, including SMTP/IMAP concepts, DNS dependencies and the connectivity limitations of a residential ISP.
Continue building skills with Git, Ansible, Bash and Python through small exercises and infrastructure-oriented practice. The goal is repeatable, understandable operations rather than automation for its own sake.
A high-level view of the components used in the lab. This is a conceptual overview, not a live network map; exact routes and exposure can change as the environment evolves.
Security note: public reachability and access controls are configured per service. Do not publish secrets, private IP maps, or administrative configuration details.
The value of a lab is not just the number of tools installed. It is the practice of understanding dependencies, making controlled changes, and verifying the result.
Check the symptom, scope, logs, service status, network path and available resources before changing configuration.
Separate host, storage, application, DNS, routing and remote-access possibilities; change one thing at a time where practical.
Confirm the service works from the intended access path, record what changed, and note remaining limitations or follow-up work.
Planned improvements will be added as they are implemented and validated, rather than presented as completed work in advance.
Publish clean architecture diagrams, service maps, operational notes and selected troubleshooting write-ups with sensitive information removed.
Strengthen Git-based configuration management and use Ansible or scripts for repeatable, reviewable administrative tasks.
Review access boundaries, secrets handling, backup and restore procedures, patching, and service recovery as the lab evolves.
Continue structured learning across OCI, cloud networking, identity, containers and infrastructure automation without overstating hands-on depth.
For infrastructure operations, systems administration, cloud support and technical leadership opportunities, connect with me through email or LinkedIn.