Contact Us
If you still have questions or prefer to get help directly from an agent, please submit a request.
Popular topics: Multilogin X, Multilogin 6, Subscription & payments,
-
How to test a proxy What you need to know about Multilogin proxy: FAQ How to use Multilogin proxy: guide How to choose a proxy type How to use HTTP and SOCKS proxies in Multilogin How to use Multilogin with 4G/5G connection How to set up Multilogin with NodeMaven How to use custom DNS in Multilogin Proxies & IP masking FAQRetrieving the token Using the automation token in a workspace Retrieving profile, folder, and workspace IDs Retrieving the user ID Selenium automation example Playwright automation example Puppeteer automation example Logging in to Multilogin automatically Using the automatic cookie collection script Auto-launching the agent Exporting proxy details from profiles Converting external proxy lists into API-ready JSON files Automation FAQ How to use Multilogin CLI tool CookieRobot script for Multilogin XHow to send logs to support How to disconnect and reconnect the agent How to reinstall app components How to fix agent connection issues How to fix startup issues in Multilogin How to fix Multilogin issues on macOS How to unlock a locked profile How to fix profile launch or proxy connection issues How to fix missing browser data issue How to fix browser fingerprint inconsistencies Account banned: what should I do? How to fix Mimic launch issues on Linux How to enable web camera in Multilogin profiles My app or profile is slow: how to fix performance issues How to find missing profiles How to fix website loading issues in Multilogin How to access restricted websites How to fix connection issues in restricted regions How to fix Stealthfox issues on Windows How to fix small Stealthfox window resolution on Windows How to fix “The installation failed” macOS error How to fix “Failed to get profile data” error How to fix “Access denied” error How to fix “Some settings were reset” error How to fix “Profile failed to start” error How to fix “Wrong proxy data” error How to fix “Aw, Snap! STATUS_BREAKPOINT” error How to fix “Aw, Snap! STATUS_ACCESS_VIOLATION” error How to fix “ERR_TIMED_OUT” error How to fix “ERR_CONNECTION_RESET” error How to fix “ERR_CONNECTION_CLOSED” error Why isn't cookie import working? Why don’t cookies log you in to the target account?
-
How to send logs to support How to edit the app.properties file How to reinstall app components How to reinstall Multilogin 6 How to fix profile launch issues in Multilogin 6 How to fix proxy connection issues in Multilogin 6 How to fix frozen "Update in progress... Loading [3] of 2 components" status How to fix Android profile issues in Multilogin 6 How to fix issues with extension data in Mimic How to fix Stealthfox issues on Windows How to fix a profile stuck on “Active” status How to fix IP leaks when using a proxy How to fix "JavaScript error" in Multilogin 6 dark mode How to fix "Javax.crypto […] pad block corrupted" error How to fix "Fingerprint composition failed" error How to fix "Mimic/Stealthfox executable is not found" error How to fix “Profile is not created/updated” error How to fix "Downloading Mimic browser" error How to fix “Application request limit is reached” error How to fix "Invalid buffer arguments" error How to fix “Unable to save profile: User-Agent is empty” error How to fix "Cannot invite existing user" error Why isn't cookie import working? Why don’t cookies log you in to the target account?
-
How to choose a Multilogin subscription How to buy a Multilogin subscription How to sync Multilogin 6 subscription with Multilogin X How to upgrade or downgrade a subscription How to renew or cancel a subscription How to manage payment methods How to manage invoices How to pay with crypto Account & subscription FAQ
Running Multilogin 6 in a Docker container
Written by Yelena Varabyeva
Updated on September 25th, 2024
Table of contents
In this article, we've covered the process of creating and launching the latest version of Multilogin 6 inside a Docker container. Docker allows you to package and deploy your application in a consistent and portable manner, making it easier to manage it across different environments.
By following the steps outlined here, you can use Docker to run Multilogin 6 on your local machine, in a cloud environment, or on any system that supports Docker, providing flexibility and scalability for your web automation needs. Multilogin 6 supports running in headless mode and can be run on remote hosts.
Before you start
Before following the instructions from this article, make sure that you have:
- A setup that allows you to create and run Docker containers: this could be a cloud service, a server, a virtual machine, or simply your own computer with Docker installed
- A Docker Hub account to download the necessary images for building your container (for example, a Linux distribution)
- A Multilogin 6 account to use the application inside your container
Step 1: Installing Docker
If you haven't installed Docker yet, you can do so by following the official installation guide for your operating system:
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: Building a Docker container
To build a Docker container, you'll need a Dockerfile in your project directory. This file defines your container's configuration. Here's an 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.sh
Additionally, you'll need a run.sh file placed in the same directory as your Dockerfile. This file is necessary to run Multilogin 6 with login parameters because Dockerfile CMD instructions don't support them:
#!/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
Launching profiles in headless mode isn't supported in Multilogin 6, so you'll need to implement a workaround using virtual displays like Xvfb
or other Linux utilities. You can include these configurations in your run.sh bash script to make it work.
Step 3: Running a Docker container
To build a Docker container, ensure your Docker daemon is running, and then execute the following command in the directory containing your Dockerfile:
docker build -t multilogin-container .
To run it in your preferred environment, use the following command:
docker run -d --name multilogin-app -p <host_port>:<container_port> multilogin-container
Specify ports to link your host and Docker container for HTTP request access.
To build a Multilogin 6 Docker container with linux-amd64 version on an M1 Mac (arm64 architecture), you'll need the Docker buildx experimental feature. Find detailed instructions on how to enable it here.