Documentation for FishEye 3.0.x. Documentation for other versions is available too.

Hey! We're going to install FishEye on a Linux box, or a Mac. There are a few steps involved, but we think you'll find it easy to follow along. If you are upgrading an existing installation, please refer to the FishEye upgrade guide instead.

1. Check supported platforms

Better check the Supported platforms page first; it lists the application servers, databases, operating systems, web browsers and JDKs that we have tested FishEye with, and that we recommend.

Atlassian only officially supports FishEye running on x86 hardware and 64-bit derivatives of x86 hardware.

2. Create a dedicated FishEye user (recommended)

For production installations, we recommend that you create a new dedicated user that will run FishEye on your system. This user:

  • Should not have admin privileges.
  • Should be a non-privileged user with read, write and execute access on the FishEye home (install) directory and instance (data) directory. These directories are described below.
  • Should only have read access to your repositories. 

If you created a dedicated FishEye user, ensure you are logged in as this user to complete the remaining instructions.

3. Check your version of Java

In a terminal, run this:

java -version

The version of Java should be 1.6.0 or higher.

Download and install the Java Platform JDK from Oracle's website.

Now try running 'java -version' again to check the installation. The version of Java should be 1.6.0 or higher.

4. Check that the system can find Java

In a terminal, run this:

echo $JAVA_HOME

You should see a path like /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/.

LinuxMac

次のいずれかを行います。

  • If JAVA_HOME is not set, log in with 'root' level permissions and run:
echo JAVA_HOME="path/to/JAVA_HOME" >> /etc/environment

where path/to/JAVA_HOME may be like: /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/

  • If JAVA_HOME  needs to be changed, open the  /etc/environment  file in a text editor and modify the value for  JAVA_HOME to:

    JAVA_HOME="path/to/JAVA_HOME"

    It should look like:

    JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/


Insert the following in your ~/.profile file:

JAVA_HOME="path/to/JAVA_HOME"
export JAVA_HOME

where path/to/JAVA_HOME may be like: /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/

Refresh your ~/.profile in the terminal and confirm that JAVA_HOME is set:

source ~/.profile
$JAVA_HOME/bin/java -version

You should see a version of Java that is 1.6.0 or higher, like this:

java version "1.6.0_24"

5. Now it's time to get FishEye

Download FishEye from the Atlassian download site.

Extract the downloaded file to an install location:

  • Folder names in the path to your FishEye executable should not have spaces in them. The path to the extracted directory is referred to as the <FishEye home directory> in these instructions.
  • If you expect to have a large number of users for this FishEye installation, and FishEye will be connected to an external database, consider installing FishEye on a different server from the one running the external database, for improved performance.

6. Tell FishEye where to store your data  

The FishEye instance directory is where your FishEye data is stored.

(warning) You should not locate your FishEye instance directory inside the <FishEye home directory> — they should be entirely separate locations. If you do put the  instance directory in the <FishEye home directory> it will be overwritten, and lost, when FishEye gets upgraded. And by the way, you'll need separate FishEye instance directories if you want to run multiple copies of FishEye.

Create your FishEye instance directory, and then tell FishEye where you created it by adding a FISHEYE_INST environment variable as follows:

LinuxMac

Open the /etc/environment file in a text editor and insert:

FISHEYE_INST="path/to/<FishEye instance directory>"

Open the ~/.profile file for the current user in a text editor and insert:

FISHEYE_INST="path/to/<FishEye instance directory>"
export FISHEYE_INST

Now, copy the <FishEye home directory> /config.xml to the root of the FISHEYE_INST directory, so that FishEye can start properly.

Also, if you have a large number of repositories, we recommend you increase the default number of files that FishEye is allowed to open. See the following knowledge base article for more info: Subversion Indexer Paused with "Too many open files" Error.

7. Start FishEye!

In a terminal, change directory to <FishEye home directory> and run this:

bin/start.sh

After a few moments, in a web browser on the same machine, go to http://localhost:8060/ (or, from another machine, type http://hostname:8060/, where hostname is the name of the machine where you installed FishEye).

Enter your license, then an admin password, to finish the setup. Note that this password is for the 'built-in' FishEye admin user. You can log in as this user, if necessary, by clicking the Administration link in the page footer.

You can postpone setting up JIRA integration until later if you wish; see Configuring JIRA integration in the Setup Wizard.

8. Add repositories

Now you can tell FishEye about any existing repositories you have. Please read Starting to use FishEye for the details.

FishEye will perform an initial index of your repositories, during which it accesses, indexes and organizes a view of your repositories (including all historical items) back to the earliest commits. If you are evaluating FishEye, we suggest that you index a single project, so you can use FishEye as soon as possible. If you choose to index your entire repository, be aware that this can take a long time (possibly days) for massive or complex repositories and can be more complex to set up (especially for Subversion). The basic process is slightly different for each SCM type.

9. Add users and groups

You will want to set up your users and groups in FishEye. You can add users directly to FishEye, or connect to an external user directory. Please read Starting to use FishEye for an introduction.

10. Set up your mail server

Configure the FishEye email server so that users can get notifications from FishEye. See Configuring SMTP.

11. Connect to an external database (recommended)

If you intend to use this FishEye installation in a production environment, it is highly recommended that you use one of the supported external databases. See Migrating to an external database.

If you are evaluating FishEye, or don't wish to do this now, FishEye will happily use its embedded HSQL database, and you can easily migrate later.  

12. Stop FishEye (optional)

In a terminal, change directory to <FishEye home directory> and run this:

bin/stop.sh

13. Tuning FishEye performance

To get the best performance from your new FishEye installation, please consult Tuning FishEye performance.

  • ラベルなし

7 Comments

  1. Antoine Pous

    You can set the JAVA_HOME path with this simple command line

    JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

    Work on debian based system, never tried on other distributions.

  2. Anonymous

    Do  you have specific instructions for LINUX centos 6.3? Im unable to set up this variable correctly.

  3. Thomas

    In step 11, the link goes to the wrong page. It should go to this page Migrating to an external database instead of Migrating FishEye Between Servers.

    1. paulwatson

      Thanks for alerting us!

  4. user-b66d7

    Maybe i'm just being thick, for "FISHEYE_INST="path/to/<FishEye instance directory>" does that litteraly mean to type in for example 

    FISHEYE_INST="path/to/media/fisheye_instance" 

     

    Just trying different things, the logs say it starts, but the web server gets no response when running curl http://localhost:8060

    1. paulwatson

      Hi Andrew, just to be absolutely clear, it doesn't. Type your own path to where you have created your FishEye data directory.

      1. user-b66d7

        Thanks I figured out my issue. Fisheye was running, but I had port blocking issues the Centos box. What threw me off is that running http://localhost:8060 I think just returns a redirect header during initial setup so there is no response to the console when doing a basic curl, which just lead me down the wrong rabbit hole when troubling shooting.