Initial version
This commit is contained in:
commit
76ad8d62bd
|
@ -0,0 +1,4 @@
|
|||
test/*
|
||||
.git/*
|
||||
screenshots/*
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
node_modules/
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"id": "com.coder.codeserver.cloudronapp",
|
||||
"title": "VS Code",
|
||||
"author": "Dennis Schwerdel",
|
||||
"description": "file://DESCRIPTION.md",
|
||||
"tagline": "Visual Studio Code in the browser",
|
||||
"tags": [
|
||||
],
|
||||
"version": "3.9.3",
|
||||
"healthCheckPath": "/healthz",
|
||||
"httpPort": 8080,
|
||||
"manifestVersion": 1,
|
||||
"website": "https://github.com/cdr/code-server",
|
||||
"contactEmail": "support@cloudron.io",
|
||||
"icon": "logo.png",
|
||||
"addons": {
|
||||
"localstorage": {}
|
||||
},
|
||||
"capabilities": [
|
||||
],
|
||||
"minBoxVersion": "1.8.1",
|
||||
"tcpPorts": {},
|
||||
"udpPorts": {},
|
||||
"mediaLinks": [
|
||||
],
|
||||
"changelog": "file://CHANGELOG"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
### VS Code
|
||||
|
||||
Run VS Code on any machine anywhere and access it in the browser.
|
|
@ -0,0 +1,21 @@
|
|||
FROM cloudron/base:3.0.0
|
||||
MAINTAINER Dennis Schwerdel <schwerdel@googlemail.com>
|
||||
|
||||
ENV VERSION=3.9.3
|
||||
|
||||
RUN mkdir -p /app/code
|
||||
|
||||
WORKDIR /app/code
|
||||
|
||||
RUN curl -fsSL https://code-server.dev/install.sh | sh -s -- --version ${VERSION}
|
||||
ADD config.yaml /app/code/default-config.yaml
|
||||
|
||||
RUN mv /home/cloudron /app/code/default-home \
|
||||
&& ln -s /app/data /home/cloudron
|
||||
WORKDIR /app/data
|
||||
ENV HOME=/app/data
|
||||
|
||||
ADD start.sh /app/code/start.sh
|
||||
|
||||
CMD [ "/app/code/start.sh" ]
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
# VS Code Cloudron App
|
||||
|
||||
This repository contains the Cloudron app package source for VS Code.
|
||||
|
||||
## Installation
|
||||
|
||||
[![Install](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=com.coder.code-server.cloudronapp)
|
||||
|
||||
or using the [Cloudron command line tooling](https://cloudron.io/references/cli.html)
|
||||
|
||||
```
|
||||
cloudron install --appstore-id com.coder.code-server.cloudronapp
|
||||
```
|
||||
|
||||
## Building
|
||||
|
||||
The app package can be built using the [Cloudron command line tooling](https://cloudron.io/references/cli.html).
|
||||
|
||||
```
|
||||
cd vscode-app
|
||||
|
||||
cloudron build
|
||||
cloudron install
|
||||
```
|
|
@ -0,0 +1,4 @@
|
|||
bind-addr: 0.0.0.0:8080
|
||||
auth: password
|
||||
password: %PASSWORD%
|
||||
cert: false
|
|
@ -0,0 +1,30 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
mkdir -p /app/data/vscode/{config,data} /app/data/{.config,.local/share}
|
||||
|
||||
for file in $(ls /app/code/default-home -A); do
|
||||
if ! [ -f /app/data/$file ]; then
|
||||
cp -a /app/code/default-home/$file /app/data/$file
|
||||
fi
|
||||
done
|
||||
|
||||
if ! [ -e /app/data/.config/code-server ]; then
|
||||
ln -s /app/data/vscode/config /app/data/.config/code-server
|
||||
fi
|
||||
if ! [ -e /app/data/.local/share/code-server ]; then
|
||||
ln -s /app/data/vscode/data /app/data/.local/share/code-server
|
||||
fi
|
||||
if ! [ -f /app/data/vscode/config/config.yaml ]; then
|
||||
cp /app/code/default-config.yaml /app/data/vscode/config/config.yaml
|
||||
PASSWORD=$(dd if=/dev/urandom bs=1 count=12 2>/dev/null | base64)
|
||||
sed -i "s/%PASSWORD%/${PASSWORD}/g" /app/data/vscode/config/config.yaml
|
||||
echo "Generated random password: ${PASSWORD}"
|
||||
fi
|
||||
|
||||
chown -R cloudron: /app/data
|
||||
|
||||
grep -e '^password' --color=never /app/data/vscode/config/config.yaml
|
||||
|
||||
exec sudo -u cloudron code-server
|
Loading…
Reference in New Issue