RUST-broccoli

RUST-broccoli

Docker app from Judd's Repository

Overview

A dedicated server for Rust, with optional Oxide (uMod) plugin support and a built-in RCON tool. Set RCON_PASSWORD before you start the server. Forward these ports on your router: 28015 TCP and UDP (game), 28016 TCP (RCON), and 28082 TCP (Rust+ app). The settings in this template write over the server configuration on each start. To keep your own configuration, set GENERATE_SETTINGS to false. To send RCON commands, run: docker exec rust-server rcon-cli "say Hello" Docker image by indifferentbroccoli.

marketing_assets_banner GitHub License GitHub Release GitHub Repo stars Discord Docker Pulls

Game server hosting

Fast RAM, high-speed internet

Eat lag for breakfast

Try our Rust Server hosting free for 2 days!

Rust Server Docker

[!IMPORTANT] Using Docker Desktop with WSL2 on Windows will result in a very slow download!

Server Requirements

Resource Minimum Recommended
CPU 4 cores 4+ cores
RAM 8GB Recommend over 12GB for stable operation
Storage 20GB 30GB

How to use

[!IMPORTANT] .env settings will override the current settings in the server configuration If you do not want that to happen, set GENERATE_SETTINGS=false

Copy the .env.example file to a new file called .env file. Then use either docker compose or docker run

Docker compose

Starting the server with Docker Compose:

services:
  rust:
    image: indifferentbroccoli/rust-server-docker
    restart: unless-stopped
    container_name: rustserver
    stop_grace_period: 30s
    ports:
      - 28015:28015
      - 28015:28015/udp
      - 28016:28016
      - 28016:28016/udp
      - 28082:28082
    environment:
      GENERATE_SETTINGS: true
    env_file:
      - .env
    volumes:
      - ./server-files:/steamcmd/rust

Then run:

docker-compose up -d

Docker Run

docker run -d \
    --restart unless-stopped \
    --name rustserver \
    --stop-timeout 30 \
    -p 28015:28015 \
    -p 28015:28015/udp \
    -p 28016:28016 \
    -p 28016:28016/udp \
    -p 28082:28082 \
    -e GENERATE_SETTINGS=true \
    --env-file .env \
    -v ./server-files:/steamcmd/rust \
    indifferentbroccoli/rust-server-docker

Environment Variables

You can use the following values to change the settings of the server on boot. It is highly recommended you set the following environment values before starting the server:

  • RCON_PASSWORD
Variable Default Info
PUID 1000 User ID for file permissions. Run id -u to get your user ID
PGID 1000 Group ID for file permissions. Run id -g to get your group ID
SERVER_NAME rustserver The name of your Rust server as it appears in the server browser
SERVER_DESCRIPTION Welcome to your Indifferent Broccoli Rust server The description shown in the server browser
SERVER_SEED 12345 World generation seed. Same seed = same map
WORLD_SIZE 3500 Size of the world map (3000-6000 recommended)
MAX_PLAYERS 50 Maximum number of players that can connect to the server
SERVER_PORT 28015 Game port for player connections
RCON_PORT 28016 The port for RCON (Remote Console) access
APP_PORT 28082 The port for the Rust+ companion app
RCON_PASSWORD admin Password for RCON access - CHANGE THIS!
SERVER_IDENTITY Folder name for server data/saves. Defaults to SERVER_NAME if not set
OXIDE_ENABLED false Enable Oxide/uMod plugin framework
UPDATE_ON_START true If set to false, skips downloading and validating server files from Steam on startup
PVP true Enable PvP combat
DECAY_SCALE 1.0 Scale for structure decay (0 = no decay, 1 = default)
STABILITY true Enable structure stability system
SAVE_INTERVAL 600 Server save interval in seconds
RADIATION true Enable radiation in radtowns
SERVER_SECURE 1 Enables VAC and public server listing (1 = enabled, 0 = private/sandbox)
SERVER_ENCRYPTION 2 Encryption type: 0 = none, 1 = weak, 2 = strong. Weaker may be needed for some mods
GAME_MODE standard Server game mode: standard, softcore, or hardcore
MAX_TEAM_SIZE Maximum players per team. Leave empty for the server default
SERVER_ERA Era for primitive mode servers. Leave empty unless running primitive mode
SERVER_TAGS vanilla Comma-separated tags shown in the server browser (e.g. vanilla,monthly,pve)
MAP_TYPE Procedural Map Map level type: Procedural Map, Barren, HapisMountain, SavasIsland, SavasIsland_koth
CUSTOM_MAP_URL Direct URL to a custom map file. When set, overrides MAP_TYPE
SERVER_HEADERIMAGE HTTP URL to a custom header image for the server browser
SERVER_LOGOIMAGE HTTP URL to a custom logo image for the server browser
SERVER_URL Website URL for your server

Custom Startup Arguments

Use STARTUP_ARGUMENTS to pass any additional arguments directly to RustDedicated at startup. They are appended after all arguments generated from the environment variables above, so they can override or extend any setting.

STARTUP_ARGUMENTS=+server.tags monthly,vanilla +server.maxplayers 100

[!NOTE] Variables from Didstopia's image using the RUST_ prefix (e.g. RUST_SERVER_NAME) are still supported as a fallback for backward compatibility, but the clean names shown in the table above are preferred.

RCON

This container includes the RCON CLI tool for server management. You can execute RCON commands like:

docker exec rustserver rcon-cli status
docker exec rustserver rcon-cli "say Hello Players!"

Volumes

  • /steamcmd/rust - Server files, game data, and configuration

Ports

  • 28015 - Game Port (TCP/UDP)
  • 28016 - RCON Port (TCP/UDP)
  • 28082 - Rust+ App Port (TCP)

Building the image

To build the image yourself:

docker build -t rust-server-docker .

Support

For issues and questions, please visit:

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

Media gallery

1 / 3

Install RUST-broccoli on Unraid in a few clicks.

Find RUST-broccoli in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for RUST-broccoli Review the template variables and paths Click Install

Requirements

4 CPU cores, 8 GB RAM (more than 12 GB recommended), 20 GB storage.

Categories

Download Statistics

6,721
Total Downloads

Related apps

Explore more like this

Explore all

Details

Repository
indifferentbroccoli/rust-server-docker:latest
Last Updated2026-09-01
First Seen2026-09-19

Runtime arguments

Network
bridge
Shell
bash
Privileged
false
Extra Params
--restart=unless-stopped --stop-timeout=30

Template configuration

Game PortPorttcp

Game port (TCP). Must be the same as SERVER_PORT.

Target
28015
Default
28015
Value
28015
Game Port UDPPortudp

Game port (UDP). Forward it on your router. Must be the same as SERVER_PORT.

Target
28015
Default
28015
Value
28015
RCON PortPorttcp

RCON port (TCP). Must be the same as RCON_PORT.

Target
28016
Default
28016
Value
28016
RCON Port UDPPortudp

RCON port (UDP). Must be the same as RCON_PORT.

Target
28016
Default
28016
Value
28016
App PortPorttcp

Rust+ companion app port (TCP). Must be the same as APP_PORT.

Target
28082
Default
28082
Value
28082
Server FilesPathrw

Server files, game data, and configuration.

Target
/steamcmd/rust
Default
/mnt/user/appdata/rust
Value
/mnt/user/appdata/rust
RCON PasswordVariable

Required. Password for RCON access.

Target
RCON_PASSWORD
Server NameVariable

Name of the server in the server browser.

Target
SERVER_NAME
Default
RustServer
Value
RustServer
Server DescriptionVariable

Description in the server browser.

Target
SERVER_DESCRIPTION
Default
Welcome to the server
Value
Welcome to the server
Max PlayersVariable

Maximum number of players that can connect.

Target
MAX_PLAYERS
Default
50
Value
50
World SizeVariable

Size of the map. 3000 to 6000 is recommended.

Target
WORLD_SIZE
Default
3500
Value
3500
Server SeedVariable

World generation seed. The same seed gives the same map.

Target
SERVER_SEED
Default
12345
Value
12345
Game ModeVariable

standard, softcore, or hardcore.

Target
GAME_MODE
Default
standard
Value
standard
PvPVariable

Enable player-versus-player combat (true or false).

Target
PVP
Default
true
Value
true
Server TagsVariable

Comma-separated tags for the server browser, for example vanilla,monthly,pve.

Target
SERVER_TAGS
Default
vanilla
Value
vanilla
Oxide EnabledVariable

Install the Oxide (uMod) plugin framework (true or false).

Target
OXIDE_ENABLED
Default
false
Value
false
Map TypeVariable

Procedural Map, Barren, HapisMountain, SavasIsland, or SavasIsland_koth.

Target
MAP_TYPE
Default
Procedural Map
Value
Procedural Map
Custom Map URLVariable

Direct URL to a custom map file. If set, MAP_TYPE is not used.

Target
CUSTOM_MAP_URL
Max Team SizeVariable

Maximum players per team. Leave empty for the server default.

Target
MAX_TEAM_SIZE
Server EraVariable

Era for primitive mode servers. Leave empty unless you run primitive mode.

Target
SERVER_ERA
Decay ScaleVariable

Structure decay scale. 0 is no decay and 1 is the default.

Target
DECAY_SCALE
Default
1.0
Value
1.0
StabilityVariable

Enable the structure stability system (true or false).

Target
STABILITY
Default
true
Value
true
RadiationVariable

Enable radiation in radtowns (true or false).

Target
RADIATION
Default
true
Value
true
Save IntervalVariable

Seconds between world saves.

Target
SAVE_INTERVAL
Default
600
Value
600
Server SecureVariable

1 enables VAC and the public server listing. 0 is a private or sandbox server.

Target
SERVER_SECURE
Default
1
Value
1
Server EncryptionVariable

0 is none, 1 is weak, and 2 is strong. Some mods need a weaker setting.

Target
SERVER_ENCRYPTION
Default
2
Value
2
Server IdentityVariable

Folder name for server data and saves. If empty, SERVER_NAME is used.

Target
SERVER_IDENTITY
Server URLVariable

Website URL for your server.

Target
SERVER_URL
Server Header ImageVariable

HTTP URL of a header image for the server browser.

Target
SERVER_HEADERIMAGE
Server Logo ImageVariable

HTTP URL of a logo image for the server browser.

Target
SERVER_LOGOIMAGE
Startup ArgumentsVariable

Extra arguments for RustDedicated, added after all other arguments, for example +server.tags monthly,vanilla.

Target
STARTUP_ARGUMENTS
Generate SettingsVariable

Apply the settings from this template on each start. Set to false to keep your own server configuration.

Target
GENERATE_SETTINGS
Default
true
Value
true
Update On StartVariable

Download and validate the server files from Steam on each start. Set to false to skip.

Target
UPDATE_ON_START
Default
true
Value
true
Server PortVariable

Game port the server listens on. Must be the same as the Game Port.

Target
SERVER_PORT
Default
28015
Value
28015
RCON Port VariableVariable

RCON port the server listens on. Must be the same as the RCON Port.

Target
RCON_PORT
Default
28016
Value
28016
App Port VariableVariable

Rust+ app port the server listens on. Must be the same as the App Port.

Target
APP_PORT
Default
28082
Value
28082
PUIDVariable

User ID for file permissions.

Default
99
Value
99
PGIDVariable

Group ID for file permissions.

Default
100
Value
100