1.  # This configuration runs gitlab in a docker container.
   2.  # The pies binary is run as entrypoint with the --no-init option
   3.  
   4.  component syslogd {
   5.    mode respawn;
   6.    command "/sbin/syslogd -n -O /proc/1/fd/1";
   7.  }
   8.  
   9.  component keygen {
  10.    mode startup;
  11.    command "/usr/lib/gitlab-init";
  12.    stderr file /proc/1/fd/2;
  13.    stdout file /proc/1/fd/1;
  14.  }
  15.  
  16.  component openssh {
  17.    mode respawn;
  18.    command "/usr/sbin/sshd -D -e";
  19.  }
  20.  
  21.  component redis-server {
  22.    mode respawn;
  23.    command "/usr/bin/redis-server /etc/redis/redis.conf --daemonize no";
  24.  }
  25.  
  26.  component unicorn {
  27.    mode respawn;
  28.    chdir /srv/gitlab;
  29.    user git;
  30.    env {
  31.      set "HOME=/srv/git";
  32.    }
  33.    command "bundle exec unicorn_rails -c /srv/gitlab/config/unicorn.rb -E production";
  34.    stderr syslog err;
  35.    stdout syslog info;
  36.  }  
  37.  
  38.  component sidekiq {
  39.    mode respawn;
  40.    chdir /srv/gitlab;
  41.    user git;
  42.    env {
  43.      set "HOME=/srv/git";
  44.    }
  45.    command "bundle exec sidekiq -C /srv/gitlab/config/sidekiq_queues.yml -e production";
  46.    stderr syslog err;
  47.    stdout syslog info;
  48.  }
  49.  
  50.  component gitaly {
  51.    mode respawn;
  52.    command "/usr/bin/gitaly /srv/gitaly/config.toml";
  53.    user git;
  54.    env {
  55.      set "HOME=/srv/git";
  56.    }
  57.    stderr syslog err;
  58.    stdout syslog info;
  59.  }
  60.  
  61.  component workhorse {
  62.    mode respawn;
  63.    command "/usr/bin/gitlab-workhorse -authBackend http://localhost:8080 -listenAddr 0.0.0.0:8181 -documentRoot /srv/gitlab/public -secretPath /srv/gitlab/.gitlab_workhorse_secret";
  64.    user git;
  65.    env {
  66.      set "HOME=/srv/git";
  67.    }
  68.    stderr syslog err;
  69.    stdout syslog info;
  70.  }
  71.   
  72.  component logrotate {
  73.    mode respawn;
  74.    env {
  75.      eval "${GITLAB_LOGROTATE_SCHEDULE:-'0 0 * * *'}";
  76.    }
  77.    command "/usr/bin/pscron \"$GITLAB_LOGROTATE_SCHEDULE\" /usr/sbin/logrotate $GITLAB_LOGROTATE_OPTIONS /etc/logrotate.conf";
  78.    flags shell;
  79.    stderr syslog err;
  80.    stdout syslog info;
  81.  }
  82.