What is Cocoa?
It's a self-hosted software development service (forked from Gitea) which includes repository hosting, issue tracking, code review, team collaboration, package registry and CI/CD.
It is largely comparable to the likes of GitHub.
Warning
While this is a soft-fork, the maintainers do not recommend its usage over Gitea or Forgejo.
It is not guaranteed to exist in the long run.
Features
Code Hosting
Cocoa supports creating and managing repositories, browsing commit history and code files, reviewing and merging code submissions, managing collaborators, handling branches, and more. It also supports many common Git features such as tags, cherry-picking, hooks, integrated collaboration tools, and more.
Code Review
Code review supports both the Pull Request workflow and AGit workflow. Reviewers can browse code online and provide review comments or feedback. Submitters can receive review comments and respond or modify code online. Code reviews can help individuals and organizations enhance code quality.
CI/CD
Cocoa Actions supports CI/CD functionality, compatible with GitHub Actions. Users can write workflows in familiar YAML format and reuse a variety of existing Actions plugins. Actions plugins support downloading from any Git website.
Note
For more information, see act
Project Management
Cocoa tracks project requirements, features, and bugs through columns and issues. Issues support features like branches, tags, milestones, assignments, time tracking, due dates, dependencies, and more.
Artifact Repository
Cocoa supports over 20 different types of public or private software package management, including Cargo, Chef, Composer, Conan, Conda, Container, Helm, Maven, npm, NuGet, Pub, PyPI, RubyGems, Vagrant, and more.
System Requirements
- A single board computer (SBC), such as a Raspberry Pi 3 is powerful enough to run Cocoa for small workloads.
- 2 CPU cores and 1GB RAM is typically sufficient for small teams/projects.
- Cocoa should be run with a dedicated non-root system account on UNIX-like systems.
Warning
Cocoa manages the ~/.ssh/authorized_keys file, therefore, running Cocoa as a regular user will break that user's ability to log in.
- Git version 2.0.0 or later is required
- Git Large File Storage will be available if enabled and if your Git version is >= 2.1.2
- Git commit-graph rendering will be enabled automatically if your Git version is >= 2.18
Browser Support
- Last 2 versions of Chrome, Firefox, Safari, and Edge
- Firefox ESR
- Browsers based on UXP
- Browsers based on WebKitGTK+ (same engine as Safari)
Components
Backend
Frontend
- jQuery
- Fomantic UI
- Vue
- ...and various components, see
package.json