#!/bin/bash -x # This script installs Gitblit on a system running under systemd. # The script assumes the server is running as user giblit # First create a file with the default settings cat > /tmp/gitblit.defaults << EOF GITBLIT_PATH=/opt/gitblit GITBLIT_BASE_FOLDER=/opt/gitblit/data GITBLIT_HTTP_PORT=0 GITBLIT_HTTPS_PORT=8443 EOF # Create a systemd service file cat > /tmp/gitblit.service << EOF [Unit] Description=Gitblit managing, viewing, and serving Git repositories. After=network.target [Service] User=gitblit Group=gitblit Environment="ARGS=-server -Xmx1024M -Djava.awt.headless=true -jar" EnvironmentFile=-/etc/sysconfig/gitblit WorkingDirectory=/opt/gitblit ExecStart=/usr/bin/java \$ARGS gitblit.jar --httpsPort \$GITBLIT_HTTPS_PORT --httpPort \$GITBLIT_HTTP_PORT --baseFolder \$GITBLIT_BASE_FOLDER --dailyLogFile ExecStop=/usr/bin/java \$ARGS gitblit.jar --baseFolder \$GITBLIT_BASE_FOLDER --stop [Install] WantedBy=multi-user.target EOF # Finally copy the files to the destination and register the systemd unit. sudo su -c "cp /tmp/gitblit.defaults /etc/sysconfig/gitblit && cp /tmp/gitblit.service /etc/systemd/system/" sudo su -c "systemctl daemon-reload && systemctl enable gitblit.service && systemctl start gitblit.service"