Add Installation

the_minisip committed 2026-10-16 13:18:15 -03:00
1 parent 02c26e0607
commit ff965a4f43
1 file changed
+207
+207
@@ -0,0 +1,207 @@
<h1><strong>Installation</strong></h1>
<p>
This page explains how to install and deploy the
<strong>Managed Valheim</strong> server container on TrueNAS SCALE or any
OCI-compatible environment. It covers image selection, environment variables,
volume setup, and initial startup.
</p>
<hr>
<h2><strong>1. Choose an Image Version</strong></h2>
<p>
The container is published to your private registry. Select a versioned tag
for stable deployments:
</p>
<pre><code>gitea.theminisip.ca/mini-server-manager/managed-valheim:1.0.1.1</code></pre>
<p>
You may also use <code>latest</code>, but pinned versions are recommended for
production servers to ensure predictable behavior.
</p>
<hr>
<h2><strong>2. Create Required Volumes</strong></h2>
<p>
The server requires two persistent volumes:
</p>
<ul>
<li><code>/config</code> — runtime configuration and metadata</li>
<li><code>/backups</code> — world backup storage</li>
</ul>
<p>
On TrueNAS SCALE, these map to datasets you select during app installation.
</p>
<hr>
<h2><strong>3. Configure Environment Variables</strong></h2>
<p>
The container is fully configurable through environment variables. At minimum,
set the following:
</p>
<table>
<thead>
<tr>
<th>Variable</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>SERVER_NAME</code></td>
<td>Valheim Server</td>
<td>Name shown in the server browser</td>
</tr>
<tr>
<td><code>WORLD_NAME</code></td>
<td>Dedicated</td>
<td>World save name</td>
</tr>
<tr>
<td><code>SERVER_PASSWORD</code></td>
<td>changeme</td>
<td>Password required to join</td>
</tr>
<tr>
<td><code>PUBLIC</code></td>
<td>1</td>
<td>Public listing toggle</td>
</tr>
</tbody>
</table>
<p>
Backup automation is also configurable:
</p>
<table>
<thead>
<tr>
<th>Variable</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>BACKUP_INTERVAL</code></td>
<td>21600</td>
<td>Backup interval (seconds). Default is 6 hours.</td>
</tr>
<tr>
<td><code>BACKUP_RETENTION_DAYS</code></td>
<td>7</td>
<td>Days to retain backups before pruning.</td>
</tr>
</tbody>
</table>
<p>
Internal directories used by the container:
</p>
<ul>
<li><code>/opt/valheim_base</code> — clean SteamCMD install</li>
<li><code>/opt/valheim</code> — modded runtime directory</li>
<li><code>/opt/steamcmd</code> — SteamCMD installation</li>
</ul>
<hr>
<h2><strong>4. Expose Required Ports</strong></h2>
<p>
Valheim requires three UDP ports:
</p>
<pre><code>2456/udp
2457/udp
2458/udp
</code></pre>
<p>
TrueNAS SCALE will automatically expose these based on your app configuration.
</p>
<hr>
<h2><strong>5. Deploy the App on TrueNAS SCALE</strong></h2>
<p>
To install the server on TrueNAS SCALE:
</p>
<ol>
<li>Open <strong>Apps → Installed → Add</strong>.</li>
<li>Select your custom catalog entry for Managed Valheim.</li>
<li>Choose the desired image tag (e.g., <code>1.0.1.1</code>).</li>
<li>Configure environment variables.</li>
<li>Assign volumes for <code>/config</code> and <code>/backups</code>.</li>
<li>Save and deploy.</li>
</ol>
<p>
On first startup, the container will:
</p>
<ul>
<li>Install or update Valheim via SteamCMD</li>
<li>Copy updated binaries into the modded directory</li>
<li>Download and install BepInEx</li>
<li>Generate the managed wrapper script</li>
<li>Start the Valheim server</li>
<li>Begin automated backups</li>
</ul>
<hr>
<h2><strong>6. Verify Installation</strong></h2>
<p>
You can verify the server is running by checking:
</p>
<ul>
<li>TrueNAS SCALE app logs</li>
<li>Container logs (stdout)</li>
<li>BepInEx logs under <code>/opt/valheim/BepInEx/</code></li>
</ul>
<p>
The server will appear in the Valheim server browser if
<code>PUBLIC=1</code> is set.
</p>
<hr>
<h2><strong>7. Optional: Mod Installation</strong></h2>
<p>
Mods can be added by placing files into:
</p>
<pre><code>/opt/valheim/BepInEx/plugins</code></pre>
<p>
These files persist across updates because the modded directory is preserved
during the SteamCMD update cycle.
</p>
<hr>
<h2><strong>Next Steps</strong></h2>
<ul>
<li><a href="Home">Home</a> — Overview</li>
<li><a href="Quick Start">