DevOps Lounge

Open source worth reading

Awesome lists, starter templates and complete applications on GitHub, sorted by area. Reading real code is the fastest way to learn how projects are put together.

DevOps 10

  • awesome-selfhosted: services you can run yourself

    A long, well-sorted catalogue of free software you can host on your own machines, grouped by what it replaces: wikis, monitoring, chat, media, backups and much more. Useful for homelab ideas and for finding a mature project to read. Start with README.md for the categories; non-free.md keeps proprietary entries separate so the main list stays clean. License: CC-BY-SA-3.0 for the list content.

    github.comAwesome ListBeginner
  • kubernetes-the-hard-way: build a cluster by hand

    A classic tutorial that sets up Kubernetes step by step without installers, so you meet certificates, the API server, etcd and kubelet configuration directly. The numbered files in docs/ are the path; units/ and configs/ hold the files you generate or install. Not updated recently, but the concepts remain valid and the repo is still worth working through once. License: Apache-2.0.

    github.comLearningAdvanced
  • awesome-compose: Docker Compose samples for common stacks

    Ready-made Compose setups for pairings like Flask with Redis, Django, Nginx with Go and MySQL, Elasticsearch with Kibana, and more. Each sample is a folder with its own compose.yaml-style config, so you can copy only what you need. Handy for learning multi-container networking and volumes by running real examples. License: CC0-1.0.

    github.comStarterBeginner
  • starter-workflows: GitHub Actions templates by use case

    The official source of the workflow suggestions GitHub shows when you set up Actions. Folders like ci/, code-scanning/ and deployments/ hold YAML for building and testing many languages, scanning code and deploying to clouds. Read a few to learn caching, matrices and permissions idioms. License: MIT.

    github.comTemplateBeginner
  • microservices-demo: Online Boutique on Kubernetes

    A polyglot web shop split into small services that talk over gRPC, designed to demonstrate cloud-native tooling. Start with kubernetes-manifests/ and skaffold.yaml to run it, then read service code under src/ and the API contracts in protos/. terraform/ and kustomize/ show alternative ways to deploy. License: Apache-2.0.

    github.comFull AppIntermediate
  • awesome-docker: containers, tooling and learning resources

    A curated map of the Docker ecosystem: tooling, security scanners, orchestration, CI helpers and tutorials. Read README.md by section when you hit a specific problem such as image size or registry choice. Alongside the list there is Go code in cmd/ and internal/, plus a website/ folder. License: Apache-2.0.

    github.comAwesome ListBeginner
  • ansible-for-devops: playbooks that grow with the book

    Example playbooks from a well-known Ansible book, from simple to multi-server setups. Begin with first-ansible-playbook/, then lamp-infrastructure/, deployments-rolling/ and molecule/ for testing roles. The author notes that not every example follows every best practice, since each one illustrates a feature. Not updated every month, but the lessons last. License: MIT.

    github.comLearningIntermediate
  • opentelemetry-demo: a shop instrumented end to end

    A multi-language storefront built to show traces, metrics and logs in practice. Look through src/ to see the same telemetry ideas applied in different languages, and open compose.yaml for the local stack. A strong reference for observability wiring. License: Apache-2.0.

    github.comFull AppIntermediate
  • terraform-aws-vpc: a module worth copying habits from

    A widely used Terraform module for AWS networking. Read main.tf, variables.tf and outputs.tf for how a flexible module exposes options, then run the scenarios in examples/ and look at modules/. A good lesson in module design and interface choices. License: Apache-2.0.

    github.comTemplateIntermediate
  • podinfo: a small Go service for Kubernetes demos

    A tiny web service used to try out deployment patterns. The repo includes Helm in charts/, plain manifests in kustomize/, a timoni/ module and signing config in .cosign/. Deploy it to learn rollout, health checks and supply-chain tooling. License: Apache-2.0.

    github.comTemplateIntermediate

Backend 9

  • awesome-go: the Go ecosystem, categorised

    If you write Go, this is the quickest way to find a library for routing, databases, CLIs, testing or concurrency without guessing. Entries are filtered for quality, so the list is shorter than a raw search. Fun extra: the repo ships its own Go code (main.go, pkg/, tmpl/) that builds the site, so you get a small real program to read too. License: MIT.

    github.comAwesome ListBeginner
  • rustlings: small exercises that teach Rust

    Tiny broken programs you fix until they compile, each one introducing a Rust idea such as ownership, enums or traits. It runs in your terminal and checks your work as you save. Look in exercises/ for the tasks and solutions/ once you are stuck. A fast way to get over the borrow checker's first hurdles. License: MIT.

    github.comLearningBeginner
  • full-stack-fastapi-template: a deployable API and UI

    A complete starting point pairing a FastAPI backend with a React frontend, PostgreSQL and Docker Compose. It is useful as a reference for auth, migrations, tests and deployment wiring. Open backend/ and frontend/ for the code, compose.yml to see the stack, then development.md and deployment.md for the workflow. License: MIT.

    github.comStarterIntermediate
  • awesome-rust: where Rust projects are indexed

    A broad index of Rust libraries, applications and resources, organised by domain from web frameworks to embedded and games. Handy for discovering mature crates before you write your own. Open README.md, and see CONTRIBUTING.md if you want to add something. The repo also contains a small Rust crate (Cargo.toml, src/) alongside the list. License: CC0-1.0.

    github.comAwesome ListIntermediate
  • awesome-scalability: reading list for large-system design

    A reading list of engineering write-ups on scalability, availability and stability, grouped by topic and by company. Good for getting beyond textbook diagrams to how real systems failed and recovered. Work through README.md one section at a time and note the trade-offs each article makes. License: MIT.

    github.comAwesome ListIntermediate
  • TheAlgorithms/Python: algorithms with readable implementations

    A large collection of algorithms and data structures written in plain Python for study. Folders such as dynamic_programming/, data_structures/, backtracking/ and ciphers/ make it easy to look up a topic, and DIRECTORY.md is the full index. Treat it as teaching code, not production code. License: MIT.

    github.comLearningBeginner
  • mal: write a Lisp interpreter in small steps

    A guided project to build a Lisp in numbered steps, with the same design implemented in dozens of languages under impls/. Start with process/guide.md, then compare your language's version with another you know. A rewarding way to learn parsing, evaluation, environments and tail calls. License: MPL-2.0.

    github.comLearningAdvanced
  • cookiecutter-django: production defaults for Django

    A project generator that outputs a Django app with Docker, settings per environment, testing, and optional extras. Generate one, then read the template under {{cookiecutter.project_slug}} and the hooks/ that tailor the result. docs/ explains each option. License: BSD-3-Clause.

    github.comStarterIntermediate
  • ardanlabs/service: a layered Go service starter

    A reference layout for production Go web services with Kubernetes in mind. The structure is explicit: app/ for entry points, business/ for domain logic, foundation/ for reusable pieces, and zarf/ for deployment config. Good reading on package design and project layering. License: Apache-2.0.

    github.comStarterAdvanced

Web 8

  • awesome: the list that defines the format

    awesome is the meta-list behind the whole awesome-list convention, and it is the place to start when you want a curated index of anything from languages to tooling. Read create-list.md first: it explains what separates a useful list from link spam, which is handy if you ever curate one yourself. Then browse readme.md by topic. License: CC0-1.0, so you can reuse the material freely.

    github.comAwesome ListBeginner
  • create-t3-app: opinionated TypeScript web scaffolding

    A CLI that scaffolds a typed Next.js project, letting you opt into pieces like tRPC, Prisma or Drizzle and Tailwind. Reading cli/ shows how a good scaffolder composes templates and installers, which is a neat lesson on its own; www/ holds the documentation site. Use it when you want a well-trodden full-stack TypeScript layout. License: MIT.

    github.comStarterIntermediate
  • epic-stack: a full web app foundation with decisions explained

    A production-minded starter for a React Router app with Prisma, Playwright tests and Fly.io deployment config. What sets it apart is documentation of why choices were made: read docs/ and the decisions folder inside it before the code. Then explore app/, prisma/ and tests/ to see how it all fits. License: MIT.

    github.comStarterAdvanced
  • excalidraw: a whiteboard app and an embeddable library

    A real, widely used React app that is also published as a component. The editor lives in packages/excalidraw, the hosted app shell in excalidraw-app/, and dev-docs/ covers the internals and embedding. Study it for canvas rendering, state management and how a library is carved out of an app. License: MIT.

    github.comFull AppIntermediate
  • the-super-tiny-compiler: see a compiler in one file

    A heavily commented JavaScript file that compiles a toy Lisp-like syntax into C-like calls, walking through tokenising, parsing, transforming and code generation. Read the-super-tiny-compiler.js top to bottom and run test.js. Older and small, but still a clear introduction to compiler stages. License: CC BY 4.0.

    github.comLearningIntermediate
  • cal.diy: a scheduling app as a TypeScript monorepo

    A large Next.js scheduling application organised into apps/ (including web, api and docs) and shared packages/ such as prisma, trpc and emails. Useful for seeing how a real product splits concerns across a monorepo. Check the README for how this repository relates to the hosted product. License: MIT.

    github.comFull AppIntermediate
  • Next-js-Boilerplate: a tidy starter with tests

    A Next.js and TypeScript starter that bundles Tailwind, a database layer with Drizzle, linting, Vitest and Playwright. See src/ for the app, migrations/ for schema history and tests/ for how the checks are organised. Handy when you want a starting point with quality gates already in place. License: MIT.

    github.comStarterBeginner
  • prisma-examples: ready-to-run TypeScript data layer samples

    A collection of example projects that pair Prisma with different frameworks and databases. Browse orm/ for framework samples, databases/ for database-specific setups and deployment-platforms/ for hosting. Note the default branch is called latest. License: Apache-2.0.

    github.comTemplateBeginner

Mobile 7

  • awesome-ios: Swift and iOS libraries by topic

    A large index of iOS and Swift projects grouped by purpose: networking, architecture, UI components, testing, tooling and learning material. Good when you need to compare two or three options before adding a dependency. Open README.md and use the table of contents; the architecture and testing sections are the most useful for people past their first app. License: MIT.

    github.comAwesome ListBeginner
  • react-native-template-obytes: Expo app with good defaults

    A mobile starter built on Expo and TypeScript with Maestro end-to-end flows in .maestro/, EAS build config in eas.json, and an organised src/ folder. Worth reading for how it sets up env handling, linting, commit hooks and tests so a team can start with discipline. License: MIT.

    github.comStarterIntermediate
  • architecture-samples: Android app structure, compared

    Google's reference to-do app showing how to structure an Android project with Compose, Hilt and Room. The main code is in app/ and shared test helpers live in shared-test/, so you can study the layers and how tests are organised. Pair it with Now in Android once the basics are comfortable. License: Apache-2.0.

    github.comTemplateIntermediate
  • Now in Android: a full modern Android reference

    A working news app that Google uses to demonstrate current Android practice: modular layout, Compose UI, offline-first data and thorough testing. Look at core/ and feature/ to see the module split, build-logic/ for convention plugins, and docs/ for architecture notes. Heavy but very instructive. License: Apache-2.0.

    github.comFull AppAdvanced
  • awesome-android-ui: components worth studying

    A visual catalogue of Android UI libraries: animations, lists, dialogs, charts, transitions and more, with pointers to each repo. Useful when you want a polished interaction and would rather read an existing implementation. Everything is in README.md, and the art/ folder holds images. Check each library's maintenance before adopting. License: MIT.

    github.comAwesome ListBeginner
  • Signal-Android: study a security-minded messenger

    The Android client of a privacy-focused messenger, with a large modular Gradle layout (app/, lib/, core/) and a reproducible-builds/ folder explaining verifiable builds. Read it for encryption integration, background work and testing at scale. Heavy going, so pick one feature to trace. License: AGPL-3.0, which has strong copyleft terms.

    github.comFull AppAdvanced
  • flutter/samples: small apps for each Flutter feature

    The Flutter team's collection of samples, each in its own folder: animations/, form_app/, compass_app/ and more. Pick one that matches the feature you need and read its code. compass_app/ is the one to study for app architecture. License: BSD-3-Clause.

    github.comTemplateBeginner

GameDev 7

  • magictools: a game developer's reference shelf

    One list that covers the practical side of making games: engines, art and audio tools, level editors, tutorials and communities. It is a good map if you are choosing a first engine or looking for free assets and tooling around it. Everything lives in README.md, organised by discipline, so skim the headings and jump to your area. License: MIT.

    github.comAwesome ListBeginner
  • godot-demo-projects: small Godot games to read and run

    Official demos that each isolate one feature of the Godot engine, so you can open a project and see exactly how it is wired. Browse 2d/, 3d/ and gui/, and read networking/ if you want multiplayer examples such as multiplayer_pong. Great for learning scenes, signals and GDScript by reading working code. License: MIT.

    github.comLearningBeginner
  • Godot Engine: read a real game engine's source

    A full 2D and 3D engine and editor in C++. Intimidating at first, but the layout helps: core/ holds fundamental types and the object system, scene/ the node tree, servers/ rendering and physics backends, and modules/ optional features. Pick one subsystem, such as input, and trace it through. License: MIT.

    github.comFull AppAdvanced
  • raylib: a friendly C library for making games

    A small, readable graphics and game library with a simple API and almost no dependencies. The examples/ folder is the best tutorial, with short programs covering 2D, 3D, audio and input, while src/ is approachable if you want to see how it works. CONVENTIONS.md documents the code style. License: zlib, a permissive one.

    github.comLibraryBeginner
  • OpenRCT2: a C++ game rebuilt and maintained in the open

    An open-source reimplementation of a classic park simulation game. Because it models rides, guests, finances and a scenario world, it is a rich place to study simulation code. Start in src/openrct2, especially its world folder, and check docs/ for the build instructions. Original game data is needed to play. License: GPL-3.0.

    github.comFull AppAdvanced
  • Mindustry: a complete Java game with desktop, Android and server

    A tower defence and factory game with its logic in core/, platform launchers in desktop/, android/ and ios/, and a headless server/ module. Reading it shows how one Java codebase targets many platforms with shared game code. CONTRIBUTING.md is the entry point for newcomers. License: GPL-3.0.

    github.comFull AppIntermediate
  • Bevy: a data-driven game engine in Rust

    A modular engine built around an entity component system. The examples/ directory is organised by topic, and examples/ecs is the place to learn the core model, while crates/ shows how the engine is split. Fast-moving, so check the version when copying code. License: MIT or Apache-2.0.

    github.comLibraryIntermediate

AI 7

  • LLMs-from-scratch: build a GPT-style model step by step

    Code companion to a book on implementing a small language model in PyTorch, from tokenisation and attention to pretraining and fine-tuning. Chapters are folders, each with a 01_main-chapter-code directory; begin with ch03 for attention and ch04 for the full model. Bonus folders go deeper on topics such as KV cache and weight loading. License: Apache-2.0.

    github.comLearningAdvanced
  • chatbot: a Next.js AI chat app you can deploy

    A maintained reference for building a streaming chat product with the AI SDK, a database and authentication. Read app/ for routes, lib/ for data and model plumbing, artifacts/ for the artifacts feature, and tests/ for Playwright coverage. Good if you want to see how a modern AI app is structured end to end. License: Apache-2.0.

    github.comStarterIntermediate
  • llama.cpp: LLM inference in plain C and C++

    A compact route to understanding how local language models actually run: quantised weights, a tensor library and efficient CPU and GPU backends. Read src/ for the model code, ggml/ for the tensor core, and convert_hf_to_gguf.py to see how models are converted. examples/ shows usage patterns. License: MIT.

    github.comLibraryAdvanced
  • generative-ai-for-beginners: lessons on building LLM apps

    A numbered course on building with large language models, covering prompts, text generation apps, chat, search, RAG and agents. Each lesson is a folder with explanations and code. Try 06-text-generation-apps, 15-rag-and-vector-databases and 17-ai-agents for practical angles. License: MIT.

    github.comLearningBeginner
  • micrograd: backpropagation in a few hundred lines

    A tiny automatic-differentiation engine plus a small neural network library, built to show what frameworks do under the hood. Read micrograd/engine.py for the value graph and micrograd/nn.py for the layers, then run demo.ipynb. An evening's reading that makes training loops much less mysterious. License: MIT.

    github.comLearningIntermediate
  • openai-cookbook: worked examples for API-based apps

    A large set of notebooks and articles on building with LLM APIs: retrieval, function calling, evaluation, embeddings and more. Browse examples/ for runnable code and articles/ for longer guides. Treat the patterns as transferable even if you use another provider. License: MIT.

    github.comLearningBeginner
  • pydantic-ai: typed agents in Python

    An agent framework from the Pydantic team that leans on type hints for tools and structured outputs. Read pydantic_ai_slim/ for the core, pydantic_graph/ for graph-based control flow and pydantic_evals/ for evaluation, with examples/ to run. A good study in API design for LLM code. License: MIT.

    github.comLibraryIntermediate

Security 6

  • OWASP Cheat Sheet Series: concise security guidance

    Short, practical notes on how to build safely: authentication, session handling, input validation, secrets, REST security, Docker and many more. They are written for developers, not auditors. Browse the cheatsheets/ folder and start with Authentication_Cheat_Sheet.md, then read whatever matches your stack. Good to keep open during code review. License: CC BY-SA 4.0.

    github.comLearningIntermediate
  • Trivy: a vulnerability and misconfiguration scanner in Go

    A defensive scanner for container images, filesystems, IaC and dependencies. Reading it teaches how artifacts are unpacked and matched against advisories: pkg/fanal handles analysis of images and files, cmd/ wires the CLI, and docs/ explains usage. Run it against your own Dockerfile first. License: Apache-2.0.

    github.comFull AppAdvanced
  • age: a small, modern file encryption tool in Go

    A compact encryption library and CLI designed to be simple and hard to misuse. The core is a handful of readable files such as age.go, x25519.go and scrypt.go, with the command in cmd/ and extensibility in plugin/. A good example of a deliberately small cryptographic API. License: BSD-3-Clause.

    github.comLibraryIntermediate
  • OWASP Web Security Testing Guide: a methodical checklist

    A defensive guide for testing web applications you own or are authorised to assess, organised by area such as authentication, session management and input handling. Use document/ for the chapters and checklists/ for working lists you can follow during a review. It also teaches developers what testers look for. License: CC BY-SA 4.0.

    github.comLearningIntermediate
  • OpenSSF Scorecard: automated checks on repo security habits

    A Go tool that scores open source projects on practices such as branch protection, dependency updates and pinned workflows. Read ARCHITECTURE.md, then look at checks/ and checks/raw/ to see how each check is implemented. Run it on your own repository. License: Apache-2.0.

    github.comFull AppIntermediate
  • Falco: runtime threat detection for containers

    A defensive runtime security tool that watches system activity and raises alerts based on rules. It is worth reading for how kernel events are turned into policy: see userspace/, then falco.yaml and config/ for configuration. Run it in a lab cluster to understand its output. License: Apache-2.0.

    github.comFull AppAdvanced

Data/ML 5

  • awesome-machine-learning: libraries by language

    A language-by-language index of machine learning libraries, which makes it easy to see what exists in, say, Go or Rust and not only Python. Besides README.md, there are separate files for courses.md, books.md and ml-curriculum.md, handy for building a study plan. Treat it as a map and verify maintenance status before depending on any entry. License: CC0.

    github.comAwesome ListBeginner
  • ML-For-Beginners: a 12-week classical ML curriculum

    A lesson-based course built around classical machine learning: regression, classification, clustering, NLP and time series, with quizzes and notebooks. Each topic is a numbered folder, so you can read in order or jump in. 2-Regression is a gentle first stop, and 3-Web-App shows how to put a model behind a small app. License: MIT.

    github.comLearningBeginner
  • cookiecutter-data-science: a sane layout for ML projects

    A project template that gives data work a consistent structure for data, notebooks, source code and docs. The generated layout sits in the folder named {{ cookiecutter.repo_name }}, and ccds.json defines the prompts you answer. It also ships a Makefile with common tasks. A good habit-former for reproducible work. License: MIT.

    github.comTemplateBeginner
  • handson-ml3: notebooks for classical and deep learning

    The code companion to a popular machine learning book, delivered as Jupyter notebooks that move from the basics to neural networks with Keras. Start with 02_end_to_end_machine_learning_project.ipynb for a full workflow, including data cleaning and evaluation. The notebooks explain choices as they go. License: Apache-2.0.

    github.comLearningIntermediate
  • DuckDB: an analytical database you can read

    An in-process SQL engine for analytics, written in C++. The src/ directory follows the query pipeline: parser, planner, optimizer, execution and storage. extension/ and benchmark/ are good side trips. A strong choice if you want to learn how databases work. License: MIT.

    github.comLibraryAdvanced

More from the Vault

Talk it through with people who use these

Ask about any of these in the server, share what you build with them, and get new picks every day.

Join on Discord