Skip to content

Bare-Metal Installation

Introduction

This guide will walk you through setting up the application directly on your machine, without containerization, ensuring full control over the environment and resource allocation.

Running on bare metal allows for direct hardware access, optimized performance, and customization tailored to your infrastructure needs. This method is ideal for scenarios where virtualization overhead must be minimized or when deploying on dedicated hardware.


Step-by-Step

Clone Repository

Clone the GIT repository of the OBMS core application to the machine.

git clone https://github.com/OBMS-Open-Business-Management-Software/core.git

Configure Webserver

Please visit the Laravel Documentation for an extensive guide on how to deploy Laravel applications to a webserver.

Install Dependencies

Install the Composer dependencies.

composer install

Install the NodeJS package dependencies.

npm install

Configure Environment

Copy and modify the environment variables. A valid database and redis cache connection need to be provided.

cp .env.example .env

Generate the Application Keys

Generate an encryption key.

php artisan key:generate

Generate a keypair for Laravel Passport (needed for OAUTH clients to work).

php artisan passport:keys

NOTE: The keypair for Laravel Passport can be set per instance by overriding the parameters passport.private_key and passport.public_key within the admin UI.

Migrate Database

Migrate the database schema.

php artisan migrate --no-interaction --force

Generate OAUTH Clients

Generate set of OAUTH clients needed for API authentication.

php artisan passport:install --no-interaction

Deploy Workers

Please visit the Laravel Horizon Documentation for an extensive guide on how to deploy Laravel Horizon to a server.