Giter Club home page Giter Club logo

deploy-archipelago-classic's Introduction

Deploy-archipelago-classic

If you need to deploye a classic archipelago with no/low modification, this is the good place to be. However, if you want to custom your own archipelago use this repos https://github.com/data-players/deploy-archipelago-custom

Introduction

First make sur you get docker, docker-compose and git install on your linux server. Make sure you have an usable domain name, then create 3 sub-domain :

  • middleware (Exemple : data.myDomain.com)
  • frontend (Exemple : myDomain.com)
  • authentification (Exemple login.myDomain.com)

1 Fork the Deploye repo

Fork this project to get your own version and work on it.

Local test

You can test localy on your device by using the .dev docker-compose :

docker-compose -f docker-compose-dev.yaml up

Frontend on http://localhost:4000/ Middleware on http://localhost:3000/ Fuseki database on http://localhost:3030 (user: admin, password : admin) keycloak on http://localhost:8080 (Keycloak is a custom OIDC) You will get an error when creating some organisation :

index.js:209 Error: @semapps/geo-components : No access token in mapbox configuration

This is because MapBox Access Token is not define in the docker-compose file. This is not really a problem for local testing.

2 Deploying on internet

Some variables in the docker-compose file are default values. You need to replace them with yours to make it works.

Of course you have to set up your domain name and sub domain name in your domain provider to make it works !

3 Launch your archipelago

Launch your app by making a

docker-compose up -d

If you need to force dockers to restart add : --force-recreate

Check in your favorite browser if it's work.

Before testing your new app, you must configurate your OIDC to autorize connexion from your domain name "data" (See environement variable line 67 above). Go to https://login.mydomain.com/auth and click on administration console. Connect with admin and "myKeycloakPassword". On the left panel, click on Clients, then semapps as client ID. If you scroll down, you must see a line "Valid Redirect URIs. Add your middleware address + "/" (exemple : https://data.mydomain.com/)

Customisation

Custom frontend

If you want minor frontend change you can follow this step. Exemples : App Title, App Bar Color, Tab title and favicon. Use the addOn directory in the repo to replace logo192/512.png, App.js, index.html and favicon.ico. logo192.png : App Bar Logo, change it by your own logo (same name). logo512.png : Ressource Logo, change it by your own (same name). App.js : App Bar title, replace "MyArchipelago" line 23. index.html : tab bar title, replace "MyArchipelago" line 18. favicon.ico : tab bar icon, replace the file by your own (same name).

You can change the theme by owervriting customTheme.js, if you just need to change the App Bar color, replace css color "#28ccfb" line 8 by your selected color.

You can easily change other file and custom your archipelago from this directory. But if you begin to change everithing, maybe you need a custom deploye. More optimised.

Custom middleware

Of course you can also change middleware files by adding them into the addOn/middlewaredirectory. Same advise as frontend, rememeber that if you need more than simple changes, you probably need a custom archipelago.

Custom Authentificator

Do not change anything

You can perfectly use the custom keycloak installed in the docker-compose.

Use Les commun's OIDC
Data-Players OIDC

It is possible to use the les commun's OIDC, to doo it, you have to replace :

Les commun Custom OIDC

You need to contact les communs if you need your own les commun's OIDC client. Ask in the rocket Chat for a "les communs" admins. https://chat.lescommuns.org/channel/accueil

Other authentification method
JWT

https://www.npmjs.com/package/wait-on

CAS

https://semapps.org/docs/middleware/auth

1 tel quel 2 les commun 3 d'autre system d'authentification que oicd, jwt / cas

Restart

Don't forget to restart

docker-compose up -d --force-recreate

deploy-archipelago-classic's People

Contributors

bastiensig avatar simonlouvet avatar

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.