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.

Command line showing installation on umami on the system

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.

Umami login screen for initial setup

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.

Explore Our Services: Reach Out Today to Transform Your Vision into Reality!

Connect with our dedicated team for personalized assistance.