diff --git a/code-server/.env-example b/code-server/.env-example new file mode 100644 index 0000000..044c289 --- /dev/null +++ b/code-server/.env-example @@ -0,0 +1,5 @@ +# Code-Server Version (Standard: latest) +CODESERVER_VERSION=latest + +# Code-Server Domain +CODESERVER_DOMAIN=code.example.com \ No newline at end of file diff --git a/code-server/README.md b/code-server/README.md new file mode 100644 index 0000000..e69de29 diff --git a/code-server/docker-compose.yml b/code-server/docker-compose.yml new file mode 100644 index 0000000..308cf14 --- /dev/null +++ b/code-server/docker-compose.yml @@ -0,0 +1,31 @@ +services: + code-server: + image: codercom/code-server:${CODESERVER_VERSION:-latest} + container_name: code-server + environment: + - DOCKER_USER=$USER + user: '$(id -u):$(id -g)' + tty: true + stdin_open: true + volumes: + - './data/project:/home/coder/project' + - './data/config:/home/coder/.config' + - './data/local:/home/coder/.local' + networks: + - traefik + labels: + - "traefik.enable=true" + - "traefik.docker.network=traefik" + - "traefik.http.routers.codeserver.entrypoints=http" + - "traefik.http.routers.codeserver.rule=Host(`${CODESERVER_DOMAIN:?error}`)" + - "traefik.http.middlewares.codeserver-https-redirect.redirectscheme.scheme=https" + - "traefik.http.routers.codeserver.middlewares=codeserver-https-redirect" + - "traefik.http.routers.codeserver-secure.entrypoints=https" + - "traefik.http.routers.codeserver-secure.rule=Host(`${CODESERVER_DOMAIN:?error}`)" + - "traefik.http.routers.codeserver-secure.tls=true" + - "traefik.http.routers.codeserver-secure.service=codeserver" + - "traefik.http.services.codeserver.loadbalancer.server.port=8080" + +networks: + traefik: + external: true \ No newline at end of file