GitSwarm-EE 2017.1-1 Documentation


Userids and GitSwarm EE

GitSwarm EE uses a minimum of four, and up to six, different userids during its operation:

  1. An operating system account, git by default, for repo management and access.

  2. An operating system account, gitswarm-www by default, for the GitSwarm EE internal web server "Workhorse".

  3. An operating system account, gitswarm-redis by default, for a Redis database.

  4. An operating system account, gitswarm-psql by default, for a PostgreSQL database.

  5. An operating system account, git-fusion by default, for Helix Git Fusion. Multiple Git Fusion instances can exist on the same host; there would be a separate user account per Git Fusion instance, which would be manually configured.

  6. (Optional) To create GitSwarm EE projects based on directories stored in the Helix Versioning Engine (p4d), a p4d userid is required. Often, this userid would match the one that Git Fusion uses, but could be different if you need to apply different protections.

Userid collisions

If the intended GitSwarm EE host machine already has a Git product installed, that other Git product likely also wants to control the git user account. In this case, GitSwarm EE should be configured to use a different user account for its own repo management.

GitSwarm EE's package installation automatically detects the existence of the git userid; if this situation exists you would see a notice similar to the following:

INFO: User check result (git:/home/git) does not match your GitSwarm
INFO: configuration (git:/var/opt/gitswarm).

To solve this problem:

Replace gitswarm-git with the userid you prefer to use instead of git. Replace /var/opt/gitswarm with the path to the home directory you prefer to use. Then install the GitSwarm EE package again; installation should now succeed.

Important: Making this change affects the remote configuration for every GitSwarm EE user. For example, if the userid is gitswarm-git, the remote configuration would look like gitswarm-git@gitswarm.host:project/repo.git.