Skip to content

Preview Deployment

Roster preview deployments use the private advantys/roster-preview image. Access to this image is limited and currently available by invitation only. This image is intended for client validation and limited pilots, not production operation.

Use Production Deployment when preparing a long-running production environment.

Image: advantys/roster-preview:preview
Port: 3000
Data: /data

The preview image includes the Roster platform, REST API, MCP endpoint, and remote MCP/OAuth connector support.

The preview tag points to the current preview image. Advantys may also provide a fixed preview tag when an evaluation should stay on one exact image.

Advantys provides Roster preview image access with a dedicated Docker Hub Organization Access Token. The token is scoped only to advantys/roster-preview with Image Pull permission.

Use the token only from the Docker CLI:

Terminal window
docker login --username advantys

When prompted for the password, paste the Organization Access Token provided by Advantys.

This token is intended only for pulling the preview image from the Docker CLI. Advantys can revoke preview access when needed.

The current preview image has these limits:

  • Edition: preview
  • Expiration date: August 31, 2026, inclusive
  • Associated users per participant: 50

After the expiration date, preview access to the platform, REST API, and MCP endpoint is no longer available.

Pull the current preview image:

Terminal window
docker pull advantys/roster-preview:preview

Advantys may also provide a fixed preview tag when a validation should stay on one exact image.

Create a temporary environment file:

Terminal window
cat > /tmp/roster-preview.env <<EOF
ROSTER_AUTH_URL=http://localhost:3000
ROSTER_AUTH_SECRET=$(openssl rand -base64 48)
ROSTER_PROVIDER_SECRET_ENCRYPTION_KEY=$(openssl rand -base64 48)
ROSTER_SEED=ONCE
EOF
chmod 600 /tmp/roster-preview.env

Start the container:

Terminal window
docker run -d \
--name roster-preview \
-p 3000:3000 \
-v roster_preview_data:/data \
--env-file /tmp/roster-preview.env \
advantys/roster-preview:preview
rm /tmp/roster-preview.env

Open:

http://localhost:3000/dashboard

Requirement: Docker Desktop must use the WSL 2 backend with Linux containers enabled. The Roster preview image is a Linux container image and does not run in Windows containers mode.

Create a temporary environment file:

Terminal window
$authSecret = [Convert]::ToBase64String([System.Security.Cryptography.RandomNumberGenerator]::GetBytes(48))
$providerSecret = [Convert]::ToBase64String([System.Security.Cryptography.RandomNumberGenerator]::GetBytes(48))
@"
ROSTER_AUTH_URL=http://localhost:3000
ROSTER_AUTH_SECRET=$authSecret
ROSTER_PROVIDER_SECRET_ENCRYPTION_KEY=$providerSecret
ROSTER_SEED=ONCE
"@ | Set-Content -Path "$env:TEMP\roster-preview.env" -Encoding utf8

Start the container:

Terminal window
docker run -d `
--name roster-preview `
-p 3000:3000 `
-v roster_preview_data:/data `
--env-file "$env:TEMP\roster-preview.env" `
advantys/roster-preview:preview
Remove-Item "$env:TEMP\roster-preview.env"

Open:

http://localhost:3000/dashboard

ROSTER_SEED=ONCE creates demo data the first time the preview database starts. Remove it for an empty preview environment.

Use a public HTTPS URL when connecting remote MCP/OAuth clients such as Claude, Codex, or ChatGPT.

For local preview access through ngrok, start a tunnel:

Terminal window
ngrok http 3000

Set the preview container environment to the public tunnel origin:

ROSTER_AUTH_URL=https://your-preview-domain.example
ROSTER_AUTH_TRUSTED_ORIGINS=http://localhost:3000,https://your-preview-domain.example

Roster uses this MCP OAuth resource URI:

${ROSTER_AUTH_URL}/mcp

The remote MCP endpoint is:

https://your-preview-domain.example/mcp

ROSTER_MCP_AUTH_MODE is optional and defaults to api_key,oauth. Set it to oauth only when the preview should accept OAuth MCP clients but not API-key MCP automation.

Roster Resolve needs a configured model provider. Use the model provider environment variables from Production Deployment, such as OPENAI_API_KEY with ROSTER_MODEL_PROVIDER=openai-responses, or the matching Mistral or Anthropic configuration.

The container stores runtime state under /data. Keep the Docker volume when you want preview data to survive restarts:

Terminal window
-v roster_preview_data:/data

To reset the preview database:

Terminal window
docker rm -f roster-preview
docker volume rm roster_preview_data

Start the container again to recreate the database.

Generate fresh secrets for each preview environment:

Terminal window
openssl rand -base64 48

Required runtime secrets:

  • ROSTER_AUTH_SECRET
  • ROSTER_PROVIDER_SECRET_ENCRYPTION_KEY

Do not reuse temporary local secrets for shared preview deployments or public ngrok sessions.