Hocus is the go-to, self-hosted application that effortlessly creates ready-to-code, disposable development environments on your own servers within mere seconds.

With the power to define your dev environments as code, you can launch them directly from your browser in an instant. Consider it your robust, self-hosted counterpart to Gitpod and GitHub Codespaces.

Hocus offers seamless integration with any Git provider utilizing the SSH protocol, such as GitHub, GitLab, BitBucket, or Gitea. Acting akin to a CI system, it prebuilds dev environments on every commit across all branches, empowering your team members to dive directly into coding with fresh, fully-configured dev environments at their fingertips.

Whether the task at hand involves bug fixing, new feature construction, or conducting a code review, trust that Hocus has got your back.

Project Goal

  • Ease of deployment and management are central goals of Hocus, with minimal assumptions made about the underlying OS and hardware.
  • Hocus should provide a native development experience with performance on par with bare-metal development.
  • Hocus should be scalable to accommodate large teams, with support for thousands of users and heavyweight repositories. We're not there yet.

Features

  • 💻 Workspaces - disposable, fully-configured development environments powered by VMs, defined as code.
  • 🏗️ Prebuilds - Hocus continuously builds your project like a CI system, so you can spin up a fresh dev environment in seconds and focus on coding rather than waiting.
  • 🤝 Project Environment Variables - Declare shared environment variables for your entire team, making collaboration easier.
  • 🔗 VSCode Integration - Connect to workspaces over SSH automatically with your local VSCode editor.
  • 🧙‍♂️ Full Root Access - Unlike Docker containers, Hocus workspaces are full-fledged VMs, giving you full control over your environment. You can use Docker and nested KVM, run LocalStack, or even deploy Kubernetes;
  • 🔄 Support for any Git provider that uses the SSH protocol - Connect Hocus to GitHub, Gitlab, Bitbucket, Gitea, Gerrit, and others.
  • 🚄 Monorepo support - Create multiple development environments for different projects in a single repository.

Requirements

  • x86_64 Linux, preferably with at least the 5.10 kernel
  • KVM support on the host
  • A Linux distribution which supports the target_core_usertcm_loop and sd_mod kernel modules (generally available with the notable exception of WSL microsoft/WSL#9511)
  • Git
  • Docker, Docker Compose, and Buildx

License

This repository's code is licensed under the Elastic License v2.0, unless stated otherwise. The extensions directory and its subdirectories are licensed under MIT.

Resources & Downloads

GitHub - hocus-dev/hocus: 🪄 Spin up ready-to-code, disposable dev environments on your own servers. Self-hosted alternative to Gitpod and Github Codespaces.
🪄 Spin up ready-to-code, disposable dev environments on your own servers. Self-hosted alternative to Gitpod and Github Codespaces. - hocus-dev/hocus
Hocus | Automated Self-Hosted Dev Environments
Remote dev environments as code. Self-hosted.