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 service. This 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.
On this page:
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.
- Bitbucket Server should be run from a local dedicated user account that does not have admin privileges and that has read, write and execute access to the Bitbucket home directory and the <
Bitbucket Server installation directory
>. See Git push operations extremely slow on Windows.
- When you run Bitbucket Server as a Windows service, all settings in
_start-webapp.bat
are ignored. Ensure that you have setBITBUCKET_HOME
as a system environment variable, before running theservice.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
- Stop Bitbucket Server.
- 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 theservice.bat
script in Step 5 below. 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
Open a Command Prompt (as an
administrator
– see the Prerequisites section above).- 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\..
). 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".
- Change directory to
<Bitbucket Server installation directory>\elasticsearch
. 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\search
Change directory to
<Bitbucket Server installation directory>\elasticsearch\bin
.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)".
- 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.