Deployment

SW360 Deployment Guides

Deploying sw360

For the deployment of the SW360, it is about deploying a Liferay server application. Please understand, that apart from trying sw360 for a short while, for deployments of SW360 in your organisation you will need knowledge about how to deploy Java server applications. Regardless of the deployment approach the following main elements need to be considered:

  • A Liferay Community Edition bundeled with Tomcat.
  • Install CouchDB (this is where SW360 stores all the source code, SPDX files and metadata), depending on your platform, there are a number of ways to use CouchDB. Currently, we tested with CouchDB 2.1.2, other versions of CouchDB may work as well.
  • For productive deployments, you do not want to go with the (Hypersonic) DB bundled with Tomcat, but install some normal DB server. We use PostgreSQL. The relation DB server is used by Liferay and should be thus compatible to it.
  • For searches, consider CouchDB Lucene CouchDb Lucene.
  • There is a number of additional “prerequisites” for SW360, more detailed in the Vagrant deployment setup.

In order to install sw360, you can choose between the following ways:

  • Use the Vagrant-based installation. Please refer to the sw360 vagrant project and the included Readme file. Basic prerequisites are
    • VirtualBox
    • Vagrant and some vagrant plugins
    • Presumeably a git client
  • You could install the sw360portal project natively on the machine. This will require more work in order to install the prerequisites. The above mentioned vagrant project documents very precisely what to do in order to install the sw360portal.
  • Checkout the docker suite sw360chores and generate a pre-built container where you can deploy the *.war files of sw360portal (both frontend and backend). Important this is work in progress now and likely not working out of the box.

Frequently Experienced Problems

  1. The most experienced confusion is about the Liferay setup user: the setup user cannot be used to work with the sw360 because the setup user is missing an organisation assignment. For every user an organisation assignment is required for sw360 to work properly. Unfortunately, you cannot assign a liferay setup user to an organisation. So you do need to import users or create users with organisation.

  2. Currently, you need Java 11, we test it with OpenJDK. Newer or older versions may work, but currently, reports tell that for example Java 8 does not work.

  3. Thrift: for compiling the software you need to install Apache Thrift (a command line tool). We test with version 0.13.

General Topcis

Special Topics

After installing sw360 more topics may include:

  1. Special Coverage of Country Codes, when countries are displayed, then it uses country codes in the DB
  2. How to export data and import it to a new instance
  3. How to migrate an existing sw360portal to a new instance
  4. Using costco to modify the couchdb database

Bare Metal

SW360 Bare Metal Deployment

Upgrade from previous instances

SW360 Bare Metal Deployment

Legacy Deployment Guides

SW360 Legacy deployment guides

Authorization Concept

Describe different roles of authorization concepts on SW360

Configurable Property Keys

SW360 Configurable property keys

Configuring Country Codes

SW360 provides a feature for showing country codes and country names

CVE Scheduler

SW360 CVE Schedules

Docker Deployment

Deploy SW360 with Docker

Export and Import

SW360 Export and Import

Security

SW360 security checklist pre and post deployment

Special Deployment Guides

System Requirements

SW360 minimal system requirements based on system class

Last modified June 28, 2022: feat(docs): Add docs from main sw360 (c61ddf9)