October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
VGSources
Blog

How to Run a Euro Truck Simulator 2 Dedicated Server in Docker

A practical, network-first guide to hosting an ETS2 dedicated server in Docker, including SteamCMD installation, convoy package files, persistent mounts, ports 27015/27016, server tokens, VPS decisions, and browser troubleshooting.
WorldDocker Length11 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The reliable Docker setup for an Euro Truck Simulator 2 dedicated server has four parts: install dedicated-server app ID 1948160, export server_packages.sii and server_packages.dat from the game, keep those files with server_config.sii in persistent storage, and publish the server’s connection and query ports. In SCS Software’s documented example, the virtual ports are 100 and 101, while the host-facing ports are 27015 and 27016. Forward both TCP and UDP for the physical ports if players outside your network must connect.

What the Docker server actually runs

ETS2’s dedicated server is a headless program. Docker supplies an isolated runtime and a repeatable way to start it; it does not replace the game’s server files or create a convoy configuration for you. You still need to obtain the dedicated-server files, create a convoy session in the game, export its package files, and provide a valid server_config.sii.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The server uses the package files rather than a full copy of your client installation. It does not require additional downloadable content or mod data, and it cannot browse or download Steam Workshop content because it does not run through the Steam client. Any content required by the session must therefore be represented by the exported package files.

  • Dedicated-server software: Steam app ID 1948160.
  • Required session files: server_config.sii, server_packages.sii, and server_packages.dat.
  • Player limit: eight players, according to SCS Software’s current dedicated-server documentation.
  • Network requirement: a reachable public address and correctly forwarded ports. The server does not provide NAT punching.

Plan the network before installing anything

There are two port pairs in the configuration, and confusing them is a common reason a server starts but remains invisible.

#1 Best Overall
Sale
Gaoye Blue Light Blocking Glasses
  • BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
  • EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
  • COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
  • LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
  • WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.
Purpose Documented virtual port Documented dedicated port Forward from the internet?
Convoy connection 100 27015 Yes, TCP and UDP for public access
Server query and browser listing 101 27016 Yes, TCP and UDP for public access

The virtual ports are internal values used by the server configuration. They are not the ports you open on a home router or cloud firewall. The dedicated ports are the host-facing ports that Docker publishes and that your router or provider must pass to the machine running the container.

SCS specifically states that a dedicated server does not handle NAT punching. A server behind carrier-grade NAT, a locked-down apartment connection, or a cloud security group that blocks inbound traffic may run normally while remaining absent from the session browser. Establish that you can receive inbound TCP and UDP traffic before spending time on Docker settings.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Install the dedicated-server files with SteamCMD

SteamCMD is Steam’s command-line distribution tool for game servers. Steam Support says current Steam game servers use SteamCMD to download and update their files. Install the SteamCMD package appropriate for your operating system, then run the normal anonymous app-update workflow with app ID 1948160.

steamcmd +login anonymous +app_update 1948160 validate +quit

The exact installation directory depends on the host operating system and distribution. Record that directory; it is the source from which you will copy or mount the dedicated-server data. If the command reports that the app is already installed, run the same update command whenever you intentionally update the server.

Do not place the only copy of your configuration inside a disposable container layer. Create a host directory for persistent data, for example a directory owned by the account that will run Docker, and copy the dedicated-server data into it. Keep a separate backup of the configuration and package files before changing them.

Rank #2
Windex Gaming Cleaning Wipes, Pre-Moistened Wipes to Instantly Clean all Gaming Gear and Electronics, Resealable Packaging for a Freshness Lock, 25 count (Pack of 1)
  • WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
  • AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
  • PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
  • ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
  • COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed

Export a convoy session and collect its three files

The package files are generated by the game client, not by Docker. Launch ETS2, configure the convoy session you want to host, and use the game’s dedicated-server export function. The resulting directory must contain all three files together:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • server_config.sii — session and server settings.
  • server_packages.sii — the package manifest.
  • server_packages.dat — package data referenced by the manifest.

Keep the filenames unchanged and preserve their case. Place them in the data directory that the selected Docker image expects. If you export a new convoy configuration later, replace the package files as a set rather than mixing a new .sii file with an older .dat file.

The dedicated server does not use the Steam client interface, so Workshop subscriptions, client-only mods, and DLC that was not included in the exported package are not silently supplied at runtime. Treat the exported package as the complete content definition for the server.

Choose an image and map its settings

There is no single official Docker image whose environment-variable names and mount path apply to every installation. Select a maintained ETS2/ATS image, then read the README for the exact image tag, supported CPU architecture, container data path, startup command, and variable names. Image maintainers may rename variables or change paths between tags.

Configure the image for the following functions. The key names below are purposes, not universal variable names; copy the image’s current names exactly.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
LISEN Cell Phone Stand Phone Holder for Desk, Office Decor Gadgets for Men
  • Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
  • Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
  • Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
  • ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
  • Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)
Setting to configure Value or decision Reason
Lobby or server name Your public convoy name Identifies the session in the browser and direct search.
Maximum players Up to 8 Eight is the documented dedicated-server maximum.
Virtual connection port 100 in the SCS example Internal server setting; not a router port.
Virtual query port 101 in the SCS example Internal server setting; not a router port.
Dedicated connection port 27015 in the SCS example Publish and forward this port for TCP and UDP.
Dedicated query port 27016 in the SCS example Publish and forward this port for TCP and UDP.
Gameplay flags Match the convoy you exported Conflicting values can make the running session differ from the intended one.
Steam game-server logon token Optional; use a token created for app ID 1948160 Provides a persistent server identity.

Start with the image’s documented defaults where they match the SCS example. Change one setting at a time and retain the image tag in your deployment notes so an update does not unexpectedly alter the configuration.

Mount persistent storage instead of relying on the container layer

Bind-mount the host directory containing server_config.sii, server_packages.sii, and server_packages.dat to the container path documented by the image. The mount preserves configuration, package files, and logs when the container is recreated or upgraded.

Before starting the container, set shell variables to the image tag and the image’s documented data path, then use them in your command:

export ETS2_IMAGE='<set this to the maintained image tag you selected>'
export ETS2_DATA_PATH='<set this to the container data path from that image README>'
mkdir -p "$PWD/ets2-data"

# Copy the three exported server files into $PWD/ets2-data first.
docker run -d 
  --name ets2-dedicated 
  --restart unless-stopped 
  -v "$PWD/ets2-data:$ETS2_DATA_PATH" 
  -p 27015:27015/tcp 
  -p 27015:27015/udp 
  -p 27016:27016/tcp 
  -p 27016:27016/udp 
  --env-file ets2.env 
  "$ETS2_IMAGE"

The angle-bracket values above are shell variables you must replace with the real image tag and mount path; they are not values accepted by Docker. Create ets2.env by copying the selected image’s documented environment-variable names and adding your lobby name, player limit, ports, gameplay flags, and optional token. Avoid guessing variable names: an unknown variable is usually ignored, producing a container that starts with unintended defaults.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If the image uses a different startup pattern, follow its README while retaining the same four published mappings and the persistent bind mount. Some images also require a non-root UID or a particular ownership on the host directory; apply those requirements before the first start.

Rank #4
Ledagic IC+RGBW USB Powered Led Light Bar with App & Remote Control, 2 Pack
  • Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
  • Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
  • 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
  • Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
  • USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC

Forward the host ports

Docker’s -p options make the ports reachable on the Docker host. They do not automatically configure your router or cloud firewall.

  1. On a home network, assign the Docker host a stable LAN address.
  2. Forward external TCP 27015 to the host’s TCP 27015, and external UDP 27015 to host UDP 27015.
  3. Forward external TCP 27016 to host TCP 27016, and external UDP 27016 to host UDP 27016.
  4. Allow the same four flows in the host firewall and, for a VPS, in the provider’s security group or network ACL.
  5. If you deliberately choose different external ports, update the image’s dedicated-port settings and every forwarding rule together. Leave the virtual ports at their configured internal values unless the image documentation requires otherwise.

Only the machine running the container needs the forwarded ports. You do not forward virtual ports 100 and 101 from the router.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Start, inspect, and test the server

  1. Check that the three server files exist in the host directory that is being mounted. A typo in the mount path can produce an apparently fresh server with no package data.
  2. Start the container and follow its output: docker logs -f ets2-dedicated.
  3. Look for messages showing that the configuration was read, the package files loaded, and both network ports opened. An immediate exit usually indicates a missing file, an invalid setting, an unsupported architecture, or an image-specific permission problem.
  4. From another machine, search the ETS2 in-game browser by the lobby name. If the session is not listed, try the game’s direct-search option and test from a network outside the host’s LAN.
  5. Join with a second player before inviting the full group. This isolates firewall, NAT, and package problems while the logs are easy to read.

A server that is visible to clients on the same LAN but not to external players almost always points to routing, carrier-grade NAT, a missing public address, or a blocked TCP/UDP rule rather than a missing Docker environment variable. A server that is reachable by direct search but absent from the browser points to query-port reachability or listing behavior.

Use a persistent Steam game-server identity when appropriate

An anonymous or empty launch receives a non-persistent server identity. A Steam game-server logon token gives the server a persistent identity, which is useful when you want the listing and identity to survive container replacement.

Creating that token requires ownership of the game, and the token request must use the ETS2 game app ID 1948160. Store the token in the image’s environment mechanism or a protected secrets file rather than committing it to a public Compose file or shell history. If the token is revoked or exposed, replace it through Steam’s game-server-token management and restart the container.

Best Value
Sale
HUANUO FlowLift™ Dual Monitor Stand, Fully Adjustable Gaming Monitor Desk Mount for 13–32″ Computer Screens, Full Motion VESA 75x75/100x100 with C-Clamp & Grommet Base, Each Arm Holds 4.4 to 19.8 lbs
  • Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
  • Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
  • Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
  • Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
  • Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Home Docker host or VPS?

SCS supports running the standalone server on a rented or paid-for server. Docker can be used in either location; the important differences are reachability, reliability, and administration.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Decision factor Home host VPS or rented server
Public IP May be missing or obscured by carrier-grade NAT; verify before setup. Usually supplied, subject to the provider’s terms and firewall.
TCP/UDP forwarding You control the router, but must configure four rules and permit them through the ISP connection. You control Docker and provider firewall rules; some providers restrict game traffic.
Uptime Depends on household power, router, and internet availability. Normally better for an always-on convoy, but still depends on the provider.
Backups and persistent volumes You must back up the bind-mounted directory and protect it from disk failure. You must configure snapshots or external backups; deleting a VPS can delete its local volume.
Latency Often best for players near the home connection. Choose a region close to most players; distance affects latency.
Operating cost Uses existing hardware and connection, with electricity and bandwidth costs. Recurring rental cost varies by provider and specification.
Administration You maintain the host, router, updates, and local network. You maintain the operating system and container while the provider maintains the underlying facility.

Public reachability is the first gate. If your home connection cannot accept inbound traffic and you cannot obtain a usable public address, a VPS or other rented host is the practical route. The server’s workload is dependent on the number of instances and the host’s specifications; authoritative documentation does not publish a current Docker-specific CPU, RAM, or storage minimum.

Troubleshoot the common failure modes

The container exits immediately

  • Read the first error in docker logs ets2-dedicated, not only the final shutdown line.
  • Confirm that the bind mount contains all three required files and that the container user can read them.
  • Check that the image tag supports the host architecture and that its startup command matches the current release.
  • Validate the syntax and values in server_config.sii and the environment file. Remove duplicate or misspelled keys.

The server runs but is not in the browser

  • Confirm the host has a public address and is not behind carrier-grade NAT.
  • Check all four physical mappings: TCP 27015, UDP 27015, TCP 27016, and UDP 27016.
  • Check the host firewall and any VPS security group separately; opening the router alone is not enough.
  • Verify that the image’s dedicated-port variables match the ports Docker publishes.
  • Try direct search from an external network. A local-LAN test cannot prove internet reachability.

Players can find it but cannot join

  • Inspect whether the connection port, rather than only the query port, is blocked.
  • Ensure TCP and UDP are both allowed; forwarding only one protocol is incomplete.
  • Compare the running lobby settings with the exported session and regenerate the package files if the convoy configuration changed.

The listing disappears after recreation

  • Confirm that the host directory is still mounted and contains the same configuration.
  • Use a persistent game-server logon token if you need a stable identity.
  • Check that the container is not being recreated with a new image tag that changed its data path or variable names.

A new package or mod is not available

Re-export the convoy session and replace server_packages.sii and server_packages.dat together. The dedicated server cannot fetch Steam Workshop content through the Steam client, so installing a Workshop item on your desktop does not make it available to the headless server.

Updates, backups, and safe operations

Keep the image tag, environment file, port map, and host data path in a small deployment note. Before updating the image or SteamCMD files, stop the container, back up the entire mounted directory, update one component, and inspect the logs before inviting players.

Back up at least server_config.sii, server_packages.sii, and server_packages.dat. Protect the backup and any Steam token as credentials. Do not expose the token in a public repository, screenshots, or a shared chat.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Review the selected image’s current README at every major update. Docker repositories can change environment-variable names, mount paths, architecture support, and default ports; Steam distribution behavior can also change. Treat the SCS port example as a documented baseline, not proof that a third-party image has identical defaults.

What this setup can and cannot provide

Docker gives you reproducible startup, isolated dependencies, and easy replacement of the runtime while your bind-mounted data remains intact. It does not bypass ISP restrictions, create a public IP, supply Workshop content, or raise the eight-player server limit. A correctly configured container is necessary, but public TCP/UDP reachability is equally necessary for browser listing and external joins.

For a small group on a connection with a real public address, a home Docker host is usually sufficient. For scheduled sessions that must stay online, or for players spread across regions, a VPS or rented server removes the home router and power-availability constraints. In either case, the portable recipe is the same: app 1948160, the three exported server files, a persistent mount, matching image settings, and four correctly forwarded physical port/protocol combinations.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.