# Docker: Installing your Server

{% hint style="danger" %}
This currently only works if you use the beta version of Raft and the indev version of RDS. Once the beta version of Raft releases this will work you will be able to switch back to the Raft stable branch as well as the public RDS branch!
{% endhint %}

## Requirements:

* An Installation of Docker
* Some knowledge on how to use Docker is recommended but not necessary to follow the guide

## Creating the container:

1. Pull the docker image using `docker pull ghcr.io/franzfischer78/raftmodding-rds:latest`
2. There are multiple ways you can now work with Files inside of docker. We recommend that you mount a local directory into the Docker Container to make things easier. Prepare a local directory where you will put all your RDS related files into. The RaftDedicatedServer.exe is the only file you need to add as the Game will be downloaded through steamcmd if necessary (this only works if you set the environment variables for steam in the run command). If you do not wish to use the automatic download you can place the game files manually into that directory.

## Running the container

Run the container using the following command:

{% tabs %}
{% tab title="Without Steam " %}
`docker run -v /path/to/local/dir:/home/container -e STARTUP="updateboth" ghcr.io/franzfischer78/raftmodding-rds:latest`
{% endtab %}

{% tab title="With steam to update/download game files" %}
`docker run -v /path/to/local/dir:/home/container -e STEAM_USER="YourSteamUser" -e STEAM_PASS="YourSteamPassword" -e STEAM_AUTH="EmailSteamCode" -e STARTUP="updateboth" ghcr.io/franzfischer78/raftmodding-rds:latest`

{% hint style="warning" %}
The Steam auth code is the code you get by e-mail if 2fa is enabled. If you use the mobile app, you can confirm the login through the confirmations page (so you do not need to add the STEAM\_AUTH environment variable to the run command).
{% endhint %}
{% endtab %}
{% endtabs %}

Set the startup environment variable to whatever fits your needs:\
\- normal : no updating\
\- updategame: update Raft\
\- updateserver: update RDS\
\- updateboth: update RDS and Raft

{% hint style="warning" %}
The STEAM\_USER, STEAM\_PASS and STEAM\_AUTH variables are only used if you want the software to automatically update the game, therefore you do not need to set these if you don't need to update the game or if you wish to manage that yourself
{% endhint %}

If you start the Server now you should be greeted with the following:\\

<figure><img src="/files/gwdHT0l0uyOcye9biuw1" alt=""><figcaption></figcaption></figure>

Head into your RDS folder and edit the following file with your preferred text editor for example nano or vim: `nano RDS_Data/config/rds_config.ini`\
Make sure to set the RDS Master Key. You can obtain it from our [master website](https://master.raftmodding.com/keys). Also make sure to set the UpdateBranch to indev.

Restart the Server and everything should be running!

<figure><img src="/files/I1QcWMdyoCaFV3PukrFB" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://rdswiki.raftmodding.com/tutorials/docker-installing-your-server.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
