---
title: "Deploy Vivaldi"
description: "A private Vivaldi cloud browser with remote desktop access"
category: "Other"
url: https://railway.com/deploy/vivaldi
---

# Deploy Vivaldi

A private Vivaldi cloud browser with remote desktop access

**[Deploy Vivaldi on Railway](https://railway.com/template/vivaldi)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/vivaldi/manifest.json

- **Creator:** Rakit
- **Category:** Other

## Template content

### vivaldi https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/vivaldi-logo.png

- **Image:** ghcr.io/linuxserver/vivaldi:latest
- **Public domain:** Yes

## Documentation

# Deploy and Host Vivaldi Browser on Railway

Vivaldi is a highly customizable, Chromium-based web browser developed by Vivaldi Technologies. It combines modern web compatibility with advanced tab management, built-in productivity tools, and extensive interface customization. This Railway template deploys Vivaldi as a persistent cloud browser with remote desktop access, powered by LinuxServer.io and Selkies streaming technology.

## About Hosting Vivaldi Browser

Hosting Vivaldi Browser on Railway allows you to run a fully functional desktop browser in the cloud without managing virtual machines, installing a graphical desktop environment, or maintaining a custom Docker repository.

This template uses the LinuxServer.io Vivaldi Docker image, which includes Selkies for interactive browser-based desktop streaming. Railway manages container deployment, public networking, and HTTPS termination, while persistent storage preserves browser profiles, bookmarks, extensions, and application settings across redeployments.

The deployment supports configurable authentication, desktop hardening, and shared memory allocation. Vivaldi runs as a single containerized service without requiring an external database, making it suitable for remote browsing, productivity workflows, and browser compatibility testing.

## Common Use Cases

- **Private Cloud Browser:** Maintain a dedicated Vivaldi browsing environment separate from your local device.
- **Remote Browser Access:** Access Vivaldi from different devices through a web-based remote desktop interface.
- **Persistent Browser Sessions:** Preserve bookmarks, extensions, browsing preferences, and profiles across redeployments.
- **Advanced Tab Management:** Organize research and multitasking workflows with Vivaldi's tab stacks, workspaces, and tab tiling.
- **Cloud Productivity Workspace:** Access web applications, dashboards, documentation, and productivity tools remotely.
- **Web Application Testing:** Test websites and applications using Vivaldi's Chromium-based rendering engine.
- **Customizable Browser Environment:** Personalize the browser interface, keyboard shortcuts, themes, and navigation controls.

## Dependencies for Vivaldi Browser Hosting

- **Docker Image:** `ghcr.io/linuxserver/vivaldi:latest` — LinuxServer.io Vivaldi container hosted on GitHub Container Registry.
- **Selkies:** Integrated browser-based remote desktop streaming.
- **Persistent Storage:** Railway volume mounted at `/config` for browser profiles and application data.
- **Shared Memory:** Recommended 1 GiB for browser stability.
- **Networking:** Railway-generated HTTPS domain forwarding traffic to container port `3000`.

No PostgreSQL, Redis, or additional database services are required.

### Implementation Details

**Docker Configuration**

| Configuration | Value |
|---|---|
| Docker Image | `ghcr.io/linuxserver/vivaldi:latest` |
| Service Name | `vivaldi` |
| HTTP Port | `3000` |
| Internal HTTPS Port | `3001` |
| Public Access | Railway HTTPS Domain |
| Persistent Volume | `/config` |
| Recommended Starting Memory | 2 GB |
| Shared Memory | 1 GiB |
| Railway Runtime UID | `0` |
| Default Timezone | UTC |
| Start Command | Image Default |
| Architecture | AMD64 / ARM64 |

**Environment Variables**

```dotenv
RAILWAY_RUN_UID=0
RAILWAY_SHM_SIZE_BYTES=1073741824

PUID=1000
PGID=1000
TZ=UTC

PORT=3000
CUSTOM_PORT=3000

CUSTOM_USER=admin
PASSWORD=${{secret(32)}}

MAX_RES=1920x1080
HARDEN_DESKTOP=true
SELKIES_ENABLE_SHARING=false
```

**Environment Configuration Explained**

| Variable | Description |
|---|---|
| `RAILWAY_RUN_UID` | Runs container initialization with UID 0 |
| `RAILWAY_SHM_SIZE_BYTES` | Configures 1 GiB shared memory capacity |
| `PUID` / `PGID` | Defines application user and group identifiers |
| `TZ` | Sets the default timezone to UTC |
| `PORT` | Railway HTTP service port |
| `CUSTOM_PORT` | LinuxServer internal HTTP interface port |
| `CUSTOM_USER` | Configures the web interface username |
| `PASSWORD` | Generates a unique password during deployment |
| `MAX_RES` | Limits maximum virtual display resolution in X11 mode |
| `HARDEN_DESKTOP` | Restricts selected desktop features and commands |
| `SELKIES_ENABLE_SHARING` | Disables Selkies desktop session sharing |

The shared memory setting controls the maximum capacity of `/dev/shm`, not the total RAM available to the Railway service.

**Persistent Storage**

Mount a Railway persistent volume at:

```text
/config
```

This directory stores Vivaldi browser profiles, bookmarks, extensions, preferences, and local files.

Browser data remains available across container restarts and redeployments as long as the persistent volume is retained.

**Accessing Vivaldi Browser**

1. Deploy this template to your Railway project.
2. Open the generated HTTPS domain.
3. Enter the configured `CUSTOM_USER` and `PASSWORD`.
4. Access the Vivaldi desktop through the Selkies interface.
5. Customize your browser and start using your persistent cloud workspace.

**Security Considerations**

This template provides a dedicated containerized browser environment with configurable authentication and desktop restrictions.

However, HTTP Basic Authentication alone is not sufficient protection for an internet-facing desktop environment. Deployments accessible over the public internet should use an additional authentication gateway or trusted-network restrictions.

Desktop hardening and disabled session sharing reduce some exposure but do not guarantee complete isolation, anonymity, or protection against malicious websites.

Avoid accessing sensitive systems without appropriate security controls.

**Resource Recommendations**

- **Memory:** Start with 2 GB and increase based on workload.
- **Shared Memory:** 1 GiB recommended for browser stability.
- **CPU:** Start with 1–2 vCPUs.
- **Storage:** Allocate sufficient persistent storage for browser data and downloads.
- **GPU:** Not required for standard browsing; CPU-based rendering is supported.

## Why Use Vivaldi Browser?

| Feature | Benefit |
|---|---|
| Advanced Tab Management | Organize tabs using stacks, tiling, and workspaces |
| Extensive Customization | Personalize themes, menus, toolbars, and shortcuts |
| Built-in Productivity Tools | Access integrated notes, calendar, and mail features |
| Chromium-Based Engine | Broad compatibility with modern websites |
| Built-in Tracker Blocking | Reduce exposure to common tracking technologies |
| Cloud Browser Access | Access Vivaldi remotely from multiple devices |
| Persistent User Profiles | Retain bookmarks, extensions, and preferences |
| Selkies Remote Desktop | Interactive desktop streaming through a browser |
| LinuxServer.io Docker Image | Containerized deployment with documented configuration |
| No External Database | Simple single-service architecture |
| Railway Integration | Managed deployment, networking, and persistent storage |

## Vivaldi Browser vs Alternatives

| Feature | Vivaldi | Google Chrome | Brave | Firefox | Opera |
|---|---|---|---|---|---|
| Browser Engine | Blink | Blink | Blink | Gecko | Blink |
| Advanced Tab Management | Extensive | Basic | Moderate | Moderate | Extensive |
| Interface Customization | Extensive | Moderate | Moderate | Extensive | Extensive |
| Built-in Ad Blocking | Yes | Limited | Brave Shields | Limited | Yes |
| Built-in Notes | Yes | No | No | No | No |
| Integrated Mail Client | Yes | No | No | No | No |
| Chromium Extension Support | Yes | Yes | Yes | No | Yes |
| LinuxServer.io Docker Image | Yes | Yes | Yes | Yes | Yes |
| Selkies Remote Desktop | Yes | Yes | Yes | Yes | Yes |
| Persistent Browser Profiles | Yes | Yes | Yes | Yes | Yes |
| Railway Deployment | Yes | Yes | Yes | Yes | Yes |

Vivaldi is particularly suitable for users who value extensive browser customization, advanced tab management, and integrated productivity features.

Google Chrome focuses on mainstream web compatibility, Brave emphasizes privacy protection, Firefox provides an independent Gecko engine, and Opera offers integrated browsing and sidebar productivity tools.

## Why Deploy Vivaldi Browser on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Vivaldi Browser on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.

## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/vivaldi
