Installation
For development, see Building from Source.
1. Download Configuration
mkdir junimoserver && cd junimoserver
curl -O https://raw.githubusercontent.com/stardew-valley-dedicated-server/server/master/docker-compose.yml
curl -O https://raw.githubusercontent.com/stardew-valley-dedicated-server/server/master/.env.example
mv .env.example .env2. Configure
Edit .env:
STEAM_USERNAME="your_steam_username"
STEAM_PASSWORD="your_steam_password"
VNC_PASSWORD="your_secure_password"3. Pull Images
Download the pre-built Docker images:
docker compose pull4. First-Time Setup
Authenticate with Steam:
docker compose run --rm -it steam-auth setupFollow the prompts for Steam Guard (email code, mobile app, or QR code). Setup also downloads the game files right away. If you skip it and Steam can log in without prompts (a saved session or STEAM_REFRESH_TOKEN), the server downloads them itself on first start and reports a startup phase (downloading, then starting) until the game is up.
5. Start the Server
docker compose up -d.local-container Directory
On first startup, a .local-container/ directory is created next to your docker-compose.yml. This contains your server-settings.json and is how settings are persisted on your host machine. See Server Settings to customize.
6. Get Invite Code & Connect
Get your invite code:
docker compose exec server attach-cli
# Type: infoThen connect with your game, just like joining any multiplayer server:
- Launch Stardew Valley
- Click Co-op → Enter Invite Code
- Paste the invite code
- Play!
No VNC Needed
You don't need VNC to play or manage the server. The CLI and in-game commands handle everything. VNC is only for advanced debugging.
Basic Commands
docker compose up -d # Start
docker compose down # Stop
docker compose logs -f # View logs
docker compose restart # Restart
docker compose ps # Status