How to run Multilogin 6 in a Docker container
⚠️ Still using Legacy Multilogin 6? You are missing the good stuff!
The new Multilogin lets you run browser profiles and Android cloud phones in one workspace – manage desktop and mobile accounts without extra tools or devices.
⚡ Want to join the migration queue? Download the latest Multilogin 6 version (scroll to the bottom of the page), open it and click “Migrate”.
- 🖥️ Better workspace: Web interface • Desktop app • Dark mode • 2FA
- 🧑💻 Mobile + browser accounts together: Android cloud phones • Mimic and Stealthfox browsers
- 🌐 Faster setup: Profile and proxy templates • Extension manager
- 💾 Flexible profile storage: Local profiles • Cloud profiles • Storage converter
- ⚡ Productivity tools: Profile folders & tags • Column manager • Running profiles manager • Trash bin • Copy profile ID
- 🤖 Automation ready: API access in all plans • Selenium / Puppeteer / Playwright support • CLI tool • Script runner
👉 Curious what else changed? Read New Multilogin version: how is it different from Multilogin 6.
In this guide, we’ll walk you through setting up and launching Multilogin 6 inside a Docker container. Docker makes it easy to deploy applications consistently across different environments.
Why use Docker for Multilogin?
Docker allows you to:
- Run Multilogin 6 on any system that supports Docker, including local machines and cloud environments
- Maintain portability and scalability for automation needs
- Use headless mode for running on remote hosts
Before you start
Make sure you have:
- A system that can run Docker (cloud, server, VM, or your computer)
- A Docker Hub account to download required images
- A Multilogin 6 account to use the app inside your container
Step 1: install Docker
If you don’t have Docker yet, install it for your OS:
Docker Engine is designed to run directly on Linux. For other operating systems like Windows or macOS you'll need to use Docker Desktop.
Step 2: build a Dockerfile
To create a container, you’ll need a Dockerfile in your project directory. This file configures the container.
Example Dockerfile
# Use an official base image with a compatible OS
FROM ubuntu:22.04
# List of basic dependancies
RUN apt-get update && apt-get install -y ca-certificates fonts-liberation libasound2 libatk-bridge2.0-0 libatk1.0-0 libatspi2.0-0 libc6 libcairo2 libcups2 libcurl4 libdbus-1-3 libdrm2 libexpat1 libgbm1 libglib2.0-0 libgtk-4-1 libnspr4 libnss3 libpango-1.0-0 libu2f-udev libvulkan1 libx11-6 libxcb1 libxcomposite1 libxdamage1 libxext6 libxfixes3 libxkbcommon0 libxrandr2 wget xdg-utils
# Dependancies to install and launch Multilogin application
RUN apt-get update && DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install -y openjdk-18-jre-headless curl unzip openssh-client
# Set environment variables for Multilogin login
ENV ML_USERNAME="your_multilogin_username"
ENV ML_PASSWORD="your_multilogin_password"
# Install Multilogin app
RUN mkdir -p /opt/multilogin/
RUN cd /opt/multilogin/ && \
curl --location --fail --output multiloginapp-linux-x64-client "https://cdn-download.multiloginapp.com/multilogin/6.3.6/multilogin-6.3.6-1-linux_x86_64.zip" && \
unzip multiloginapp-linux-x64-client && \
chmod +x multiloginapp-linux-x64-client && \
rm multiloginapp-linux-x64-client && \
apt-get -y install ./multilogin.deb
# Copy our main run script into workdir
COPY ./run.sh /opt/Multilogin/
# Add permission to execute and run our script
RUN chmod +x /opt/Multilogin/run.sh
CMD bash /opt/Multilogin/run.shSpecial case: M1 Mac users
If you're using an M1 Mac (arm64 architecture), you’ll need to enable the Docker Buildx experimental feature to build the container properly.
Step 3: handle login credentials
Since Dockerfile CMD instructions don’t support login parameters, you need a run.sh file in the same directory.
Example run.sh script
#!/bin/bash
echo "Multilogin account is $ML_USERNAME with password of length ${#ML_PASSWORD}"
cd opt/Multilogin/headless
bash ./cli.sh -login -u "$ML_USERNAME" -p "$ML_PASSWORD"
bash ./headless.sh -port 35000
Store your credentials securely instead of hard-coding them in scripts.
Step 4: run a Docker container
Now that your Dockerfile is set up, it’s time to build and run your container.
Build the Docker container
Make sure your Docker daemon is running, then navigate to your Dockerfile directory and run:
docker build -t multilogin-container .
Run the container
To start the container in your environment, use:
docker run -d --name multilogin-app -p <host_port>:<container_port> multilogin-container
Replace <host_port> and <container_port> with the desired port numbers to enable HTTP request access.
Run in headless mode
Multilogin 6 doesn’t support headless mode natively. To solve this, use a virtual display like Xvfb inside your run.sh script.