Docker Container Redmine 7 installation on Windows

This guide will show you in detail how to install Redmine 7 via Docker Container in Windows.

WSL install

The Windows OS needs WSL (Windows Subsystem for Linux) for the Docker to be able to work. Please follow these steps to install it first.

Open your PowerShell as administrator.

01_powershell_open.png

Then run this command:

wsl --install

02_shell_wsl_install_progress_bar.png

The process continues installation in this way (please just wait while installing).

03_shell_wsl_second_progress_bar.png

When the WSL installation finishes, you will see this.

04_shell_wsl_finished.png

As you can see in the last picture, reboot of your Windows (and computer accordingly) is needed. After rebooting, a terminal windows will pop-up again to continue installation process. Please wait until it is done and close the terminal window.

Docker Desktop download

Now, you need to download the very latest Docker Desktop for your Windows. Please visit the official Docker site to download it.

You can choose to download the file when click on button "Docker Desktop for Windows - x86_64" or install it via the Microsoft store when you click on button "Docker Desktop for Windows - x86_64 on the Microsoft Store". In our example we choose the first option.

05_download_ubuntu_desktop.png

Then you will get the file in your Downloads folder.

06_in_the_downloads_folder.png

Docker Desktop installation

Double-click on the installation file in your Downloads folder. First thing that you will be asked is about the type of installation. Just click the recommended option (the first one).

07_pre_user_installation.png

Just wait for the process to go on.

08_docker_install_progress_bar.png

Once it is done, you will get this window.

09_docker_successful_installed.png

Afterward you will get a standard shortcut at your Windows desktop.

10_desktop_shortcut.png

Creating a docker-compose.yml file

Open your PowerShell (just normally, not as administrator) again and in directory C:\Users\[your_user_name] (in our example case the user name is "dimit") create Docker Redmine directory via this command:

mkdir C:\docker\redmine

As a result you will see this.

11_mkdir_docker_redmine.png

Now change the directory to the newly created one.

cd C:\docker\redmine\

12_change_directory_to_docker_redmine.png

In this directory, please create the docker-compose.yml file via Notepad or any text editor that you wish. And inside put the following text:

services:
  postgres:
    image: postgres:16-bookworm
    container_name: redmine_postgres
    restart: always
    environment:
      POSTGRES_USER: redmine
      POSTGRES_PASSWORD: my_secure_password
      POSTGRES_DB: redmine
    volumes:
      - postgres_data:/var/lib/postgresql/data
    networks:
      - redmine_network

  redmine:
    image: redmine:latest
    container_name: redmine_app
    restart: always
    ports:
      - "8080:3000" 
    environment:
      REDMINE_DB_POSTGRES: postgres
      REDMINE_DB_USERNAME: redmine
      REDMINE_DB_PASSWORD: my_secure_password
      REDMINE_DB_DATABASE: redmine
      # Optional: Uncomment if you want to automatically migrate plugins on startup
      # REDMINE_PLUGINS_MIGRATE: "true" 
    volumes:
      - redmine_data:/usr/src/redmine/files
      - redmine_plugins:/usr/src/redmine/plugins
      - redmine_themes:/usr/src/redmine/themes
    depends_on:
      - postgres
    networks:
      - redmine_network

volumes:
  postgres_data:
  redmine_data:
  redmine_plugins:
  redmine_themes:

networks:
  redmine_network:
    driver: bridge

Please make sure to change the my_secure_password for your database and Redmine. In our case, we will keep it in this default way for testing purposes only.

13_yml_file_text_in_notepad.png

After saving the file, it should look like this in the correct directory.

14_saved_yml_view.png

Troubleshooting while starting the Docker Compose

Now when you try to run the Docker Compose, you can have several problem and we would like to through them so you will be able to solve them if you got some of them on your way.

So, the command to start it is:

docker compose up -d

TXT instead of YML

First possible problem is if you have No such file answer as a result in your PowerShell. This is because you saved your docker-compose.yml file as docker-compose.yml.txt. When you save it in your Notepad, the "txt" part is hidden, so you think it is fine (only .yml) but in real it got the .txt extension in the end.

If you wish to confirm that this is the problem, then just run the dir command. You will see the full file name and real extension at the end. Afterward, please execute the following command to fix the problem:

ren docker-compose.yml.txt docker-compose.yml

Then run the dir command again to make sure and confirm that all is good now.

15_txt_to_yml.png

Failed to connect to docker API

The problem comes if you see this message after you try to start the Docker Compose.

16_error.png

The solution here is simple. You have to just start the the Docker App from the Desktop shortcut or from the Windows start menu.

17_open_docker.png

Once you start the Desktop App you will have a proposal to login or create a new account. In our example here, we will just skip this step.

18_docker_login.png

Virtualization is disabled in firmware

This problem comes in the Docker App after starting. It blocks the process to continue.

19_virtualization_disabled.png

The key here is to restart your computer and enter the BIOS setup (usually via pressing F12 or ESC). Then find the virtualization option and stich it on. In the below picture you will see the option still off (and that's why it is causing the problem).

virtualization_swtich_bios_setup.png

Now everything is correct and set so the WSL app starts automatically with the Docker App.

  • WSL app:

20_wsl_started_with_docker.png

  • Docker app:

21_docker_correctly_started.png

502 Bad Gateway

But even now when the Apps (Docker and WSL) are running when you try to start your specific Docker Compose of Redmine 7 via the command "docker compose up -d", you may get this 502 Bad Gateway error:

22_docker_compose_up_with_error.png

The solution here is simple too. The "502 Bad Gateway" errors are usually transient server-side hiccups. Try running the command again after a few seconds and it will fix the problem for you.

24_all_installed_correctly.png

Before that you will be asked to allow the Windows Firewall to get access for the Docker.

23_allow_access.png

Access Redmine 7

As now everything is up and running (WSL and Docker apps as well as the Docker Compose in the PowerShell), you can access your Redmine 7 on the specified localhost port, earlier set in your docker-compose.yml file:

localhost:8080

25_redmine_running.png

Now login with the default credentials:

  • username: admin
  • password: admin

Then you will be asked to change your password with a new one.

26_change_password_request.png

Then you will successfully get in.

27_password_changed.png

If you go to Administration - Information, you will get your full system info of your Redmine 7.

28_system_info.png

You can check the current status of your Docker Compose Redmine 7 via the command:

docker compose ps

29_docker_compose_ps.png

Also if you open your Docker app, you will see your Redmine 7 up and running there too.

30_docker_app_redmine_running.png

Was this article helpful? Yes  No