YouTrack Server 2022.3 Help

Run Docker Container as a Service

The Docker team recommends using the cross-platform built-in restart policy for running the container as a service. For this, configure your docker service to start on system boot and add the --restart unless-stopped parameter to the docker run command that starts YouTrack.

However, when it comes to the sequential start of several services (including YouTrack), the restart policy method will not suit. You can use a process manager instead.

Here's an example that demonstrates how to run a YouTrack container as a service on Linux with the help of systemd.

To run YouTrack container as a service on Linux with systemd:

  1. Create a service descriptor file /etc/systemd/system/docker.youtrack.service:

    [Unit] Description=YouTrack Service After=docker.service Requires=docker.service [Service] TimeoutStartSec=0 Restart=always ExecStartPre=-/usr/bin/docker exec %n stop ExecStartPre=-/usr/bin/docker rm %n ExecStartPre=/usr/bin/docker pull jetbrains/youtrack:<version> ExecStart=/usr/bin/docker run --rm --name %n \ -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> [Install] WantedBy=default.target
  2. Enable starting the service on system boot with the following command:

    systemctl enable docker.youtrack

You can also stop and start the service manually at any moment with the following commands, respectively:

sudo service docker.youtrack stop sudo service docker.youtrack start
Last modified: 07 February 2023