</code></pre></div><h3id=hashed-code-server-password>Hashed code-server password</h3><p>How to create the <ahref=https://github.com/cdr/code-server/blob/master/docs/FAQ.md#can-i-store-my-password-hashed>hashed password</a>.</p><h2id=usage>Usage</h2><p>To help you get started creating a container from this image you can either use docker-compose or the docker cli.</p><h3id=docker-compose-recommended-click-here-for-more-info>docker-compose (recommended, <ahref=https://docs.linuxserver.io/general/docker-compose>click here for more info</a>)</h3><divclass=highlight><pre><span></span><code><spanclass=nn>---</span>
</code></pre></div><h3id=docker-cli-click-here-for-more-info>docker cli (<ahref=https://docs.docker.com/engine/reference/commandline/cli/>click here for more info</a>)</h3><divclass=highlight><pre><span></span><code>docker<spanclass=w></span>run<spanclass=w></span>-d<spanclass=w></span><spanclass=se>\</span>
</code></pre></div><h2id=parameters>Parameters</h2><p>Docker images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate <code><external>:<internal></code> respectively. For example, <code>-p 8080:80</code> would expose port <code>80</code> from inside the container to be accessible from the host's IP on port <code>8080</code> outside the container.</p><h3id=ports-p>Ports (<code>-p</code>)</h3><table><thead><tr><thstyle="text-align: center;">Parameter</th><th>Function</th></tr></thead><tbody><tr><tdstyle="text-align: center;"><code>8443</code></td><td>web gui</td></tr></tbody></table><h3id=environment-variables-e>Environment Variables (<code>-e</code>)</h3><table><thead><tr><thstyle="text-align: center;">Env</th><th>Function</th></tr></thead><tbody><tr><tdstyle="text-align: center;"><code>PUID=1000</code></td><td>for UserID - see below for explanation</td></tr><tr><tdstyle="text-align: center;"><code>PGID=1000</code></td><td>for GroupID - see below for explanation</td></tr><tr><tdstyle="text-align: center;"><code>TZ=Etc/UTC</code></td><td>specify a timezone to use, see this <ahref=https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List>list</a>.</td></tr><tr><tdstyle="text-align: center;"><code>PASSWORD=password</code></td><td>Optional web gui password, if <code>PASSWORD</code> or <code>HASHED_PASSWORD</code> is not provided, there will be no auth.</td></tr><tr><tdstyle="text-align: center;"><code>HASHED_PASSWORD=</code></td><td>Optional web gui password, overrides <code>PASSWORD</code>, instructions on how to create it is below.</td></tr><tr><tdstyle="text-align: center;"><code>SUDO_PASSWORD=password</code></td><td>If this optional variable is set, user will have sudo access in the code-server terminal with the specified password.</td></tr><tr><tdstyle="text-align: center;"><code>SUDO_PASSWORD_HASH=</code></td><td>Optionally set sudo password via hash (takes priority over <code>SUDO_PASSWORD</code> var). Format is <code>$type$salt$hashed</code>.</td></tr><tr><tdstyle="text-align: center;"><code>PROXY_DOMAIN=code-server.my.domain</code></td><td>If this optional variable is set, this domain will be proxied for subdomain proxying. See <ahref=https://github.com/cdr/code-server/blob/master/docs/FAQ.md#sub-domains>Documentation</a></td></tr><tr><tdstyle="text-align: center;"><code>DEFAULT_WORKSPACE=/config/workspace</code></td><td>If this optional variable is set, code-server will open this directory by default</td></tr></tbody></table><h3id=volume-mappings-v>Volume Mappings (<code>-v</code>)</h3><table><thead><tr><thstyle="text-align: center;">Volume</th><th>Function</th></tr></thead><tbody><tr><tdstyle="text-align: center;"><code>/config</code></td><td>Contains all relevant configuration files.</td></tr></tbody></table><h4id=miscellaneous-options>Miscellaneous Options</h4><table><thead><tr><thstyle="text-align: center;">Parameter</th><th>Function</th></tr></thead><tbody><tr><td></td><td></td></tr></tbody></table><h2id=environment-variables-from-files-docker-secrets>Environment variables from files (Docker secrets)</h2><p>You can set any environment variable from a file by using a special prepend <code>FILE__</code>.</p><p>As an example:</p><divclass=highlight><pre><span></span><code>-e<spanclass=w></span><spanclass=nv>FILE__PASSWORD</span><spanclass=o>=</span>/run/secrets/mysecretpassword
</code></pre></div><p>Will set the environment variable <code>PASSWORD</code> based on the contents of the <code>/run/secrets/mysecretpassword</code> file.</p><h2id=umask-for-running-applications>Umask for running applications</h2><p>For all of our images we provide the ability to override the default umask settings for services started within the containers using the optional <code>-e UMASK=022</code> setting. Keep in mind umask is not chmod it subtracts from permissions based on it's value it does not add. Please read up <ahref=https://en.wikipedia.org/wiki/Umask>here</a> before asking for support.</p><h2id=user-group-identifiers>User / Group Identifiers</h2><p>When using volumes (<code>-v</code> flags), permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user <code>PUID</code> and group <code>PGID</code>.</p><p>Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.</p><p>In this instance <code>PUID=1000</code> and <code>PGID=1000</code>, to find yours use <code>id user</code> as below:</p><divclass=highlight><pre><span></span><code><spanclass=w></span>$<spanclass=w></span>id<spanclass=w></span>username