Yet another "gitpod like environment" you can install directly self-host on your own infrastructure and with the real tools you're using locally everyday. The docker image is inheriting this one from coder.com and is embedding docker
, docker-compose
, k3d
, kubectl
, kubeseal
, k9s
, helm
, terraform
, terragrunt
, ansible
, gcloud
, and lt
.
[[TOC]]
Yes gitpod or coder.com are working really fine and they will probably answer to lots of people. You'll have your fully fonctional web IDE and you'll be able to deploy your services in a serverless / containers based solution provided.
But until now, I used to still work locally because I missed some cli like docker
, docker-compose
, k3d, k9s, localtunnel, jq
, yq
. When somebody tells me "I can provide you a fully complete developer|ops local environment on the cloud, you'll just have to use a browser", I expect all my everyday tools to be there. I also expect to be able to clone and run any projects I want it with only one limitation: the chosen sizing of my instance (like I had a limit size on my laptop before).
So this is why this alternative exists: you'll have my dream dev environment on the cloud (with all those common CLI) and if OCI containers aren't sufficient for you, you'll also be able to install the missed dependancies you need directly on the terminal.
That's also why we're working on providing a SaaS version.
- Main repo: https://gitlab.comwork.io/oss/ansible-iac/code-server
- Github mirror: https://github.com/comworkio/code-server.git
- Gitlab mirror: https://gitlab.com/ineumann/code-server.git
The image is available on docker hub here.
Very simple example with docker-compose:
version: "3.3"
services:
code-server:
image: comworkio/code-server
container_name: code-server
network_mode: host
volumes:
- ./code-config.yaml:/home/coder/.config/code-server/config.yaml:z
- /var/run/docker.sock:/var/run/docker.sock
And the code-config.yaml
:
bind-addr: 0.0.0.0:8080
auth: password
password: changeit
cert: false
Then you can add volum with your workspaces git repositories.
You can automate your workspaces on a classic VM or compute instance using this ansible role which supports CentOS with docker and docker-compose installed.
You'll just have to complete this yaml repository inventory:
code_git_workspaces:
- name: code-server
git: https://gitlab.comwork.io/oss/code-server.git
You can expose your containers on internet using Localtunnel
For example if you want to expose the 8080 port:
lt --port 8080
You containers will have to map the same tcp port on the local network.
In order to keep the same public TLS url on your own DNS zone, you can use this comwork cloud service
Either way, you'll get an url as output that you'll be able to share with other people arround the world !