Giter Club home page Giter Club logo

plugin-id's Introduction

๐Ÿ”— Ligoj - API Docker API - UI Docker UI

alt text FOSSA Status

A web application to centralize the related tools of your projects, a dynamic connection management with security and data collection.

More technical details can be found in the subdirectories ligoj-api and ligoj-ui.

Coverage Codacy Badge Maintainability CodeFactor License Sauce Test Status

Big Thanks

Cross-browser Testing Platform and Open Source <3 Provided by Sauce Labs

Get started

curl https://raw.githubusercontent.com/ligoj/ligoj/master/docker-compose.yml -o docker-compose.yml -s && docker-compose up

Open your browser at : Ligoj Home User/password for administrator role : ligoj-admin and ligoj-user for a regular user

You can install the plug-ins for RBAC security : plugin-id,plugin-id-ldap,plugin-id-ldap-embedded

Dev section

See Wiki page

See each container ligoj-api and ligoj-ui.

License

FOSSA Status

Installation guides

One script rebuild and run

Docker, compose and git install, then build, then run.

sudo yum install -y docker git
sudo pip3 install docker-compose
sudo usermod -a -G docker ec2-user
sudo systemctl enable docker.service
sudo systemctl start docker.service
git clone https://github.com/ligoj/ligoj.git
cd ligoj
mkdir -p "$(pwd)/.ligoj"
echo "LIGOJ_HOME=$(pwd)/.ligoj
PODMAN_USERNS=keep-id" > .env
docker-compose -p ligoj up -d --build
open http://localhost:8080/ligoj

Publish to AWS ECR

AWS_ACCOUNT="$(aws sts get-caller-identity --query "Account" --output text)"
AWS_REGION="$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone | sed 's/\(.*\)[a-z]/\1/')"
ECR_REGISTRY=$AWS_ACCOUNT.dkr.ecr.$AWS_REGION.amazonaws.com
docker image tag ligoj/ligoj-api:4.0.0 $ECR_REGISTRY/ligoj/ligoj-api:4.0.0
docker image tag ligoj/ligoj-ui:4.0.0 $ECR_REGISTRY/ligoj/ligoj-ui:4.0.0
aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin $ECR_REGISTRY
docker push $ECR_REGISTRY/ligoj/ligoj-api:4.0.0
docker push $ECR_REGISTRY/ligoj/ligoj-ui:4.0.0

Advanced deployments with compose

Custom Docker Compose variables

Variable Service Phase Default Note
LIGOJ_HOME api RUN /home/ligoj To map a persistent home
LIGOJ_REGISTRY * BUILD To push to your registry. When provided, must ends with /.
LIGOJ_VERSION app-* BUILD (version of application)
LIGOJ_WEB_PORT web RUN 8080 Internal WEB port
LIGOJ_PORT web RUN 8080 Exposed port
LIGOJ_API_JAVA_OPTIONS api RUN -Duser.timezone=UTC
LIGOJ_WEB_JAVA_OPTIONS web RUN -Duser.timezone=UTC -Dsecurity=Rest
LIGOJ_API_CRYPTO api RUN -Dapp.crypto.password=public Double encryption feature, see core-context-common.xml
LIGOJ_WEB_CRYPTO web RUN -Dapp.crypto.password=public Double encryption feature, see core-context-common.xml
LIGOJ_API_CUSTOM_OPTS api RUN `` Additional Java properties LIGOJ_API_JAVA_OPTIONS
LIGOJ_WEB_CUSTOM_OPTS web RUN `` Additional Java properties, merged with LIGOJ_WEB_JAVA_OPTIONS
LIGOJ_BUILD_PLATFORM app-* BUILD linux/amd64 Docker build platform.
LIGOJ_TARGET_PLATFORM app-* BUILD linux/amd64 Docker run platform.

Sample .env file:

LIGOJ_HOME=/var/data/ligoj
PODMAN_USERNS=keep-id
LIGOJ_BUILD_PLATFORM=linux/arm64
LIGOJ_TARGET_PLATFORM=linux/arm64
LIGOJ_REGISTRY=nexus.sample.local/
LIGOJ_API_PREPARE_BUILD='export HTTP_PROXY=192.168.0.254:8000 && export HTTPS_PROXY=192.168.0.254:8000'

Custom Docker Compose discovered scripts

Source Service Destination Phase Note
prepare-build.sh app-* WORKDIR BUILD Additional Bash commands executed inside the builder , before mvn but after MAVEN_OPTS is set.
prepare-run.sh app-* WORKDIR RUN Additional Bash commands executed inside the final image, before java
.m2/ app-* /root/.m2/ BUILD Custom Maven configuration: proxy, mirror, dependencies,...

Sample prepare-build.sh file:

export http_proxy=192.168.0.254:8000
export https_proxy=192.168.0.254:8000

Persistent Ligoj home

By default, with Docker compose, the home is persistent it contains:

  • plugins installation
  • logs of containers
  • database data
mkdir -p "$(pwd)/.ligoj"
echo "LIGOJ_HOME=$(pwd)/.ligoj
PODMAN_USERNS=keep-id" > .env

Use MySQL or PostgreSQL databases

By default, the Docker compose overrides is loaded from compose.override.yml and contains MySQL configuration.

For MySQL, the docker-compose command is:

export BUILDAH_FORMAT=docker
podman-compose -p ligoj build
podman-compose -p ligoj -f compose.yml  -f compose.override.yml up -d
podman-compose -p ligoj down

For PostgreSQL, the docker-compose command is:

export BUILDAH_FORMAT=docker
podman-compose -p ligoj build
podman-compose -p ligoj -f compose.yml  -f compose-postgres.yml up -d
podman-compose -p ligoj -f compose.yml  -f compose-postgres.yml down

API Description

API is only available from a valid session.

Plugin management

Ligoj is massively based on plugin management.

All plugins are deployed in Maven central

To build and deploy a plugin, more information are available in plugin-api repository.

plugin-id's People

Contributors

fdaugan avatar haithemsouala avatar ligoj avatar pcieslar avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

plugin-id's Issues

Ability to notify or not imported users

Hi,

I suggest a new feature that gives the ability to switch off notifications for bulk import operation.
Use case:
I've 10k users to import, and i don't want (for X reason) to send 10K mails, so with a simple checkbox i can always create users w/o notify them.

Change the user name displayed in right corner in UI for mail

Currently the user login is displayed in the UI (upper left corner), for some organization, the login is meaningless. It's the case of LDAP and AWS Cognito.
Add an option to change the display mode of this part:

  • id (default)
  • mail
  • mail-no-domain, only the left part of the mail

Save the query filters in /#/id URL

Save the query filters in /#/id URL
Filters:

  • generic string filter
  • company
  • group

This navigation (back) will restore the previous filters.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.