• Website
  • Server status
  • API documentation
  • Blog
Telegram Icon Community
EN
Русский
Português
English
中文 (中国)
Tiếng Việt
Log in Try for $2
  • Website
  • Server status
  • API documentation
  • Blog
  • Telegram Icon Community
  • English (US)
    Русский
    Português
    English
    中文 (中国)
    Tiếng Việt
Log in View Plans

Getting started with Multilogin automation

Learn the basics of automation in Multilogin. Discover key concepts, benefits, and the best automation method for your needs.

search icon

Try a different keyword or check for typos. If you still need help, contact support.

  • Getting started with Multilogin automation
  • Basic automation with CLI
  • Low-code automation with Postman
  • Script runner & predefined scripts
  • Puppeteer, Selenium, and Playwright
  • Custom Python scripts
  • Quick solutions with Developer Tools
  • External automation tools
  • Home
  • breadcrumb separator bar
  • Multilogin
  • breadcrumb separator bar
  • Efficient task automation with API
  • breadcrumb separator bar
  • Getting started with Multilogin automation
  • breadcrumb separator bar
  • How to run Multilogin in a Docker container

How to run Multilogin in a Docker container

Written by Anton L ( Updated on June 12th, 2026 )

Updated on June 12th, 2026

You can run Multilogin launcher inside a Docker container. This is useful if you want to run automation on your local machine, a server, or a cloud setup without installing everything manually. To run Multilogin in Docker, you’ll create a docker-compose.yaml file, download a pre-built image, and start the container.

Before you start

  1. Install Docker by following the official installation guide for your operating system:
    1. Docker for Linux
    2. Docker for macOS
    3. Docker for Windows
  2. Open Terminal or Command Prompt and check that Docker is installed correctly: docker version

If you installed Docker Desktop, make sure it’s open before you continue.

 

Create the Docker Compose file

  1. Create a folder for your Docker files in any directory
  2. Open a text editor and paste this text:

    docker-compose.yaml

    services:
        launcher:
          image: public.ecr.aws/d3n0b1o9/mlx-launcher:mlx-latest
          ports:
            - "45001:45001"   # HTTPS REST API
            - "45003:45003"   # WSS
          restart: unless-stopped
     
     
  3. Save it as docker-compose.yaml inside the folder from Step 1

Start the container

Make sure you have at least 500 MB of free disk space for the image.

 
  1. Open Terminal or Command prompt (depending on your OS)
  2. Download the Docker image. It includes a modified Ubuntu setup with Multilogin launcher preinstalled: 
    docker pull public.ecr.aws/d3n0b1o9/mlx-launcher:mlx-latest
  3. Go to the folder with your docker-compose.yaml file using the cd command

    Let's say you made a folder called “container” in your user folder. Terminal sets the user folder as the default one. In this case, run:

    cd container

     
  4. Type the following command to create a container: docker compose up -d

The command will create a network called %your folder%_default and a container %your folder%-launcher-1. Copy the container name, as you will need to execute it.

Here are some useful Docker commands:

  • docker compose up -d – creates and starts the container
  • docker compose logs -f – shows logs with the Launcher status and command results inside the container
  • docker compose down – stops and removes the container
 

Open the container terminal

To open the container terminal, run:

docker exec -it %container name% bash

If it works, you’ll see the container terminal. You’re inside the container now. In the next sections, you’ll run a few test API commands.

container — launcher@3fdb41dd1786 ~ — docker exec -it container-launcher-1 bash — 179×92 2026-06-10 at 3.55.41 PM

Check if the launcher is running

To send API requests from inside the container, you’ll use cURL. Use the command below to make sure the launcher is working:

curl -sS https://launcher.mlx.yt:45001/api/v1/version

If you see that the launcher is running, you’ll see a response with code 200: 

{"data":{"env":"Multilogin EU","version":"master"},"status":{"error_code":"","http_code":200,"message":""}}

The next sections show how to start and stop profiles. For more API requests, check the Multilogin API documentation.

Get your API token

To run the API requests, you need a bearer token. To get the bearer token, run the POST User Sign In request with cURL.

  1. Visit MD5 Hash Generator and convert your Multilogin account password
  2. Edit the command below by putting your Multilogin email and password (converted from Step 1) there:

    cURL command with User Sign In request

    curl --location 'https://api.multilogin.com/user/signin' \
    --header 'Content-Type: application/json' \
    --header 'Accept: application/json' \
    --data-raw '{
     "email": "your email",
     "password": "your password in MD5"
    }'

     
     

3. Copy and paste the cURL request into the terminal.

You will get the following response:

{"status":{"error_code":"","http_code":200,"message":"Successful signin"},"data":{"refresh_token":"YOUR BEARER TOKEN"}}

Copy the value of the refresh_token. You’ll need it for the next requests.

75cb08f5-17e1-4ee2-9d24-3c5574954297

You can also use an automation token instead of a regular bearer token: How to generate Multilogin automation tokens with Postman

 

Start a quick profile

To see if the profiles can run inside the container, try using the POST Start Quick Profile v3 request. You’ll need to add an authorization header with your bearer token. You can use the reference below. You can change the profile parameters if needed. Don't forget to put your bearer token (replace YOUR_TOKEN with your bearer token):

cURL command with Start Quick Profile v3 request

curl --location 'https://launcher.mlx.yt:45001/api/v3/profile/quick' \
--header 'Authorization: YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data '{
  "browser_type": "mimic",
  "os_type": "macos",
  "parameters": {
    "flags": {
      "navigator_masking": "mask",
      "audio_masking": "mask",
      "localization_masking": "mask",
      "geolocation_popup": "prompt",
      "geolocation_masking": "mask",
      "timezone_masking": "mask",
      "canvas_noise": "natural",
      "graphics_noise": "natural",
      "graphics_masking": "mask",
      "webrtc_masking": "natural",
      "fonts_masking": "mask",
      "media_devices_masking": "mask",
      "screen_masking": "mask",
      "proxy_masking": "custom",
      "ports_masking": "mask"
    }
  }
}'
 
 

A successful response looks like this:

{"data":{"browser_type":"mimic","core_version":148,"id":"PROFILE_ID","is_quick":true},"status":{"error_code":"","http_code":200,"message":"Quick profile started successfully"}}

Copy the profile ID. You’ll need it to stop the profile.

To learn more about quick profiles, check this article: How to create a quick Multilogin profile with Postman.

 

Stop the profile

Now stop the profile using the GET Stop Browser Profile request. Change PROFILE_ID and YOUR_TOKEN values:

cURL command with Stop Browser Profile request

curl --location 'https://launcher.mlx.yt:45001/api/v1/profile/stop/p/PROFILE_ID' \
--header 'Authorization: YOUR_TOKEN' \
--header 'Accept: application/json'
 
 

The profile should stop after the request.

Note: The API may still close the profile even if you see this message:

{"status":{"error_code":"INTERNAL_SERVER_ERROR","http_code":500,"message":"profile already stopped"}}

This usually means the profile was already stopped, so you’re good.

 

How to use your own cURL commands

You can use any requests from the Multilogin API documentation, but you will need to adjust them for cURL. First, copy a request:

  1. Go to the Multilogin API documentation
  2. Expand the folder in the library dashboard
  3. Choose the endpoint you want to use
  4. Set the request example language to cURL
  5. Click “Copy”

Then edit the request:

  1. Add the authentication header under the first line: --header 'Authorization: YOUR_TOKEN' \
  2. Change the parameter values.

After that, copy the command and paste it into the terminal inside your container.

Extra tips

  • Docker image in the article is a modified Ubuntu setup. If you want to install additional tools (for example, Python script support), run the following command to execute the container as a super user: docker exec -it -u 0 %container name% bash
  • If you need to stop the container without removing it, type this command: docker stop %container name%
  • If you need to start an inactive container, type this command: docker start %container name%

Was this article helpful?

Give feedback about this article

In this article

  • Before you start
  • Create the Docker Compose file
  • docker-compose.yaml
  • Start the container
  • Open the container terminal
  • Check if the launcher is running
  • Get your API token
  • cURL command with User Sign In request
  • Start a quick profile
  • cURL command with Start Quick Profile v3 request
  • Stop the profile
  • cURL command with Stop Browser Profile request
  • How to use your own cURL commands
  • Extra tips

Multilogin community

Stay informed, share your thoughts, and engage with others!

Telegram Icon Join us on Telegram

Read more on the topic

10 Best Datacenter Proxies for Web Scraping (2025 Edition) Apr 2, 2025 5 min read Google SERP Img

What is a Google SERP Proxy and Why Should You Care?

Apr 1, 2025 6 min read
UK Proxy Img

What Are Dedicated UK Proxies? Everything You Need to Know

Apr 1, 2025 6 min read
Related Article Title Icon

Related articles

  • How to launch and stop cloud phones via CLI

Mobile

  • Cloud phone
  • Virtual phone
  • Remote phone
  • Phone farming
  • Cloud cell phone
  • Cloud Android emulation
  • AI Quick Action Automation

Multi-accounting

  • Multiple Instagram accounts
  • Multiple Tiktok accounts
  • Multiple Reddit accounts
  • Multiple Telegram accounts
  • Multiple Facebook accounts
  • Multiple Youtube accounts
  • Multiple LinkedIn accounts

COMPARISON

  • Multilogin vs. MoreLogin
  • Multilogin vs. FlashID
  • Multilogin vs. DuoPlus
  • Multilogin vs. VMOS cloud
  • Multilogin vs. Octo Browser
  • Multilogin vs. AdsPower
  • Multilogin vs. GoLogin

Platform proxies

  • Mobile proxy
  • Reddit proxy
  • Instagram proxy
  • TikTok proxy
  • Facebook proxy
  • Youtube proxy
  • LinkedIn proxy

USECASES

  • Cloud phones for Tiktok
  • Cloud phones for Instagram
  • Cloud phones for Reddit
  • Cloud phones for Facebook
  • Cloud phones for Youtube

RESOURCES

  • Knowledge base
  • API documentation
  • Glossary
  • Academy
  • Blog
  • Server status
  • Release notes

FREE TOOLS

  • YouTube views to money calculator
  • Instagram money calculator
  • Online URL to text converter
  • Google local SERP checker
  • Random address generator

GET IN TOUCH

  • Contact 24/7 support
    [email protected]
  • Referral program
  • Affiliate program
  • Pricing page
  • Careers
GDPR Compliant

© 2026 Multilogin. All rights reserved.

  • Privacy policy
  • Terms of service
  • Cookie policy
Multilogin watermark
  • MOBILE

    • Cloud phone
    • Virtual phone
    • Remote phone
    • Phone farming
    • Cloud cell phone
    • Cloud Android emulation
    • AI Quick Action Automation
  • MULTI-ACCOUNTING

    • Multiple Instagram accounts
    • Multiple Tiktok accounts
    • Multiple Reddit accounts
    • Multiple Telegram accounts
    • Multiple Facebook accounts
    • Multiple Youtube accounts
    • Multiple LinkedIn accounts
  • COMPARISON

    • Multilogin vs. MoreLogin
    • Multilogin vs. FlashID
    • Multilogin vs. DuoPlus
    • Multilogin vs. VMOS cloud
    • Multilogin vs. Octo Browser
    • Multilogin vs. AdsPower
    • Multilogin vs. GoLogin
  • PLATFORM PROXIES

    • Mobile proxy
    • Reddit proxy
    • Instagram proxy
    • TikTok proxy
    • Facebook proxy
    • Youtube proxy
    • LinkedIn proxy
  • USECASES

    • Cloud phones for Tiktok
    • Cloud phones for Instagram
    • Cloud phones for Reddit
    • Cloud phones for Facebook
    • Cloud phones for Youtube
  • RESOURCES

    • Knowledge base
    • API documentation
    • Glossary
    • Academy
    • Blog
    • Server status
    • Release notes
  • FREE TOOLS

    • YouTube views to money calculator
    • Instagram money calculator
    • Online URL to text converter
    • Google local SERP checker
    • Random address generator
  • GET IN TOUCH

    • Contact 24/7 support
      [email protected]
    • Referral program
    • Affiliate program
    • Pricing page
    • Careers
GDPR Compliant
  • Privacy policy
  • Terms of service
  • Cookie policy

© 2026 Multilogin. All rights reserved.

Expand