HAS — Hegarty Advanced Solutions
← HAS home

Hegarty Advanced Solutions / Learning

Labs & training

Learn the method. Run the lab. Check the result. Hands-on technical learning for people building and operating their own systems.

Course + executable lab / Version 0.1.0

Recovery foundations

RestoreLab

Prove your Docker backups actually restore.

A backup can be internally valid and still leave out something the application needs. RestoreLab turns that distinction into a practical exercise: capture a baseline, recover into a separate target, and inspect what came back.

The course uses a small PostgreSQL application and an encrypted restic repository. Run one complete recovery and one deliberately incomplete-backup drill. Learn why a successful backup command is only one part of the evidence.

What you’ll practise

Recovery you can explain.

Define a recovery contract.

Write down the files, data, and checks required before calling a system recovered. Capture the baseline before backup selection so missing content cannot silently redefine success.

Separate the layers of verification.

Distinguish repository integrity, file checksums, database import, and application-data checks. Understand what each result establishes and what it leaves untested.

Recover without the live source.

Take the disposable source offline and restore into a new target. Compare recovered records with the original baseline instead of relying on a database merely starting.

Test the failure case.

Use an incomplete backup to check that a missing required file is rejected. Identify the intended failure rather than treating every non-zero exit as a successful test.

The curriculum

Seven lessons.
One recovery workflow.

Written explanations, practical exercises,
and a knowledge check in each lesson.

  1. Define what recovered means

    Replace a green backup indicator with explicit recovery requirements and an independently captured baseline.

  2. Prepare the lab and measure the source

    Check the supported environment, start an isolated project, and inspect the original application data.

  3. Capture a consistent backup

    Understand the roles of a logical database dump, a required-file manifest, and the recorded backup snapshot.

  4. Recover without the source

    Stop the disposable source, restore the selected snapshot, and import into a separate empty target.

  5. Read the evidence, not the green light

    Check required files and application contents, then interpret the report within the scope of the drill.

  6. Make an incomplete backup fail

    Run the negative control and explain why repository integrity can pass while recovery requirements fail.

  7. Write the next recovery drill

    Draft a recovery contract for an application you own and identify the additional work needed beyond this fixture.

Before you begin

Requirements & scope

  • Linux with a local Docker Engine and Docker Compose
  • Python 3.11 or newer; no additional Python packages
  • Authorised access to Docker
  • Internet access for the initial container-image downloads
  • Roughly 2 GB of free space for images and several small runs

Docker Desktop and remote Docker daemons are outside the tested support boundary. Comfort with a terminal and basic container concepts will help you follow the exercises.

The lab creates isolated projects with synthetic data, publishes no ports, and does not mount your existing applications. It stops its containers but retains volumes and local evidence for inspection.

Included in the product

Learn in the format that fits.

  • Seven written lessons with exercises and quizzes
  • Executable Docker recovery lab and Python controller
  • PDF workbook and offline course materials
  • Recorded lab verification report
  • Lesson audio and an introductory video

This is a learning package, not a production recovery service. The same-host fixture does not establish off-site resilience or guarantee a recovery time for your own applications.

A self-directed completion record is not an accredited or identity-verified qualification. Product support covers the documented scope; see support terms for details.

Free to read / No purchase needed

Start with the guides.

Useful on their own,
or alongside a hands-on lab.

Looking for tools instead?

Explore HAS software.

Meet Jarvis, the AI home assistant in development, and learn about future freeware releases.

Explore software