A docker image for self-hosting the backend of Tencent Coding Cloud Studio
There are two images: annangela/cloudstudio_selfhosting and annangela/cloudstudio_selfhosting_php, both images are based on Ubuntu 18.04 bionic latest image which is the highest version that Cloud Studio supported.
software in annangela/cloudstudio_selfhosting |
version |
---|---|
openssh server & client | latest version available from Ubuntu 18.04 bionic apt repository |
node | latest lts version using nodejs version manager n |
npm | latest version (explicitly set environment variabl N_PRESERVE_NPM to 1 ) |
software in annangela/cloudstudio_selfhosting_php |
version |
---|---|
openssh server & client | latest version available from Ubuntu 18.04 bionic apt repository |
node | latest lts version using nodejs version manager n |
npm | latest version (explicitly set environment variabl N_PRESERVE_NPM to 1 ) |
php | latest current stable version with php-curl and php-zip extensions from ppa:ondrej/php |
composer | latest version from getcomposer.org |
The docker-compose.yml
template file contains comment to introduce which folders and files are necessary to keep permanently, and which files should be generated before start up the container.
Here is a checklist for you to prepare:
- If you want to use php image, please replace
annangela/cloudstudio_selfhosting:latest
withannangela/cloudstudio_selfhosting_php:latest
; - Get the public key from Cloud Studio, and write it to
ssh/authorized_keys
; - Generate a ed25519 key pair, and write it to
ssh/id_ed25519
&ssh/id_ed25519.pub
; - Generate a rsa key pair, and write it to
sshd/ssh_host_rsa_key
&sshd/ssh_host_rsa_key.pub
; - Generate a ecdsa key pair, and write it to
sshd/ssh_host_ecdsa_key
&sshd/ssh_host_ecdsa_key.pub
; - Generate a ed25519 key pair, and write it to
sshd/ssh_host_ed25519_key
&sshd/ssh_host_ed25519_key.pub
; - Download and check the
sshd/sshd_config.d/cloudstudio.conf
file and change it if necessary; - Create the volumes:
docker volume create cloudstudio_resource
docker volume create cloudstudio_localShare_cloudstudio
docker volume create cloudstudio_localShare_codeServer
docker volume create cloudstudio_RemoteWorking
docker volume create cloudstudio_config
docker volume create cloudstudio_ssh