If you are using a 64-bit JVM, please ensure that you've set your max heap size (--Xmx) to a reasonable value, considering the RAM requirements of your system.

If you intend to run Fisheye as a Windows Service, using the Java Service Wrapper, you should use the Java JDK rather than the JRE so as to take advantage of the -server parameter. If you're using the Windows Installer distribution, which handles the Fisheye service differently, using the Java JRE should suffice.

Operating systems

Microsoft Windows

Fisheye is a pure Java application and should run on any platform provided the requirements for the JRE or JDK are satisfied.

Although Fisheye can be run in virtualized environments, Atlassian is not yet able to provide technical support for performance-related problems in a virtualized environment. If you do choose to run Fisheye in a VM, please ensure that you choose a VM with good IO throughput.

Linux

Apple Mac OS X

Databases

HSQLDB

Bundled; for evaluation use only

The Fisheye built-in database, running HSQLDB, is somewhat susceptible to data loss during system crashes. We recommend that you do not use HSQLDB for production systems.

External databases (such as MySQL) are generally more resistant to data loss during a system crash.

These are the versions of Mecurial that we currently test Fisheye against.

As of version 3.6.3, Fisheye supports Mercurial 3.

Mercurial 2.1 has a bug that makes it incompatible with Fisheye. Please use Mercurial 2.1.1 or later.

You should restart Fisheye after upgrading Mercurial.

Atlassian applications

Crowd

Crowd 2.4.x+

Crowd client library: 2.4.1

From version 2.8.x, Fisheye bundles the Crowd 2.4.1 client library, and supports the Crowd 2.4.x server, and later versions .

Jira

Jira 6.4+

Fisheye to Jira communication requires Jira 6.4.x or later. Communication the other way, from Jira to Fisheye, depends on the Jira Fisheye Plugin.

Note that the Jira Fisheye Plugin is bundled with Jira. If you are using a version of Jira earlier than Jira 6.4 you can upgrade the plugin in Jira to get support for Fisheye.

Hardware requirements

Fisheye should ideally run on a dedicated server. The most important aspect for a large-repository deployment will be I/O speed. You definitely want a fast local HDD for Fisheye's cache. Note that NFS and SAN are not supported.

Component

Specifications

CPU

1.8GHz or higher, a single core is sufficient. More cores or higher GHz will result in better load-handling ability.

RAM

1GB minimum, 2GB will provide performance "headroom". Your Java heap should be sized at 512MB with the FISHEYE_OPTS environment variable, adjustable up to 1024MB depending on performance.

I/O

Fisheye's input/output is an important element of its overall performance. If Fisheye accesses your repository remotely, make sure that the throughput is maximum and the latency minimum (ideally the servers are located in the same LAN, running at 100Mbps or faster).

While some of our customers run Fisheye on SPARC-based hardware, Atlassian only officially supports Fisheye running on x86 hardware and 64-bit derivatives of x86 hardware.

Disk space requirement estimates

Disk space requirements for Fisheye may vary due to a number of variables such as the repository implementation, file sizes, content types, the size of diffs and comments being stored. The following table contains some real-world examples of Fisheye disk space consumption.

Repository technology

Commits

Codebase size (HEAD of trunk)

Fisheye index size

Subversion

14386

466 MB in 12151 files

647 MB

CVS

8210

115 MB in 11433 files

220 MB

These disk space estimates are to be used as a guideline only. We recommend you monitor the disk space that your Fisheye instance uses over time, as needs for your specific environment may vary. It may be necessary to allocate more space than indicated here. Additionally, you can reduce disk space consumption by turning off diff storage in Fisheye.

Deployment notes for version control systems

Subversion (server)

Fisheye can communicate with any repository running Subversion 1.1 or later.

Subversion (client)

Fisheye now bundles the SVNkit client, which becomes the default Subversion interface. An alternative is to use the native subversion client, using JavaHL bindings. Please see Subversion Client Setup for more information.

Perforce (client)

Fisheye needs access to the p4 client executable. Due to some problems with earlier versions of the client, we recommend version 2007.3 or later.

CVS

If you are using CVS, Fisheye needs read-access to your CVS repository via the file system. It does not support protocols such as pserver at the moment.

Support for other version control systems is planned for future releases. Let us know what SCM system you would like to see supported by creating a Jira issue or adding your vote to an issue, if the request already exists.

WAR deployment

Fisheye/Crucible is a standalone Java program. It cannot be deployed to web application servers such as WebSphere, Weblogic or Tomcat.

Single sign on with Atlassian Crowd

From version 2.8.x, Fisheye bundles the Crowd 2.4.1 client library, and supports the Crowd 2.4.x server, and later versions.