Dockside is a self-hosted open-source platform for provisioning dev environments, staging environments and sandboxes.
Put simply, it’s like having your own self-hosted Github Codespaces, and is ideal for small web dev teams working on single or multiple in-house or client websites projects, or security-conscious dev teams who need to keep code and data on-prem. You can run it on local machine with Docker, but it comes into its own when self-hosted on-premises or in the cloud.
Dockside's key benefits over Codespaces are:
1. You only pay for hosting the platform, no matter how many dev environments you create or how long they are running.
2. Every dev environment can be turned into a public or securely-accessible staging server with a click, allowing instant feedback on your work from your colleagues, testers, PMs, managers and clients.
3. You can develop in an exact clone of your production environment, minimising risk of rollout issues and increasing dev velocity.
Dockside launches each dev environment (we call them 'devtainers') in a container, each fully equipped with a custom subdomain name, HTTPS reverse proxy, seamless SSH access, plus a built-in web-based IDE (Theia), and fine-grained access controls so devtainers' code and web services can be shared with/staged for exactly whom you wish and no further.
You can choose to use the built-in VS Code-compatible IDE, any IDE like VS Code or JetBrains, Eclipse, Atom or Sublime that supports remote development over SSH, or any text editor you (pre)install in your devtainer.
You can also choose your container runtimes for each task or project: we recommend runc for common tasks; sysbox-ce for when you need to develop using dockerd; and runcvm for launching dev environments as KVM VMs.
Everything is preconfigurable by the administrator. The fine-grained permissions system lets you lock down runtimes, networks and images for new starters in your team, while allowing established devs more control, admins full control, and giving PMs and management visibility of web services but no dev access.
Dockside is a mature and stable platform, and this post marks its latest release to v3.1 which upgrades the built-in Theia web IDE to the latest version, providing excellent VS Code extension compatibility and a real-time collaboration function.
We'd love more people to use it and help develop it, especially Vue developers, so if this project inspires you please do consider contributing.
- Github: https://github.com/newsnowlabs/dockside
- Live demo server: https://www.demo.dockside.cloud/
- Video walkthrough: https://youtu.be/buAefREyngQ?list=PLgDxgkeGPK-FkfubPc5bRAr51...
- Launch locally with Docker on Mac or Linux: mkdir -p ~/.dockside && docker run -it --name dockside --mount=type=volume,src=dockside-ssh-hostkeys,dst=/opt/dockside/host -v ~/.dockside:/data -v /var/run/docker.sock:/var/run/docker.sock -p 443:443 -p 80:80 --security-opt=apparmor=unconfined newsnowlabs/dockside --ssl-builtin