Debian/Ubuntu
Installation for debian based linux distributions
Quickstart
The following code block will configure an apt repository for scm-manager and install it.
echo 'X-Repolib-Name: SCM-Manager
Enabled: yes
Types: deb
URIs: https://packages.scm-manager.org/repository/apt-v2-releases/
Suites: stable
Components: main
Architectures: all
Signed-By: /etc/apt/keyrings/scmm-archive-keyring.gpg' | sudo tee /etc/apt/sources.list.d/scm-manager.sources
sudo mkdir -p /etc/apt/keyrings
sudo chmod 0755 /etc/apt/keyrings
sudo sh -c 'curl -s https://keys.openpgp.org/vks/v1/by-fingerprint/23D2625B235E25A4719875A2975922F193B07D6E | gpg --dearmor > /etc/apt/keyrings/scmm-archive-keyring.gpg'
sudo chmod +r /etc/apt/keyrings/scmm-archive-keyring.gpg
sudo apt-get update
sudo apt-get install scm-server
After the installation of the package scm-manager will automatically start on port 8080. There you have to create your initial admin account with an initialization token which you can find inside your server logs. You can find more detailed information here: first startup
Detailed installation
To install SCM-Manager as a debian package (.deb), we have to configure a third-party APT repository.
Create a file at /etc/apt/sources.list.d/scm-manager.sources
with the following content:
echo 'X-Repolib-Name: SCM-Manager
Enabled: yes
Types: deb
URIs: https://packages.scm-manager.org/repository/apt-v2-releases/
Suites: stable
Components: main
Architectures: all
Signed-By: /etc/apt/keyrings/scmm-archive-keyring.gpg' | sudo tee /etc/apt/sources.list.d/scm-manager.sources
We are using the deb822 style format supported by apt itself since version 1.1. Previous versions ignore such files with a notice message. In this case, the one-line-style format can be used:
echo 'deb [arch=all signed-by=/etc/apt/keyrings/scmm-archive-keyring.gpg] https://packages.scm-manager.org/repository/apt-v2-releases/ stable main' | sudo tee /etc/apt/sources.list.d/scm-manager.list
This will add the apt repository of the scm-manager stable releases to the list of your apt repositories. To ensure the integrity of the debian packages, we have to import the gpg key for the repository. In addition, the keyrings directory should be created beforehand, since it does not always exist by default:
sudo mkdir -p /etc/apt/keyrings
sudo chmod 0755 /etc/apt/keyrings
sudo sh -c 'curl -s https://keys.openpgp.org/vks/v1/by-fingerprint/23D2625B235E25A4719875A2975922F193B07D6E | gpg --dearmor > /etc/apt/keyrings/scmm-archive-keyring.gpg'
sudo chmod +r /etc/apt/keyrings/scmm-archive-keyring.gpg
After we have imported the gpg key, we can update the package index and install scm-manager:
sudo apt-get update
sudo apt-get install scm-server
The package will configure a systemd service called scm-server.
The service is enabled and started with installation of the package.
After the service is started, scm-manager should be reachable on port 8080
The default username is scmadmin
with the password scmadmin
.
Troubleshooting
If the service does not start have a look at the systemd journal:
journalctl -u scm-server
For further information have a look at the scm-manager logs at /var/log/scm
.
Home directory
SCM-Manager stores all its information in its home directory at /var/lib/scm
.
Configuration
Most of the configuration of scm-manager can be configured via the web interface. But the startup and the web server configuration must be configured via configuration files. The default configuration of the debian package should match 90% of the use cases, if you have to change something ensure you know what you are doing.
To configure the startup have a look at /etc/default/scm-server
.
To configure logging and the webserver, /etc/scm
is the right place.