Skip to content

nkpatro/docker-youtrack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

docker-youtrack

Easy youtrack deployment using docker

Requirements

You should have Docker running on you machine

Where do I start?

  1. Install docker. It's not very hard.
  2. Run it! (Stop with CTRL-C, repeat at pleasure)

docker run -t -i -p 8080:8080 dzwicker/docker-youtrack

Now open your browser and point it to http://localhost:8080 and have fun. :)

Do it as service in ubuntu/debian

  1. Create directory to store data
mkdir -p /var/lib/youtrack
mkdir -p /var/log/youtrack
mkdir -p /etc/youtrack
  1. Permissions!

The Dockerfile creates a youtrack user to run youtrack without root permissions. This user has a UID of 2000. Please make sure to add a user to your host system with this UID and allow him to read and write to /var/lib/youtrack. The name of this host user is not important.

  1. Create container!
  docker create -t -i -p 127.0.0.1:8080:8080 \ 
  	-v /var/lib/youtrack:/var/lib/youtrack \ 
  	-v /var/log/youtrack:/var/log/youtrack \
  	-v /etc/youtrack:/usr/local/youtrack/conf \
  	-v /tmp:/tmp \
  	--name docker-youtrack \
  	dzwicker/docker-youtrack
  ```

4. Create upstart configuration `/etc/init/docker-youtrack.conf`

  ``` bash
  description "Docker Youtrack"
  start on filesystem and started docker
  stop on runlevel [!2345]
  respawn
  script
    /usr/bin/docker start -a docker-youtrack >>/var/log/youtrack/docker-youtrack.log 2>&1
  end script

  ```
5. (optional) Setup logrotate e.g. `/etc/logrotate.d/docker-youtrack`


  ```
  /var/log/youtrack/*.log
  /var/log/youtrack/hub/*.log 
  /var/log/youtrack/hub/logs/*.log
  /var/log/youtrack/youtrack/*.log 
  /var/log/youtrack/youtrack/logs/*.log 
  /var/log/youtrack/internal/services/bundleProcess/*.log 
   {
  	rotate 7
  	daily
  	missingok
  	notifempty
  	sharedscripts
  	copytruncate
  	compress
  }
  ```
6. (optional) Add vhost to nginx

  `mkdir -p /var/log/nginx/your-domain`

  ```
  upstream docker-youtrack {
    server localhost:8080;
  }

  server {
    listen 80;
    server_name           your-domain.com;

    access_log            /var/log/nginx/your-domain/access.log;
    error_log             /var/log/nginx/your-domain/error.log;

    proxy_set_header Host       $http_host;   # required for docker client's sake
    proxy_set_header X-Real-IP  $remote_addr; # pass on real client's IP

    client_max_body_size 0; # disable any limits to avoid HTTP 413 for large image uploads

    # required to avoid HTTP 411: see Issue #1486 (https://github.com/dotcloud/docker/issues/1486)
    chunked_transfer_encoding on;

    location / {
      proxy_pass http://docker-youtrack;
    }

  }
  ```
7. Configuring New YouTrack Server
  
  Follow the steps of the installation [instructions for Jetbrains Youtrack](https://confluence.jetbrains.com/display/YTD65/Installing+YouTrack+with+ZIP+Distribution) using paths located under `/var/lib/hub/data`, `/var/lib/hub/backups`, `/var/log/hub`, `/tmp`.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages