How to setup a remote development environment with code-server and nextcloud

Prerequisites

  • A kubernetes cluster (I recommend to use k3s.io)
  • A nextcloud installation (you can install via helm within the same k8s cluster)
  • A k8s storage class where you can save your files

System Architecture

System architecture

Configure nextcloud sync client

kubectl apply -f k8s/01-pvc-nextcloud-client.yaml
kubectl apply -f k8s/conf/nextcloud-client-conf.yaml
kubectl apply -f k8s/conf/nextcloud-client-conf.yaml

Configure vscode on the server

Docker mods

apiVersion: v1
kind: ConfigMap
metadata:
name: code-server-configmap
namespace: prod
data:
...
DOCKER_MODS: "linuxserver/mods:code-server-extension-arguments|ghcr.io/ivanmorenoj/lsio-mods:code-server-ws"
...

Configure code-server on k8s

kubectl apply -f k8s/02-pvc-code-server.yaml
kubectl apply -f k8s/conf/code-server-conf.yaml
kubectl apply -f k8s/04-code-server.yaml

Configure the ingress

kubectl apply -f k8s/05-ingress.yaml

Results

code-server working as web application

--

--

--

Engineer || MSc student || DevOps in progress

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Java: break vs continue

Dino Cajic explaining break vs continue statement in Java

Android lifeCycle and Activities Stack

Working with nginx ingress controller annotations in Kubernetes

do |ruby| right — Useful Callbacks and ActiveRecord Options

Callbacks — check! belongs_to options and mean girl memes left to do

The browser wars are over.

Fluentd Pulsar Plugin

Read [PDF] Books Professional Microsoft SQL Server 2016 Reporting Services and Mobile Reports (Wrox…

Google Play Billing Library meets Kotlin Coroutine

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Ivan Moreno

Ivan Moreno

Engineer || MSc student || DevOps in progress

More from Medium

Ship First Development

Difference between Git and Github?

Build an Azure Application Gateway with Terragrunt

THE IMPORTANCE OF SHELL SCRIPTING IN DEVOPS