diff --git a/code-server/.env-example b/code-server/.env-example new file mode 100644 index 0000000..a67b8c8 --- /dev/null +++ b/code-server/.env-example @@ -0,0 +1,8 @@ +# Code-Server Version (Standard: latest) +CODESERVER_VERSION=latest + +# Code-Server Domain +CODESERVER_DOMAIN=code.example.com + +# Code-Server Login Password +CODESERVER_PASSWORD=secret_password \ 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..3a4badc --- /dev/null +++ b/code-server/docker-compose.yml @@ -0,0 +1,30 @@ +services: + code-server: + image: codercom/code-server:${CODESERVER_VERSION:-latest} + container_name: code-server + environment: + - DOCKER_USER=$USER + - PASSWORD=${CODESERVER_PASSWORD:?error} + tty: true + stdin_open: true + volumes: + - './data/project:/home/coder/project' + - './data/config:/config' + 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