Let’s Understand Umami:
Before delving deep into the intricacies of setting up Umami with Docker, let’s take a moment to grasp the essence of what Umami is all about.
Umami, named after the fifth taste sensation in Japanese cuisine, is more than just a flavor enhancer – it’s a sophisticated analytics tool designed to provide website owners with a comprehensive understanding of their online traffic. With its sleek interface and powerful features, Umami offers a user-friendly solution for tracking and analyzing website visitors’ behavior in real-time.
Unlike traditional analytics platforms, Umami stands out for its simplicity and privacy-focused approach. Developed as an open-source project, Umami prioritizes transparency and data ownership, empowering users to maintain full control over their analytics data without relying on third-party services.
In this guide, we’ll explore how to harness the capabilities of Umami by setting it up with Docker, a containerization technology that streamlines deployment and management. Whether you’re a seasoned webmaster or a novice website owner, integrating Umami with Docker opens the door to a wealth of insights that can drive informed decisions and optimize your online presence.
Lets dive into it then….
Step 1: Install Docker:
Before we begin, ensure Docker is installed on your system. Visit this link to see how to install Docker on your Ubuntu system or Visit the official Docker website (https://www.docker.com/get-started) to download and install Docker, following the instructions tailored to your operating system. You can quickly check if your system has docker installed is by running following script in your terminal
docker -v
Also you can check if docker is running on your system or not
sudo systemctl status docker
Step 2: Add Docker Compose:
In addition to Docker, we’ll need Docker Compose to manage multi-container Docker applications. Docker Compose simplifies the process of defining and running multi-container Docker applications with a single YAML configuration file. Visit this link to see how to install Docker Compose on your Ubuntu system or Follow the installation instructions provided on the Docker Compose documentation (https://docs.docker.com/compose/install/) to add Docker Compose to your system. You can quickly check if your system has docker compose installed is by running following script in your terminal
docker compose version
Step 3: Create Umami Directory:
Open your terminal or command prompt and create a directory named umami in your home directory. Navigate into this directory using the following commands:
mkdir ~/umami
cd ~/umami
Note: You can name your file anything you want. For simplicity purpose, we have named it umami
Step 4: Create and Configure docker-compose.yml:
Within the umami directory, create a file named docker-compose.yml and open it with a text editor. You can use Nano, a simple command-line text editor, by running the following command:
nano docker-compose.yml
If you get error about ‘-bash: nano: command not found’, you can run following script to install nano on your system
sudo apt install nano
Once this process is finished, re-run the above command again.
Paste the following configuration into the Nano editor:
services:
umami:
container_name: umami
image: ghcr.io/umami-software/umami:postgresql-latest
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://umami:umami123@umami-db:5432/umami
DATABASE_TYPE: postgresql
HASH_SALT: replace-me-with-a-random-string
depends_on:
- umami-db
restart: always
umami-db:
container_name: umami-db
image: postgres:12-alpine
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: umami123
volumes:
- ./umami/data:/var/lib/postgresql/data
restart: always
This configuration sets up two services: `umami` for the Umami application and `umami-db` for the PostgreSQL database.
Save the changes to `docker-compose.yml` by Saving the file by either Ctrl+S and Ctrl+X or you can run Ctrl+X – Y – Ctrl+X
If you want the official docker-compose.yml file, you can obtain it from Here
Step 5: Start Umami Containers:
In the terminal within the `umami` directory, start the Umami containers by running the following command:
docker-compose up -d
This command initiates the containers in detached mode, allowing them to run in the background.

Step 6: Access Umami Dashboard:
Once the containers are up and running, access the Umami dashboard by opening a web browser and navigating to `http://localhost:3000`. Follow the on-screen instructions to create an account and set up your website for tracking.

Default login credentials are
Username : admin
Password : umami
Step 7: Monitor Website Traffic:
With Umami set up, monitor your website’s traffic in real-time. Utilize Umami’s analytics, including page views, unique visitors, and referrers, to make data-driven decisions and optimize your website’s performance.
Step 8: Stop Umami Containers (Optional):
To stop the Umami containers, navigate to the `umami` directory in the terminal and run:
docker-compose down
This command stops and removes the containers, freeing up system resources.
Conclusion:
By following this comprehensive guide, you’ve successfully set up Umami with Docker, enabling efficient tracking and analysis of your website’s traffic. Docker’s containerization simplifies deployment and management, allowing you to focus on leveraging Umami’s insights to enhance your website’s performance. Utilize Umami’s powerful analytics to make informed decisions and drive success in your online endeavors.
At Kyra Web Studio, we’re passionate about helping businesses build a strong brand identity that drives growth and success. Our team of experts specializes in website design, ecommerce solutions, real estate design, web overhaul, responsive design, custom development, UI/UX design, paid advertising, branding, SEO, social media, content marketing, email marketing, hosting, maintenance, security, CMS implementation, backup & recovery, domain management, performance optimization, and website accessibility. Let us help you create a brand that stands out in the crowd and resonates with your target audience. Contact us today to learn more about our services and how we can help you achieve your business goals.


