3

Similar to this question, I would like an alternative to github that can be self-hosted. These are my requirements (they differ in 2 and 11 from the linked question). Requirement 11 (or a workable alternative) is a must.

  1. Relatively good web UI: source code and commit browsing are a must.
  2. Support for git and subversion. Support for mercurial is a plus.
  3. SSH shell (repositories must be accessible over ssh, instead of just http, even though at least git supports all operations over http relatively well)
  4. Permissions: at least
    • private/public repositories
    • read-only and full access
    • Same permission set for web UI and for SSH (when granting/modifying permissions, it should be reflected to both)
    • preferably integration to LDAP (both users and groups for permissions)
  5. Pull requests (aka. merge request)
  6. Administration tools: creating repositories, granting access
  7. Simple issue tracker: creating tickets, commenting, closing, tags/labels
  8. Preferably search, including tickets, users, projects, filenames and inside source code
  9. Preferably forking from web UI
  10. Preferably runs in Linux
  11. Access git repositories with subversion client (e.g. via an http(s) URL).

Must be either open source (which means it is okay if it is missing some minor functionality) or affordable (>2400€/year for 30 users is too expensive).

For background, I would like to retain our existing subversion repository, and reference a specific version of an external git repository (buildroot in this instance). Occasionally I would want to update the external to a newer version by switching the external reference and fixing any errors related to the updates. If possible, I would also like to store a clone of the external git repository within the self-hosted system.

If the above is not possible, can you recommend an alternative method to achieve the same purpose?

3
  • Welcome to Software Recommendations! Usually its better to keep all information for a question inside the question body. I integrated the elements from the linked question here, please have a look if I got everything right. Commented Apr 9, 2015 at 11:45
  • @AngeloFuchs Thanks -- I've cleaned it up a bit.
    – Patrick
    Commented Apr 9, 2015 at 13:41
  • Note that 'open source' does not necessarily mean 'free to use'.
    – Joost
    Commented May 10, 2015 at 8:20

2 Answers 2

1

GitLab Community Edition seems to satisfy most of your criteria.

1
  • Welcome to Software Recommendations! Currently your answer is a bit thin. Could you elaborate more about how this tool accomplishes the goals of the OP? We like our recommendations to be more than just a link and "This could work". Did you use the tool? What are your experiences? What are its up and downsides? Any situations that are not obviously solvable? Tell us what makes this tool the right tool. Commented Apr 10, 2015 at 7:44
1

RhodeCode might be a good fit here. It's an open source self-hosted platform for behind-the-firewall source code management.

Interface of RhodeCode

Looking at your requirements:

✓ Relatively good web UI: source code and commit browsing

✓ Support for Git, Subversion, and Mercurial

✓ SSH shell (repositories must be accessible over ssh)

✓ Permissions: private/public repositories, read-only and full access

✓ Same permission set for web UI and for SSH

✓ integration to LDAP (both users and groups for permissions)

✓ Pull requests (aka. merge request)

✓ Administration tools: creating repositories, granting access

✓ Search, including tickets, users, projects, filenames and inside source code

✓ Preferably forking from web UI

✓ Preferably runs in Linux

Here are some of RhodeCode's features:

Team collaboration

  • code reviews
  • side-by-side diffs
  • pull requests
  • inline source code chat
  • full-text code search and source code indexing
  • web-based file adding, editing, deletion
  • code snippets (gists).

Repository management

  • unified support for Mercurial, Git, and Subversion
  • fine-grained user management and tools for the access control
  • advanced permission system with IP restrictions.

Code security and authentication

  • pluggable authentication system with tokens and LDAP support, Atlassian Crowd, Http-Headers, Pam.
  • enterprise authentication options: Active Directory, GitHub/Google/BitBucket authentication, 2-factor authentication. Integration with 3rd party issue trackers and CI tools (Jira, Redmine, Jenkins, etc.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.