version: "2.1"

services:

  code-server:
    image: lscr.io/linuxserver/code-server:latest
    container_name: code-server
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
      - PASSWORD=MyStrongLoginPassword
      - SUDO_PASSWORD=MyOptionalStrongSudoPassword #optional
      #- SUDO_PASSWORD_HASH= #optional
      - PROXY_DOMAIN=vscode.example.com #optional
      - DEFAULT_WORKSPACE=/config/workspace #optional
    volumes:
      - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/vscode/config:/config
    ports:
      - 8443:8443
    restart: unless-stopped
    #networks:
    #  - proxy
    #labels:
    #  - traefik.enable=true
    #  - traefik.docker.network=proxy
    #  - traefik.http.routers.codeserver.rule=Host(`code.example.com`)
    #  - traefik.http.services.codeserver.loadbalancer.server.port=8443
    #  # Optional part for file upload max sizes
    #  - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000
    #  - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000
    #  - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000
    #  - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000
    #  # Optional part for traefik middlewares
    #  - traefik.http.routers.codeserver.middlewares=local-ipwhitelist@file,authelia@docker

#networks:
#  proxy:
#    external: true