For privacy reasons YouTube needs your permission to be loaded. For more details, please see our Privacy Policy — RIDING BYTES GmbH.

Docker is the fastest way to get a working SENAITE LIMS instance on your machine. No server setup, no dependency management, no Python version conflicts. Pull the image, run the container, and open your browser.

This guide walks through the complete process on Windows, macOS, or Linux. The video above demonstrates every step in real time.

Prerequisites

You need Docker installed on your system. If you do not have it yet:

  • macOS / Windows: Install Docker Desktop
  • Linux: Install Docker Engine via your package manager (apt install docker.io on Debian/Ubuntu)

Verify Docker is running by opening a terminal and typing docker --version.

Step-by-Step

1. Pull the SENAITE image

Open your terminal and download the latest SENAITE Docker image from Docker Hub:

docker pull senaite/senaite:2.x

2. Start the container

Run the container and map port 8080 to your local machine:

docker run –name senaite -p 8080:8080 senaite/senaite:2.x

Wait until you see Ready to handle requests in the terminal output. This takes about 30 seconds on the first start.

3. Create a SENAITE site

Open http://localhost:8080 in your browser. You will see the Zope root. Click Install SENAITE to create a new site. The default credentials are admin / admin.

4. Access your SENAITE instance

After installation completes, navigate to http://localhost:8080/senaite. You now have a fully functional SENAITE LIMS running on your machine.

Useful Commands

# Stop the container
docker stop senaite

# Start it again (data is preserved)
docker start senaite

# Remove the container (data is lost)
docker rm senaite

# Run with persistent data volume
docker run –name senaite -p 8080:8080
-v senaite-data:/data
senaite/senaite:2.x

Using a data volume (-v senaite-data:/data) ensures your database and configuration survive container removal.

Next Steps

Categories: Tutorials

Ramon

Share

Related Posts

  • A laboratory recently contacted us because their nightly database optimization had stopped working. SENAITE LIMS was running fine on the surface — users could log in, create samples, enter results. But under the hood, the database was growing unchecked because the scheduled pack operation was silently failing every [...]

  • We built SENAITY because we needed it ourselves. After years of working with laboratories running SENAITE LIMS, we kept seeing the same pattern: lab managers opening multiple browser tabs, clicking through sample listings, trying to piece together where things stand. Which samples are overdue? What is stuck in [...]

    By Categories: Product Updates