question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Well,

the more I use it, the more it grows on me, so I began creating my own image. Once the init is done, I’ll create a pull request. As a preview, here a docker-compose file with comments…

# TEMPLATE FILE with environment variables explained.
version: "2"
networks:
    networkname:
        external: true

services:
        codeserver-template:
                image: codeserver-bionic-runtime:latest
                container_name: host-codeserver
                environment:
                        #####
                        # Explanation of the variables:
                        #
                        # - Basics
                        #
                        # Some of the variables available are basically boolean variables. They accept
                        # certain values, which are:
                        #
                        # - To disable the setting: 0, disabled, no, none, false, <EMPTY>, <NOT SET>
                        # - To enable the setting: <PACKAGE_NAME>, 1, yes, true, enabled, everything else not in the disabled section.
                        #
                        # The <PACKAGE_NAME> option means that you can set a the name of a package you
                        # want to be installed for the option. If the value matches a package name, then
                        # the packet is being installed instead of the default one. This is useful when you
                        # want to pick a specific version of the package, e.g.: dotnet-sdk-2.1.202 instead
                        # of the default dotnet-sdk-3.1
                        #
                        # The init script tests for the disable values, everything else counts
                        # as enable. If you want to use the system's default behaviour, don't
                        # set the value at all.
                        #
                        ###
                        # - Code-Server settings
                        #
                        # - Code-Server security
                        #

                        # - CS_AUTH
                        #
                        # When set, the content is used as password for authentication.
                        # If not set, authentication will be none.
                        # The init script takes care of setting the corresponding --auth value
                        # as well as exporting the PASSWORD environment variable. 
                        #
                        # Code-Server option: '--auth [none|password]' and environment variable PASSWORD
                        #
                        CS_AUTH: "supersecret"
                        
                        # - CS_CERT
                        #
                        # Is used together with CS_CERT_KEY to configure the SSL cert/key files for
                        # the builtin webserver. As Code-Server can auto generate SSL certificates
                        # if it cannot find/use the existing ones, the configuration option here
                        # follows a certain logic together with CS_CERT_KEY:
                        #
                        # - If CS_CERT and CS_CERT_KEY are valid files, they will be used by the webserver
                        # - If CS_CERT or CS_CERT_KEY is missing, then the server falls back to auto generation.
                        # - If CS_CERT or CS_CERT_KEY aren't a valid file -> auto generation.
                        #
                        # So if you just want to use auto generated certificates, set CS_CERT to /doesnt/exist
                        # and use the server's fallback :)
                        #
                        # - Code-Server option: '--cert'
                        #
                        # - Possible values:
                        #
                        # - Fallback/Auto generated certificates:
                        # CS_CERT: "/unknown"
                        # 
                        # - Your own certificate:
                        # CS_CERT: "/config/webserver.crt"
                        #
                        # Default value: empty/not set - disabled/no ssl
                        CS_CERT:

                        # - CS_CERT_KEY
                        #
                        # Holds the path to the corresponding key of CS_CERT
                        #
                        # - Code-Server option: '--cert-key'
                        #
                        # - Possible values:
                        #
                        # - Your own key
                        # CS_CERT_KEY: "/config/webserver.key"
                        #
                        # DEFAULT: empty/disabled
                        CS_CERT_KEY:

                        ###
                        # - Code-Server - Network
                        #
                        # The builtin webserver can either run via a network or a unix socket.
                        # Again the configuration follows a certain logic:
                        # If you set CS_SOCKET, then the network socket will be disabled.

                        # - CS_HOST
                        #
                        # Contains the listening address of the builtin webserver.
                        #
                        # - Code-Server option: '--host'
                        #
                        # - Possible values:
                        #
                        # - To listen on all IP protocols
                        # Leave it unset.
                        #
                        # - To listen on IP4
                        # CS_HOST: "0.0.0.0"
                        #
                        # - To listen on IP6
                        # CS_HOST: "::"
                        #
                        # - Default value:
                        # CS_HOST:
                        CS_HOST:

                        # - CS_PORT
                        #
                        # Contains the listening port of the builtin webserver. As it is not running
                        # as root, you need to select a port > 1024.
                        #
                        # - Code-Server option: '--port'
                        #
                        # - Possible values:
                        #
                        # - To use it/enable:
                        # CS_PORT: "any integer between 1024 and 65535"
                        #
                        # - To not use/disable:
                        # - CS_PORT: "" - or just not set.
                        #
                        # - Default:
                        # CS_PORT: 8080
                        CS_PORT:

                        # - CS_SOCKET
                        #
                        # Contains a path to a socket inside the container. If set, networking will be disabled
                        #
                        # - Possible values:
                        #
                        # - To use a socket:
                        # CS_SOCKET: "/var/run/codeserver.sock"
                        #
                        # - Default:
                        # Empty/not set
                        CS_SOCKET:

                        ###
                        # - Code-Server - Miscellaneous
                        #

                        # - CS_DISABLE_TELEMETRY
                        #
                        # When set, the Code-Server telemetry function is disabled.
                        #
                        # To avoid confusion: When you enable a CS_DISABLE_* option, it will disable
                        # the functionality and vice versa, so:
                        # CS_DISABLE_TELEMETRY: 1
                        # will disable the telemetry option and no telemetry is send.
                        #
                        # - Code-Server option: '--disable-telemetry'
                        #
                        # - Possible values:
                        #
                        # - To enable/use:
                        # CS_DISABLE_TELEMETRY: 1, yes, true, enabled, anything else not in the disabled section
                        #
                        # - To disable/not use:
                        # CS_DISABLE_TELEMETRY: 0, disabled, no, none, false, <EMPTY>, <NOT SET>
                        #
                        # - Default:
                        # Not set, telemetry ENABLED
                        CS_DISABLE_TELEMETRY:

                        # - CS_DISABLE_UPDATES
                        #
                        # When set, the Code-Server updates are disabled.
                        #
                        # - Code-Server option: '--disable-updates'
                        #
                        # - Possible value:
                        #
                        # - To use/enable:
                        # CS_DISABLE_UPDATES: 1, yes, true, enabled, anything else not in the disabled section
                        #
                        # - To not use/disable:
                        # CS_DISABLE_UPDATES: 0, disabled, no, none, false, <EMPTY>, <NOT SET>
                        #
                        # - Default:
                        # not set, updates ENABLED.
                        CS_DISABLE_UPDATES:

                        # - CS_USER_PATH
                        #
                        # This is the default path Code-Server is going to use. It doesn't have an option switch
                        # and is given to the server as last option on the command line.
                        #
                        # - Code-Server option: '[path]'
                        #
                        # - Possible values:
                        #
                        # - To enable/use:
                        # CS_USER_PATH: "/path/to/the/new/user/path"
                        #
                        # - To disable/not use:
                        # CS_USER_PATH: "" - or just not set.
                        #
                        # - Default:
                        # CS_USER_PATH: "${CS_USER_HOME}/project"
                        CS_USER_PATH:

                        # - CS_VERBOSE
                        #
                        # Used to enable Code-Server's verbose output.
                        #
                        # - Possible values:
                        # 
                        # - To enable verbose output:
                        # CS_VERBOSE: 1, yes, true, enabled, anything else not in the disabled section
                        #
                        # - To disable verbose output:
                        # CS_VERBOSE: 0, disabled, no, none, false, <EMPTY>, <NOT SET>
                        #
                        # - Default value:
                        # Not set/disabled
                        CS_VERBOSE:
                        
                        #
                        # - END Code-Server settings
                        ###

                        ###
                        # - Image Settings
                        #
                        # The image contains a lot of moving parts and you can change a few of them here.
                        # This stuff will be executed during the first start of the container and depending
                        # on what you select here it can take some time. Keep an eye on the container's
                        # log file during the first boot.
                        #

                        # - CS_ENABLE_WHEEL
                        #
                        # While a lot of people prefer sudo, I prefer su. Old habbits die hard, so...
                        # This option creates the "wheel" system group, adds the user to it and changes
                        # /etc/pam.d/su to allow becoming super user without a password.
                        # BTW: sudo is working, too.
                        #
                        # - Possible values:
                        # 
                        # - To enable the option:
                        # CS_ENABLE_WHEEL: 1, yes, true, enabled, anything else not in the disabled section
                        #
                        # - To disable the option:
                        # CS_ENABLE_WHEEL: 0, disabled, no, none, false, <EMPTY>, <NOT SET>
                        #
                        # - Default value:
                        # Not set/disabled
                        CS_ENABLE_WHEEL:

                        # - CS_INSTALL_DOCKER
                        #
                        # If you're going to use the docker container to create other docker containers
                        # via VSCode's docker extension, then you need to install the docker files to
                        # have support.
                        #
                        # If this option is enabled, "docker.io" and "docker-compose" are getting installed.
                        #
                        # This option will also check if /var/run/docker.sock exists inside the container.
                        # If so, it will check the socket's group id and create a docker group inside the
                        # container with said gid. Afterwards it will also add the user to said group to
                        # make docker work as non root user ootb.
                        #
                        # - Possible values:
                        # 
                        # - To enable:
                        # CS_INSTALL_DOCKER: 1, yes, true, enabled, anything else not in the disabled section
                        #
                        # - To disable:
                        # CS_INSTALL_DOCKER: 0, disabled, no, none, false, <EMPTY>, <NOT SET>
                        #
                        # - Default value:
                        # Not set/disabled
                        CS_INSTALL_DOCKER:

                        # - CS_INSTALL_MICROSOFT_DOTNET_SDK
                        #
                        # If you're going to develop in .NET languages, you're gonna need the .NET SDK.
                        # When enabled, the dotnet sdk will be installed. At the time of writing, this
                        # would be the latest release in version 3.1.
                        #
                        # This also enables the feature to install the microsoft package lists available for
                        # the distribution. More can be found here: 
                        # - https://docs.microsoft.com/de-de/dotnet/core/install/linux-package-manager-ubuntu-1910
                        #
                        # - Possible values:
                        # 
                        # - To enable:
                        # CS_INSTALL_MICROSOFT_DOTNET_SDK: <PACKAGE_NAME>,1, yes, true, enabled, anything else not in the disabled section
                        #
                        # - To disable:
                        # CS_INSTALL_MICROSOFT_DOTNET_SDK: 0, disabled, no, none, false, <EMPTY>, <NOT SET>
                        #
                        # - Default value:
                        # Not set/disabled
                        CS_INSTALL_MICROSOFT_DOTNET_SDK:

                        # - CS_INSTALL_MICROSOFT_PACKAGELISTS
                        #
                        # This will install the Microsoft package lists as described above at CS_INSTALL_MICROSOFT_DOTNET_SDK
                        #
                        # Also note the CS_MICROSOFT_* variables...
                        # 
                        # If this is NOT enabled, but gets triggered by the other options that require the Microsoft package lists,
                        # all the other things still apply, as if this was set to "true".
                        #
                        # - Possible values:
                        #
                        # - To enable:use:
                        # CS_INSTALL_MICROSOFT_PACKAGELISTS: 1, yes, true, enabled, anything else not in the disabled section
                        #
                        # - To disable/not use
                        # CS_INSTALL_MICROSOFT_PACKAGELISTS: 0, disabled, no, none, false, <EMPTY>, <NOT SET>
                        #
                        # - Default:
                        # CS_INSTALL_MICROSOFT_PACKAGELISTS: "" - or just not set
                        CS_INSTALL_MICROSOFT_PACKAGELISTS:

                        # - CS_INSTALL_MICROSOFT_POWERSHELL
                        #
                        # This will install the latest Powershell release if enabled. Sadly, Powershell releases
                        # are only available for certaiun distribution versions via apt-get. Basically the LTS
                        # versions of Ubuntu and some Debian versions. On later versions you have to use SNAPD
                        # which is a bit overkill inside a container...
                        #
                        # This feature will also enable the installation of the microsoft deb package as explained
                        # above at CS_INSTALL_MICROSOFT_DOTNET_SDK.
                        #
                        # - Tested with Ubuntu 18.04 LTS
                        #
                        # - Possible values:
                        # 
                        # - To enable:
                        # CS_INSTALL_MICROSOFT_POWERSHELL: 1, yes, true, enabled, anything else not in the disabled section
                        #
                        # - To disable:
                        # CS_INSTALL_MICROSOFT_POWERSHELL: 0, disabled, no, none, false, <EMPTY>, <NOT SET>
                        #
                        # - Default value:
                        # Not set/disabled
                        CS_INSTALL_MICROSOFT_POWERSHELL:

                        # - C_INSTALL_ADDITIONAL_PACKAGES
                        #
                        # A list of additional package names found in the distribution's package list that should be installed
                        # on first boot. You can basically install anything that can be found in the package lists.
                        #
                        # If you need to install something from a repo that isn't available during startup, you can just do it
                        # via the VSCode terminal later. 
                        #
                        # - Possible values:
                        #
                        # - To enable:
                        # CS_INSTALL_ADDITIONAL_PACKAGES: "somepackage someotherpackage"
                        #
                        # - To disable:
                        # CS_INSTALL_ADDITIONAL_PACKAGES: "" - or just don't set it.
                        CS_INSTALL_ADDITIONAL_PACKAGES:

                        # - CS_LOCALES
                        #
                        # A list of locales that you want to use inside the container.
                        # The first locale will become the main locale set in /etc/default/locales
                        #
                        # When not set the system default will be used, which should be C.UTF-8 on
                        # Debian and Ubuntu.
                        #
                        # - Possible values:
                        # 
                        # - To enable:
                        # CS_LOCALES: "any valid locale found in /usr/share/i18n/SUPPORTED or /usr/local/share/i18n/SUPPORTED"
                        #
                        # - To disable:
                        # CS_LOCALES: "" - or just don't set it.
                        #
                        # - Example:
                        # CS_LOCALES: "de_DE.UTF-8 en_US.UTF-8"
                        #
                        # This will generate two locales and make de_DE.UTF-8 the system default.
                        #
                        CS_LOCALES:

                        # - CS_MICROSOFT_DOTNET_TELEMETRY_OPTOUT
                        #
                        # Used to opt out of the dotnet packages' telemetry
                        #
                        # - Possible values:
                        #
                        # - To enable:
                        # CS_MICROSOFT_DOTNET_TELEMETRY_OPTOUT: 1, yes, true, enabled, anything else not in the disabled section
                        #
                        # - To disable:
                        # CS_MICROSOFT_DOTNET_TELEMETRY_OPTOUT: 0, disabled, no, none, false, <EMPTY>, <NOT SET>
                        #
                        # - Default:
                        # CS_MICROSOFT_DOTNET_TELEMETRY_OPTOUT:
                        CS_MICROSOFT_DOTNET_TELEMETRY_OPTOUT:

                        # - CS_MICROSOFT_PACKAGELISTS_FILENAME
                        #
                        # This is the name of the file that is to be downloaded in the automatic mode. By default
                        # It's chosen based on the "ID" in /etc/os-release, if that fails, you can override it here.
                        #
                        # !!! WARNING !!!
                        #
                        # Overwriting this, will not disable the automated url picker. It will just change the file that
                        # will be downloaded from said url...
                        #
                        # - Possible values:
                        #
                        # - To use/enable:
                        # CS_MICROSOFT_PACKAGELISTS_FILENAME="some-file-to-download.package"
                        #
                        # - To not use/disable:
                        # CS_MICROSOFT_PACKAGELISTS_FILENAME: "" - or just not set. 
                        #
                        # - Default
                        # CS_MICROSOFT_PACKAGELISTS_FILENAME: (uses the automated picker.)
                        CS_MICROSOFT_PACKAGELISTS_FILENAME:

                        # - CS_MICROSOFT_PACKAGELISTS_LOCATION
                        #
                        # INIT uses a combination of "ID" and "VERSION_ID" to find the matching package for the system
                        # it is currently running on. It basically does this:
                        #
                        # ID="ubuntu"
                        # VERSION_ID="18.04"
                        # CS_MICROSOFT_PACKAGELISTS_FILENAME="packages-microsoft-prod.deb"
                        # BASE_URL="https://packages.microsoft.com/config/"
                        #
                        # CS_MICROSOFT_PACKAGELISTS_LOCATION="${BASE_URL%%/}/${ID}/${VERSION_ID}/${CS_MICROSOFT_PACKAGELISTS_FILENAME}"
                        #
                        # Which in this case becomes:
                        # "https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb"
                        #
                        # If this fails, or you want to provide an URL to a different repo,
                        # you can use this variable.
                        #
                        # If you overwrite this variable, then the system will do the following:
                        #
                        # - It will enable the "--insecure" option on "curl" so that verifying certificates
                        #   is disabled. The idea here is that a custom repo is in the LAN, running with
                        #   a private certificate.
                        #
                        # - Test if this is a path to a file.
                        #       - If it is, try to install.
                        #
                        # - If it isn't, Test if it is an URL that can be downloaded.
                        #       - If it is: Download, try to install.
                        #
                        # - Possible values:
                        #
                        # - To enable/use:
                        # CS_MICROSOFT_PACKAGELISTS_LOCATION: "/path/to/a/file/inside/the/container"
                        # CS_MICROSOFT_PACKAGELISTS_LOCATION: "https://path/to/some/package" - Any protocol 'curl' can handle...
                        #
                        # - To disable/not use:
                        # CS_MICROSOFT_PACKAGELISTS_LOCATION: - or just not set.
                        #
                        # - Default:
                        # CS_MICROSOFT_PACKAGELISTS_LOCATION: - to use the automated picker
                        CS_MICROSOFT_PACKAGELISTS_LOCATION:

                        # - CS_MICROSOFT_PACKAGELISTS_REPOSITORY
                        #
                        # This defines the repository type that should be used.
                        # 
                        # Currently there are three different repositories that are distributed as text based
                        # data sources like in "sources.list". If you want to use them, pick your poison:
                        #
                        # - 'prod', 'prod:source' - The production repo
                        # - 'islow', 'islow:source'  - The insiders-slow repo
                        # - 'ifast', 'ifast:source' - The insiders-fast repo
                        #
                        # Sometimes these repositories are available as distribution package '.deb' or '.rpm'. 
                        # If you want to use the "packaged" version, pick one of the following:
                        #
                        # - 'prod:pkg' - The production repo
                        # - 'islow:pkg' - The insiders-slow repo
                        # - 'ifast:pkg' - The insiders-fast repo
                        #
                        # If the system cannot download the distribution package, it switches back to the source
                        # version. You can suppress this behaviour by selecting the "fpkg" (Forced PKG) version:
                        #
                        # - 'prod:fpkg' - The production repo
                        # - 'islow:fpkg' - The insiders-slow repo
                        # - 'ifast:fpkg' - The insiders-fast repo
                        #
                        # - Default value:
                        # CS_MICROSOFT_PACKAGELISTS_REPOSITORY="prod:pkg"
                        CS_MICROSOFT_PACKAGELISTS_REPOSITORY:


                        # - CS_TZ
                        #
                        # Used to set the container's timezone. It takes any valid timezone that can be found
                        # in /usr/share/zoneinfo. When disabled the system default will be used, which should be
                        # "Etc/UTC"
                        #
                        # - Possible values:
                        #
                        # - To enable:
                        # CS_TZ: "any zoneinfo/timezone found in /usr/share/zoneinfo"
                        #
                        # - To disable:
                        # CS_TZ: "" - or just don't set it. 
                        #
                        # - Default:
                        # CS_TZ: ""
                        #
                        # - Example:
                        # CS_TZ: "Europe/Berlin"
                        CS_TZ:

                        # - CS_UNMINIMIZE_IMAGE
                        #
                        # Ubuntu docker images come in a minimized fashion that is handy for running micro services.
                        # When running a development environment for docker images and linux systems inside a container,
                        # man pages and other stuff that is usually left out might come in handy. So the developers
                        # created a script that disables the filters necessary to minimize the image and reinstalls
                        # all packages that have content left out.
                        #
                        # IT TAKES A WHILE TO RUN !!!
                        #
                        # - Possible values:
                        #
                        # - To enable:
                        # CS_UNMINIMIZE_IMAGE: 1, yes, true, enabled, anything else not in the disabled section
                        #
                        # - To disable:
                        # CS_UNMINIMIZE_IMAGE: 0, disabled, no, none, false, <EMPTY>, <NOT SET>
                        #
                        # - Default: not set/disabled.
                        CS_UNMINIMIZE_IMAGE:

                        ###
                        # - Image user configuration options
                        #
                        # You can change a lot of things here, regarding the user, the directories and so on.
                        # Not a lot of checks are done. Garbage in -> Garbage out.
                        #
                        # That being said, be careful.
                        #
                        # WARNING: DYNAMIC VALUES!
                        #
                        # When you see something like this in the explanation:
                        #
                        # CS_USER_GROUP_NAME: "${CS_USER_NAME}"
                        #
                        # it means, that CS_USER_GROUP_NAME is, by default, set to CS_USER_NAME, so when you change
                        # CS_USER_NAME it will overwrite CS_USER_GROUP_NAME to the value of CS_USER_NAME unless you
                        # explicitly set CS_USER_GROUP_NAME.
                        #

                        ##
                        # - User configuration
                        #

                        # - CS_USER_DATA_DIR
                        # 
                        # The user's data directory inside the home directory. It's a webserver setting and I don't 
                        # exactly know what it does, but I added it to make it changeable from the outside.
                        #
                        # If it doesn't exist, init will create it for you.
                        #
                        # - Code-Server option: '--user-data-dir'
                        #
                        # - Possible values:
                        #
                        # - To enable/use: "/some/path/to/be/used/as/the/user's/data/directory"
                        #
                        # - To disable/not use:
                        # CS_USER_DATA_DIR: "" - or just not set.
                        #
                        # - Default:
                        # CS_USER_DATA_DIR: "${CS_USER_HOME}/User"
                        CS_USER_DATA_DIR:

                        # - CS_USER_EXTENSIONS_DIR
                        #
                        # The directory where Code-Server will install the extensions into.
                        #
                        # - Code-Server option: '--extensions-dir'
                        #
                        # - Possible values:
                        #
                        # - To use/enable:
                        # CS_USER_EXTENSIONS_DIR: "/some/path/to/the/extensions/directory"
                        #
                        # - To not use/disable:
                        # CS_USER_EXTENSIONS_DIR: "" - or just not set.
                        #
                        # - Default:
                        # CS_USER_EXTENSIONS_DIR: "${CS_USER_HOME}/.extensions"
                        CS_USER_EXTENSIONS_DIR:

                        # - CS_USER_GROUP_ID
                        #
                        # The GID of the primary group the user has.
                        # This is usual the same as the the UID.
                        #
                        # - Properties:
                        #
                        # - To enable/use:
                        # CS_USER_GROUP_ID: "an integer between 1000 and 59999 as defined in /etc/adduser.conf"
                        #
                        # - To disable/not use;
                        # CS_USER_GROUP_ID: "" - or just not set.
                        #
                        # - Default:
                        # CS_USER_GROUP_ID: "${CS_USER_ID}"
                        CS_USER_GROUP_ID:

                        # - CS_USER_GROUP_NAME
                        #
                        # The name of the default group the user belongs to.
                        # This is usual the same as the username on Debian based systems.
                        #
                        # - Possible values:
                        #
                        # - To enable/use:
                        # CS_USER_GROUP_NAME: "any valid unix group name"
                        #
                        # - To disable/not use:
                        # CS_USER_GROUP_NAME: ""
                        #
                        # - Default:
                        # CS_USER_GROUP_NAME="${CS_USER_NAME}"
                        CS_USER_GROUP_NAME:

                        # - CS_USER_HOME
                        #
                        # The home directory of the user that should be created together with the user.
                        # This should be the volume that you put an overlay on to have your data stored
                        # somewhat persistent. It is marked as VOLUME "data" during the image build.
                        # 
                        # The default path is actually "/data" inside the container, as this is a static
                        # value that doesn't change based on the username and can be used in the Dockerfile
                        # to mark the path as a volume.
                        #
                        # You can also put it back to /home/username or wherever you want. No problem there.
                        # Just change the variable.
                        #
                        # In case the directory already exists, useradd would not copy anything from /etc/skel
                        # over to the new directory and leave it untouched. This is usually a good idea, but
                        # useradd just tests if the directory exists and not if it is empty, so when you use
                        # a volume/overlay things become a bit more complicated. 
                        #
                        # INIT will copy files and folders from /etc/skel over to the new home directory as long
                        # as the file/folder does not exist.
                        #
                        # - This variable is also the base to create all the other user related paths for the
                        #   user, so be careful.
                        #
                        # - Possible values:
                        #
                        # - To use/enable:
                        # CS_USER_HOME: "/path/to/home/directory"
                        #
                        # - To not use/disable:
                        # CS_USER_HOME: "" - or just not set
                        #
                        # - Default:
                        # CS_USER_HOME: "/data"
                        CS_USER_HOME:

                        # - CS_USER_HOME_ENFORCE_OWNER
                        #
                        # Let's say your container was running with UID/GID 1234/4321 and now you have to change
                        # this because the outside IDs changed for some reason. Well, enable this option and on
                        # first boot of the recreated container, it will enforce ownership to your UID and primary
                        # GID of all files in "${CS_USER_HOME}". 
                        #
                        # Keep in mind: If the container does not have permissions to access the folder, 
                        # INIT cannot work some magic to make it happen...
                        #
                        # - Possible values:
                        #
                        # - To enable/use: 
                        # CS_USER_HOME_ENFORCE_OWNER: 1, yes, true, enabled
                        #
                        # - To disable/not use:
                        # CS_USER_HOME_ENFORCE_OWNER: 0, disabled, no, none, false, <EMPTY>, <NOT SET>
                        #
                        # - Default: not set/empty
                        CS_USER_HOME_ENFORCE_OWNER:

                        # - CS_USER_ID
                        #
                        # The User ID (uid) of the user that is to be created.
                        # You can use this, to change the UID inside the container to match the one outside.
                        # 
                        # - Possible values:
                        #
                        # - To enable/use:
                        # CS_USER_ID: "any integer between 1000 and 59999 as defined in /etc/adduser.conf"
                        #
                        # - To disable/not use:
                        # CS_USER_ID: "" - or just don't set it.
                        #
                        # - Default:
                        # CS_USER_ID: "1000"
                        CS_USER_ID:
                        
                        # - CS_USER_NAME
                        #
                        # The name of the user. Don't use anything with spaces...
                        #
                        # - Possible values:
                        #
                        # - To enable:
                        # CS_USER_NAME: "Any valid unix username."
                        #
                        # - To disable/not use:
                        # CS_USER_NAME: "" - or just don't set it.
                        #
                        # - Default:
                        # CS_USER_NAME: "u"
                        CS_USER_NAME:

                        # - CS_USER_SHELL
                        #
                        # The default shell the user is going to use. The default is bash which is usually
                        # located in /bin, but with Ubuntu 19.10, this is going to change and it will be
                        # located in /usr/bin. So be careful what you set here.
                        #
                        # - Possible values:
                        #
                        # - To enable/use:
                        # CS_USER_SHELL: "/path/to/shell/binary"
                        #
                        # - To disable/not use:
                        # CS_USER_SHELL: "" - or not set.
                        #
                        # - Default:
                        # CS_USER_SHELL: "/bin/bash" (Ubuntu < 19.10)
                        # CS_USER_SHELL: "/usr/bin/bash" (Ubuntu > 19.04)
                        CS_USER_SHELL:

                networks:
                        networkname:
                                ipv4_address: 10.11.12.13
                restart: unless-stopped
                volumes:
                        - 
                        - /var/run/docker.sock:/var/run/docker.sock
                        # - /srv/containers/build/codeserver/testdata:/home/u/project

You get the idea…

Building distribution packages is a bit more tricky, especially when it comes to debian/ubuntu as they’re coming with node 10…

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:14 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
Grimetoncommented, Mar 31, 2020

So I got the build and init for Ubuntu 16.04 and 18.04 working. I’ll do 19.04 and 19.10 next. I could use some help with the package building as the Debian package build environment usually checks on its own for dependencies and adds them, it’s not working with code-server, and I have no idea with of the 1500 packages we really need.

0reactions
Grimetoncommented, Apr 30, 2020

Don’t see the problem.Just add the three packages via CS_INSTALL_ADDITIONAL_PACKAGES…

Read more comments on GitHub >

github_iconTop Results From Across the Web

Grimeton Images – Browse 13 Stock Photos, Vectors, and Video
Search from thousands of royalty-free Grimeton stock images and video for your next project. Download royalty-free stock photos, vectors, HD footage and ...
Read more >
Grimeton hi-res stock photography and images - Alamy
Find the perfect grimeton stock photo, image, vector, illustration or 360 image. Available for both RF and RM licensing.
Read more >
Grimeton Radio Station, Varberg - Gallery
Grimeton Radio Station, Varberg. Description · Maps · Documents · Gallery · Video · Indicators.
Read more >
File:Grimetons antenn.jpg - Wikimedia Commons
Original file ‎(2,333 × 3,500 pixels, file size: 4.53 MB, MIME type: image/jpeg). File information. Structured data. Captions. Captions Edit.
Read more >
worldheritagegrimeton - Instagram
⚙️ Adventures, history & technology World Heritage Site since 2004 Visitors from all around the world We make radio cool ; NEWS's profile...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found