Running Bitbucket Server as a Windows service

This page describes how to run Bitbucket Server as a Windows service.

We recommend that you use the Bitbucket Server installer to install Bitbucket Server as a service on Windows. It  creates items in the Windows 'Start' menu for starting and stopping Bitbucket Server – see Getting started for more details. 

See Install Bitbucket Server from an archive file if you are manually installing or upgrading Bitbucket Server from an archive file.

For long-term use on a Windows server, Bitbucket Server should be configured to run as a Windows serviceThis has the following advantages:

  • Bitbucket Server will be automatically restarted when the operating system restarts. 
  • Bitbucket Server is less likely to be accidentally shut down, as can happen if the console window Bitbucket Server was manually started in is closed.
  • Bitbucket Server logs are properly managed by the Windows service.

System administration tasks are not supported by Atlassian. These instructions are only provided as a guide.

Prerequisites

  • On any Windows operating system with User Account Control (UAC) such as Windows 7, simply logging in to Windows with an administrator account will not be sufficient to execute the script in the procedure below. You must either disable UAC or run cmd.exe as an administrator (e.g. by right-clicking on cmd.exe then choose Run as administrator).
  • Ensure the JAVA_HOME variable is set to the root of your Java platform's installation directory. 

Your JAVA_HOME cannot contain spaces, so the default Java installation directory of C:\Program Files\Java won't work.

  • When you run Bitbucket Server as a Windows service, all settings in _start-webapp.bat are ignored. Ensure that you have set BITBUCKET_HOME as a system environment variable, before running the service.bat script.

Set up Bitbucket Server as a Windows service

As of version 4.6, installing Bitbucket Server as a Windows service requires installing two services: the Bitbucket Server service, which provides application functionality, and the bundled Bitbucket Elasticsearch service, which provides content indexing and search functionality.

To install Bitbucket Server as a Windows service

  1. Stop Bitbucket Server.
  2. Create a system environment variable with BITBUCKET_HOME as the Variable name and the absolute path to your Bitbucket Server home directory as the Variable value. Don't use a trailing backslash. Note that the Bitbucket home directory should not be located inside the <Bitbucket Server installation directory>. You must do this step before running the service.bat script in Step 5 below.
  3. Create these system environment variables required for the bundled Bitbucket Elasticsearch service:

    Variable name Variable value
    LOG_DIR
    %BITBUCKET_HOME%\log\search
    DATA_DIR
    %BITBUCKET_HOME%\shared\search\data
    CONF_DIR
    %BITBUCKET_HOME%\shared\search
  4. Open a Command Prompt (as an administrator – see the Prerequisites section above).

  5. Change directory to <Bitbucket Server installation directory>\bin. If a directory in the path has spaces (e.g. C:\Program Files\..), use its eight-character equivalent (e.g. C:\Progra~1\..).
  6. Create a service with the name "BITBUCKET" and a display name of "Atlassian Bitbucket Server BITBUCKET" by running this command:

    service.bat install

    If you would like to customize the name you can instead run:

    service.bat install MyName

    This creates a service called "MyName" with a display name of "Atlassian Bitbucket Server MyName".

  7. Change directory to <Bitbucket Server installation directory>\elasticsearch.
  8. If you are installing a new instance of Bitbucket Server, or are upgrading from Bitbucket Server 4.5 or earlier, copy the template Elasticsearch config files over to your Bitbucket home directory by running the following command:

    robocopy /S config-template %BITBUCKET_HOME%\shared
  9. Change directory to <Bitbucket Server installation directory>\elasticsearch\bin.

  10. Create a service with the name "BITBUCKET_SEARCH" and a display name of "Atlassian Bitbucket Elasticsearch (BITBUCKET_SEARCH)" by running this command:

    service.bat install

    If you would like to customise the name you can instead run:

    service.bat install MyName

    This creates the service "MyName" with a display name of "Atlassian Bitbucket Elasticsearch (MyName)".

  11. Verify the Bitbucket Server and Bitbucket Elasticsearch services start after restarting the machine.

Here is an example of the output you can expect after successfully completed this procedure

C:\Atlassian\atlassian-bitbucket-4.6.3\bin>service.bat install
Installing the service 'BITBUCKET' ...
Using CATALINA_HOME:    "C:\Atlassian\atlassian-bitbucket-4.6.3"
Using CATALINA_BASE:    "C:\Atlassian\atlassian-bitbucket-4.6.3"
Using JAVA_HOME:        "c:\java\jdk1.8.0_92"
Using JRE_HOME:         "c:\java\jdk1.8.0_92\jre"
Using JVM:              "c:\java\jdk1.8.0_92\jre\bin\server\jvm.dll"
The service 'BITBUCKET' has been installed.

C:\Atlassian\atlassian-bitbucket-4.6.3\bin>cd ..\elasticsearch\bin
C:\Atlassian\atlassian-bitbucket-4.6.3\elasticsearch\bin>service.bat install
Installing service      :  "BITBUCKET_SEARCH"
Using JAVA_HOME (64-bit):  "c:\java\jdk1.8.0_92"
The service 'BITBUCKET_SEARCH' has been installed.

C:\Atlassian\atlassian-bitbucket-4.6.3\elasticsearch\bin>net start BITBUCKET_SEARCH
The Atlassian Bitbucket Elasticsearch 2.3.1 (BITBUCKET_SEARCH) service is starting.
The Atlassian Bitbucket Elasticsearch 2.3.1 (BITBUCKET_SEARCH) service was started successfully.

C:\Atlassian\atlassian-bitbucket-4.6.3\elasticsearch\bin>net start BITBUCKET
The Atlassian Bitbucket BITBUCKET service is starting.
The Atlassian Bitbucket BITBUCKET service was started successfully.

Troubleshooting

If your service fails to start with code 4, ensure you ran service.bat install in a Command Prompt running as an Administrator.

Last modified on Oct 18, 2017

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.