What ProjektServer 4 is about

Last modified by Christian Reiber on 2021/11/15 11:52

"Project Server" is a Unix-based server for the installation and the operation of a tool set, primarly targeted towards a software engineering environment.

Purpose

Using the proper tools has become a critical success factor when developing software in teams. ProjektServer 4 (or PS4 for short) is a toolkit for a software project infrastructure. It allows easy deployment of most tools we usually need in our projects. The goal is to make setup and maintenance of those tools as hassle-free as possible, including the security aspcect of such a toolstack. This frees up time usually swallowed by the various tasks around keeping the project infrastructure going.

Design

Each PS4 instance is one server, usually a virtual machine. All tools run on this single server. Having them all in one place makes many tasks easy, think alone of connectivity between these tools. However, installing lots of software packages on a single serer often leads to software congestion and a hardly trackable maze of dependencies. To avoid this we use container technology to keep the different software packages well separated. They all feel as if they have a server on its own but in fact they simply execute in their containers which are driven and managed by Docker.

There is an additional benefit when ventering all tools on one server: There is one single entry point when accessing the tools from the network, usually through a web UI. So opening up the tools to the Internet or securing access through HTTPS and certificates is much easier. To distribute the traffic to the proper destination the stack name is contained in the URL just after the hostname. So to access the version control system you may use https://your.projectserver.msg.team/vcs-gitea. Additionally, the server's homepage serves as easy to use switchboard.

Terms of Use

Update Policy

Terminology

In this wiki you will encounter a few terms which may need some explanation:

Project Infrastructure
is our name for the set of tools you use for running your project.
Stack
A stack is our name for a self-contained software package which provide a single service with its own UI, persistence and so on. Such a package may be comprised of one or more container images which are stacked upon another - that's where the term is derived from. There are stacks which need just one container, others need more. If for example a tools need a relational database for its persistence the tool itself and the database are usually separated into two different stacks. The docker-stack command is there to hide the complexity of multiple containers and let each stack being treated a one service.
Tags:
Created by Christian Reiber on 2019/10/10 16:42

Navigation