Skip to content

mcansem/infra

Repository files navigation

infra

License: MIT Lint Release Conventional Commits Changelog

Reusable, environment-agnostic infrastructure repository for deploying and operating applications across cloud, self-hosted, and homelab environments.

Vision

This repository is not a project-specific deployment repo. It is a reusable infrastructure platform meant to serve multiple applications and servers over time, supporting:

  • Cloud deployments
  • Self-hosted deployments
  • Homelab deployments
  • CI/CD
  • Staging and Production environments
  • Disaster Recovery

Philosophy

Application code and infrastructure code are always kept separate.

Repository Contains
portfolio/ (example app repo) Next.js, .NET 10
infra/ (this repo) Infrastructure, Docker, Jenkins, Nginx, Bash scripts, SSL, deployment, documentation

Infrastructure defined here must remain reusable regardless of which application consumes it.

Roadmap

See docs/roadmap.md for the full phase-by-phase roadmap, current status of each phase, the deployment journey (short/long term), and the history of roadmap revisions.

Repository Structure

infra/
├── scripts/    # Host hardening + operations (harden-host.sh, backup/restore/update/cleanup/deploy)
├── docker/     # Compose stacks grouped by concern (e.g. portainer/)
├── jenkins/    # Dockerized Jenkins, configured as code (JCasC)
├── vars/       # Jenkins Shared Library (must live at repo root, see vars/README.md)
├── nginx/      # Reverse proxy, SSL termination, security headers
├── ssl/        # Certificate material (runtime only, not committed)
├── docs/       # Spec, roadmap, architecture, deployment, backup, restore, recovery docs
└── .github/    # Issue/PR templates, CI workflows

Each folder contains its own README.md describing its purpose and current status.

Versioning Strategy

This project follows Semantic Versioning from the very first commit. See CHANGELOG.md for release history, docs/roadmap.md for the version-by-version roadmap (v0.1.0 → v1.0.0), and docs/project-specification.md for the full technical specification.

Contributing

See CONTRIBUTING.md for commit conventions and the release process.

License

MIT

About

Reusable Infrastructure-as-Code repository for cloud, self-hosted, and homelab environments.

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors