Installation

idaas.nl is an identity as a service solution. You do not need to install it yourself. But it is possible to run idaas.nl on premise. This section describes how.

Demo Environment

A prerequisite to start the demo environment is a system with docker and bash.

Download the source code from github.com/idaas-nl/idaas.nl.

Run the commands listed below and access your tenant via http://login.notidaas.nl

Note: notidaas.nl is a special domain. This domain and all subdomains point to localhost.

source .env.demo
docker run --rm \
    -u "$(id -u):$(id -g)" \
    -v $(pwd):/var/www/html \
    -w /var/www/html \
    laravelsail/php81-composer:latest \
    composer install --ignore-platform-reqs
./vendor/bin/sail up -d
./vendor/bin/sail artisan migrate
./vendor/bin/sail artisan tenant:master login youremail@example.com

The following commands are available. Prefix these commands with ./vendor/bin/sail artisan in order to run these.

tenant:delete         List all tenants (including the master tenant)
tenant:garbage        Remove expired module results and access tokens
tenant:list           List all tenants (including the master tenant)
tenant:master         Create a new master
tenant:new            Create a new tenant

In the demo environment, mails are intercepted by MailHog and are visible via http://localhost:8025

The S3 server is provided by MinIO and accessible via http://localhost:8900

Production Environment

There are many possibilities to set up a production environment. Because idaas.nl is a Laravel application, you can benefit from the flexibility this framework offers. The config files in the config/ folder show what can be configured.

PHP Application server

To simplify scaling it is possible to run idaas.nl on a serverless-platform like Laravel Vapor. But is is also possible to run it on most other serverless platforms, although that may require a little extra effort.

Check Laravel's documentation for other deployment scenarios.

Database server

Use one of the following databases (or compatible).

  • MySQL 5.7+
  • PostgreSQL 9.6+
  • SQLite 3.8.8+
  • SQL Server 2017+

To simplify scaling, you may want to consider Amazon Aurora, Google's Cloud SQL or Azure SQL.

S3-Compatible Object Storage

Any S3-Compatible Object Storage can be used. Specifically, idaas.nl uses a functionality referred to as uploading objects using presigned URLs.

Use for example MinIO, DigitalOcean Spaces, or Amazon S3.

Mail provider

Either use SMTP, Mailgun, Postmark, or Amazon SES.