Sign inSign up

newsnowlabs/dockside

By newsnowlabs

Updated 6 days ago

Dockside lets dev teams code in clones of their production environment and stage their work online

Image
Developer tools
1

10K+

newsnowlabs/dockside repository overview

//Dockside

Introduction

Dockside is a tool for provisioning lightweight access-controlled IDEs, staging environments and sandboxes - aka devtainers - on local machine, self-hosted on-premises on bare metal or VM, or in the cloud.

By provisioning a devtainer for every fork and branch, Dockside allows collaborative software and product development teams to take lean and iterative development and testing to a highly parallelised extreme.

Core features:

  • Instantly launch and clone an almost infinite multiplicity of disposable development containers - one for each task, bug, feature or design iteration - based on stock images, or clones of your production environment.
  • Powerful VS Code-compatible IDE.
  • HTTPS automatically provisioned for every devtainer.
  • User authentication and access control to running devtainers and their web services.
  • Fine-grained user and role-based access control to devtainer functionality and underlying system resources.
  • Root access within devtainers, so developers can upgrade their devtainers and install operating system packages when and how they need.

Benefits for developers:

  • Code in a clone of your production environment, avoiding troublesome deploy-time errors and bugfixing.
  • Switch between and hand over tasks instantly. No more laborious branch switching, or committing code before it’s ready. ‘git stash’ will be a thing of the past.
  • Work from anywhere. All you need is a browser.
  • Unifying on an IDE within a team can deliver great productivity benefits for collaborative teams through improved knowledge-share, better choices and configuration of plugins and other tooling.
  • Develop against production databases (or production database clones) when necessary.

Benefits for code reviewers:

  • Access your colleagues’ devtainers directly for code review.
  • No more staring at code wondering what it does, or time-consuming setup, when their code is already running.
  • Annotate their code directly with your comments as to points they should address.
  • To save time, when you know best, apply and test your own fixes directly to their code.

Benefits for product managers and senior management:

  • High visibility of product development progress. Access always-on application revisions and works-in-progress, wherever you are in the world.
  • Devs can be sometimes be fussy about their choice of IDE, but unifying on an IDE can deliver productivity benefits for collaborative teams through improved knowledge-share and tooling.

Advanced features:

  • Runtime agnostic: use runC (Docker's default), sysbox, gvisor, or others.
  • Firewall or redirect outgoing devtainer traffic using custom Docker networks.
  • Apply Docker system resource limits to devtainers, and communicate available system resources to devtainers using LXCFS.
  • Support for launching multi-architecture devtainers using qemu-user-static.
  • Access Dockside devtainers via multiple domain names, when needed to stage or simulate multi-domain web applications.

Video walkthrough

Dockside Walkthrough Video

Host requirements

Dockside is supported on Intel (amd64/x86), Apple M1/M2 (arm64) and Raspberry Pi (arm/v7) hardware platforms, via a multiarch Docker image that contains native binary implementations of Dockside for all three architectures.

Dockside is tested on:

Getting started

Quickstart: Launch locally with built-in SSL cert

To launch Dockside on a local machine, with a temporary and convenient built-in SSL certificate, run:

mkdir -p ~/.dockside && \
docker run -it --name dockside \
  -v ~/.dockside:/data \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -p 443:443 -p 80:80 \
  newsnowlabs/dockside --ssl-builtin

Launch on-premises or in the cloud

For more launch options, such as how to install on-premises or in the cloud using an auto-generated self-signed SSL certificate, a self-supplied SSL certificate, or an auto-generated LetsEncrypt SSL certificate, please see the Dockside Documentation.

Licence

This project (known as "Dockside"), comprising the files in the Dockside Git repository, is copyright 2017-2021 NewsNow Publishing Limited and contributors.

Dockside is an open-source project licensed under the Apache License, Version 2.0 (the "License"); you may not use Dockside or its constituent files except in compliance with the License.

You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

N.B. In order to run, Dockside relies upon other third-party open-source software dependencies that are separate to and independent from Dockside and published under their own independent licences. Dockside Docker images made available at https://hub.docker.com/repository/docker/newsnowlabs/dockside are distributions designed to run Dockside that comprise: (a) the Dockside project source and/or object code; and (b) third-party dependencies that Dockside needs to run; and which are each distributed under the terms of their respective licences.

Trade marks

Dockside and devtainer are trade marks of NewsNow Publishing Limited. All rights reserved.

Website

For more information, visit dockside.io.

Tag summary

Content type

Image

Digest

sha256:876acbdf7

Size

534.2 MB

Last updated

6 days ago

docker pull newsnowlabs/dockside