</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>
<spanclass=w></span>-e<spanclass=w></span><spanclass=nv>DB_HOST</span><spanclass=o>=</span><spanclass=s2>"<hostname or ip>"</span><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><thalign=center>Parameter</th><th>Function</th></tr></thead><tbody><tr><tdalign=center><code>3000</code></td><td>Web gui port (internal port also needs to be changed if accessing at port other than 80, 443 and 3000).</td></tr></tbody></table><h3id=environment-variables-e>Environment Variables (<code>-e</code>)</h3><table><thead><tr><thalign=center>Env</th><th>Function</th></tr></thead><tbody><tr><tdalign=center><code>PUID=1000</code></td><td>for UserID - see below for explanation</td></tr><tr><tdalign=center><code>PGID=1000</code></td><td>for GroupID - see below for explanation</td></tr><tr><tdalign=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><tdalign=center><code>DB_HOST=<hostname or ip></code></td><td>Host address of mysql database</td></tr><tr><tdalign=center><code>DB_PORT=3306</code></td><td>Port to access mysql database default is 3306</td></tr><tr><tdalign=center><code>DB_USER=hedgedoc</code></td><td>Database user</td></tr><tr><tdalign=center><code>DB_PASS=<secret password></code></td><td>Database password</td></tr><tr><tdalign=center><code>DB_NAME=hedgedoc</code></td><td>Database name</td></tr><tr><tdalign=center><code>CMD_DOMAIN=localhost</code></td><td>The address the gui will be accessed at (ie. <code>192.168.1.1</code> or <code>hedgedoc.domain.com</code>).</td></tr><tr><tdalign=center><code>CMD_URL_ADDPORT=false</code></td><td>Set to <code>true</code> if using a port other than <code>80</code> or <code>443</code>.</td></tr><tr><tdalign=center><code>CMD_PROTOCOL_USESSL=false</code></td><td>Set to <code>true</code> if accessing over https via reverse proxy.</td></tr><tr><tdalign=center><code>CMD_PORT=3000</code></td><td>If you wish to access hedgedoc at a port different than 80, 443 or 3000, you need to set this to that port (ie. <code>CMD_PORT=5000</code>) and change the port mapping accordingly (5000:5000).</td></tr><tr><tdalign=center><code>CMD_ALLOW_ORIGIN=['localhost']</code></td><td>Comma-separated list of allowed hostnames</td></tr></tbody></table><h3id=volume-mappings-v>Volume Mappings (<code>-v</code>)</h3><table><thead><tr><thalign=center>Volume</th><th>Function</th></tr></thead><tbody><tr><tdalign=center><code>/config</code></td><td>HedgeDoc config and configurable files</td></tr></tbody></table><h4id=miscellaneous-options>Miscellaneous Options</h4><table><thead><tr><thalign=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