YouTrack Server 2022.3 Help

Docker Installation

To run a new instance of the YouTrack service in a docker container:

  1. Pull a YouTrack Image
  2. Create and Configure Directories
  3. Run YouTrack Docker Container
  4. Configure YouTrack

Pull a YouTrack Image

To pull an image of the latest YouTrack version from the Docker YouTrack Repository, use the following command:

docker pull jetbrains/youtrack:<version>

Replace <version> with the complete version number and build. For a complete list of release versions, check Docker Hub.

Create and Configure Directories

YouTrack image container is a stateful container. Thus, before running it, you should create specific directories on the host machine to store YouTrack database, configuration files, logs, backups, and pass them to the YouTrack container as volumes. Otherwise, you risk losing YouTrack data when the container is removed.

These directories are:

  • data — a directory where YouTrack stores its database. For a new installation, this directory must be empty.

  • conf — a directory where YouTrack stores configuration files that contain environment settings, JVM options, YouTrack integration settings, and so on.

  • logs — a directory where YouTrack stores its log files.

  • backups — a directory where YouTrack stores backups. For more details about backups, see Back Up the Database.

These directories must be accessible to the user account that is used for running the YouTrack service inside the container. If your host machine runs on Linux or another *nix OS, YouTrack uses the non-root account 13001:13001 (group:id).

Use the following commands to create YouTrack directories and grant read/write permissions to the service account:

mkdir -p -m 750 <path to data directory> <path to logs directory> <path to conf directory> <path to backups directory> chown -R 13001:13001 <path to data directory> <path to logs directory> <path to conf directory> <path to backups directory>

When YouTrack-specific directories are created and configured, you can define the mapping between them and directories inside the docker container as the arguments of the docker run command.

These directories must be accessible to the user account that is used for running the YouTrack service inside the container.

For example, you can run the following command under the same user account that runs the Docker container:

mkdir -p -m 750 <path to data directory> <path to logs directory> <path to conf directory> <path to backups directory>

When YouTrack-specific directories are created and configured, you can define the mapping between them and directories inside the docker container as the arguments of the docker run command.

Run YouTrack Docker Container

Use the following command to run a container with YouTrack service and map YouTrack data volumes and port:

docker run -it --name <youtrack-server-instance> \ -v <path to data directory>:/opt/youtrack/data \ -v <path to conf directory>:/opt/youtrack/conf \ -v <path to logs directory>:/opt/youtrack/logs \ -v <path to backups directory>:/opt/youtrack/backups \ -p <port on host>:8080 \ jetbrains/youtrack:<version>

Where:

  • -it — a flag that attaches YouTrack container input and output including the startup logs to the terminal window. Note that pressing `Ctrl+C` when the terminal is attached to a container output causes the container to shut down. Use `Ctrl+PQ` in order to detach the terminal from container output. For more details, see the official docker documentation.

  • --name youtrack-server-instance — the arbitrary name for the container.

  • -v <path to NNN directory>:/opt/youtrack/NNN — binding the YouTrack-specific 'NNN' directory on the host machine to the respective /opt/youtrack/NNN directory inside the container.

  • -p <port on host>:8080 — parameter that defines the port mapping. It instructs the host machine to listen on port <port on host> and propagate all traffic to the port 8080 inside the docker container.

YouTrack service is started on {0.0.0.0:8080} inside the Docker container, and port 8080 is mapped to <port on host> that you have specified. This way the service may be accessed from any machine that has network access to the <port on host> of your host machine. For instance, if the FQDN of the host machine is host.mydomain.com and the <port on host> is 7777, then the service will be available at http://host.mydomain.com:7777.

Configure YouTrack

On the first run, the YouTrack service starts with the web-based Configuration Wizard at the address mentioned above. Open your browser, enter the address and follow the steps described in Configuration Wizard to complete the setup.

When the YouTrack service is configured and running, log in as the system administrator. Then, open the administration menu > Global Settings page, and set up your timezone. For an empty new installation the time zone is set to UTC, by default.

Configure YouTrack service from the Command Line

For automated installation purposes, you can skip the wizard. However, in this case, the YouTrack service starts with the default parameters. Thus, you need to explicitly set the base URL — the URL at which the YouTrack service is available to the end users.

To skip Configuration Wizard, run the configure command before running YouTrack:

docker run --rm -it \ -v <path to conf directory>:/opt/youtrack/conf \ -v <path to logs directory>:/opt/youtrack/logs \ jetbrains/youtrack:<version> \ configure \ -J-Ddisable.configuration.wizard.on.clean.install=true \ --base-url=http://youtrack.mydomain.com:XXXX

If you ever need to change the base URL for your running YouTrack instance, we urge you to do it using the Admin menu > Global Settings page of the YouTrack UI. In this case you do not need to stop the service. However, you can also use the configure command with the --base-url argument.

To change the Base URL of the YouTrack service:

  1. Stop YouTrack: docker exec <containerId> stop

  2. Run the following command:

    docker run --rm -it \ -v <path to conf directory>:/opt/youtrack/conf \ -v <path to logs directory>:/opt/youtrack/logs \ jetbrains/youtrack:<version> \ configure --base-url=https://<YouTrack service baseURL>:XXXX
  3. Start YouTrack: docker start <containerId>

To see all stopped containers, run docker ps -a

Last modified: 21 April 2023