Skip to content

Install as a systemd Service

John Pearcey edited this page Aug 15, 2024 · 2 revisions

Install

Unpack the GitBucket Zip distribution to /opt .

Running as a Service

Followings will be assumed:

  • Java 8 is running correctly with /usr/bin/java
  • Install directory is /opt/gitbucket
  • The GitBucket (java) process will run as user gitbucket and group gitbucket, with UID and GID 555
  • A non-root user account that can use sudo to execute commands as root will be the example
  1. Add the user and the group:
sudo groupadd -g 555 gitbucket

sudo useradd \
  -g gitbucket --no-user-group \
  --home-dir /opt/gitbucket --no-create-home \
  --shell /usr/sbin/nologin \
  --system --uid 555 gitbucket
  1. Make the owner of the GitBucket to be the gitbucket:gitbucket user:
sudo chown -R gitbucket:gitbucket /opt/gitbucket
  1. Change gitbucket.service to suit your needs. A basic file to get you going will be something like this:
Description=Git hosting service

[Service]
User=gitbucket
ExecStart=/usr/bin/java -jar /opt/gitbucket/gitbucket.war --host=0.0.0.0 --port=8080 --gitbucket.home=/opt/gitbucket/<data-dir>

[Install]
WantedBy=multi-user.target
  1. Install the systemd service unit configuration file, reload the systemd daemon, and start GitBucket:
sudo cp gitbucket.service /etc/systemd/system/
sudo chown root:root /etc/systemd/system/gitbucket.service
sudo chmod 644 /etc/systemd/system/gitbucket.service
sudo systemctl daemon-reload
sudo systemctl start gitbucket.service
  1. Start GitBucket automatically when booting:
sudo systemctl enable gitbucket.service
  1. If GitBucket is not starting properly, view the logs:
journalctl --boot -u gitbucket.service

or just follow the logs with:

journalctl -f -u gitbucket.service