run 2.7 KB
Newer Older
1 2
#!/bin/sh

3
print_port() {
4
  printf "
Luke Bennett's avatar
Luke Bennett committed
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

           \033[38;5;88m\`                        \`
          :s:                      :s:
         \`oso\`                    \`oso.
         +sss+                    +sss+
        :sssss:                  -sssss:
       \`ossssso\`                \`ossssso\`
       +sssssss+                +sssssss+
      -ooooooooo-++++++++++++++-ooooooooo-
     \033[38;5;208m\`:/\033[38;5;202m+++++++++\033[38;5;88mosssssssssssso\033[38;5;202m+++++++++\033[38;5;208m/:\`
     -///\033[38;5;202m+++++++++\033[38;5;88mssssssssssss\033[38;5;202m+++++++++\033[38;5;208m///-
    .//////\033[38;5;202m+++++++\033[38;5;88mosssssssssso\033[38;5;202m+++++++\033[38;5;208m//////.
    :///////\033[38;5;202m+++++++\033[38;5;88mosssssssso\033[38;5;202m+++++++\033[38;5;208m///////:
     .:///////\033[38;5;202m++++++\033[38;5;88mssssssss\033[38;5;202m++++++\033[38;5;208m///////:.\`
       \`-://///\033[38;5;202m+++++\033[38;5;88mosssssso\033[38;5;202m+++++\033[38;5;208m/////:-\`
          \`-:////\033[38;5;202m++++\033[38;5;88mosssso\033[38;5;202m++++\033[38;5;208m////:-\`
             .-:///\033[38;5;202m++\033[38;5;88mosssso\033[38;5;202m++\033[38;5;208m///:-.
               \`.://\033[38;5;202m++\033[38;5;88mosso\033[38;5;202m++\033[38;5;208m//:.\`
                  \`-:/\033[38;5;202m+\033[38;5;88moo\033[38;5;202m+\033[38;5;208m/:-\`
                     \`-++-\`\033[0m

  "
  echo
  echo
29
  echo "Starting GitLab in $(pwd) on port ${host}:${port}"
30 31 32
  echo
  echo
}
33 34

foreman_start() {
Matija Čupić's avatar
Matija Čupić committed
35
 exec env port="${port}" host="${host}" foreman start "$@"
36 37 38
}

db() {
39
  foreman_start -m all=0,redis=1,postgresql=1,openldap=1,influxdb=1,webpack=1,registry=1
40 41
}

42
geo_db() {
43
  foreman_start -m all=0,postgresql-geo=1
44 45
}

46
app() {
47
  print_port
48
  foreman_start -m all=0,rails-web=1,rails-background-jobs=1,gitlab-workhorse=1,nginx=1,grafana=1,sshd=1,gitaly=1,storage-check=1
49 50
}

51
grafana() {
52
  foreman_start -m all=0,grafana=1
53 54
}

55
thin() {
Matija Čupić's avatar
Matija Čupić committed
56
  exec /usr/bin/env RAILS_ENV=development support/exec-cd gitlab bundle exec thin --socket="$(pwd)"/gitlab.socket start
57 58
}

59
gitaly() {
60
  foreman_start -m all=0,gitaly=1
61 62
}

63
all() {
64
  print_port
65 66 67
  foreman_start
}

68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
main() {
  # Try to read the gitlab-workhorse host:port from the environments
  if [ "x${host}" = x ]; then
    # Try a host file
    host="$(cat host 2>/dev/null)"
  fi
  if [ "x${port}" = x ]; then
    # Try a port file
    port="$(cat port 2>/dev/null)"
  fi

  # Fall back to localhost:3000
  host="${host:-localhost}"
  port="${port:-3000}"

  case "x$1" in
    xdb)
      db
      ;;
    xgeo_db)
      geo_db
      ;;
    xapp)
      app
      ;;
    xgrafana)
      grafana
      ;;
    xthin)
      thin
      ;;
    xgitaly)
      gitaly
      ;;
    x*)
      all
      ;;
  esac
}
107 108

main "$@"