Skip to content

Latest commit

 

History

History
146 lines (98 loc) · 9.12 KB

EZMASTERIZED.md

File metadata and controls

146 lines (98 loc) · 9.12 KB

How to EzMasterize an application?

Dockerfile modifications

  • Your application must have a web server (mandatory).
  • Your application can use a json or text configuration file and a data folder (optional)

For example your dockerfile could look like this one:

FROM ubuntu or node or ...

#...

# 3000 is your web server listening port
EXPOSE 3000
# Then create the /etc/ezmaster.json in your docker image.
# It will tell to ezmaster where is your web server (ex: port 3000),
# where is your JSON configuration file,
# and where is your data folder
# "configType" value can be "json" or "text" depending on your config format
RUN echo '{ \
  "httpPort": 3000, \
  "configPath": "/yourapp/config.json", \
  "configType": "json", \
  "dataPath": "/yourapp/data/", \
  "technicalApplication": false \
}' > /etc/ezmaster.json

# ...

/etc/ezmaster.json explanation:

  • httpPort must be the listening HTTP port used by your application
  • configPath must be where is located the configuration file used by your application. This file will be editable through the ezmaster's internal text editor
  • configType must be the mime-type used by your the configuration file of your application (text or json)
  • dataPath must be where data are stored by your application. This folder will be shared through file upload and webdav ezmaster systems.
  • technicalApplication flag should be set to true if this is a technical application not designed for end-users (ex: database). The instances flagged this way will be filtered by default in the instances list.

Dockerfile example of ezmasterized applications

Environment variables available to your application

When ezmaster launches your application, it provides few environment variables to this instance:

  • EZMASTER_MONGODB_HOST_PORT: (will be deprecated in ezmaster v5), ex: ezmaster_db:27017
  • EZMASTER_VERSION: the current version of ezmaster (ex: 4.3.1)
  • EZMASTER_TECHNICAL_NAME: the identifier of the instance within ezmaster (ex: myapp-usage-1)
  • EZMASTER_LONG_NAME: a free label for the instance (ex: This instance is used for the customer C, and maintained by Matt)
  • EZMASTER_APPLICATION: the complete tag of your application's docker image (ex: inistcnrs/ezmaster-hexo:1.0.3)
  • EZMASTER_PUBLIC_URL: if you use ezmaster's reverse proxy feature (using EZMASTER_PUBLIC_PROTOCOL and EZMASTER_PUBLIC_DOMAIN), it is the URL publicly available to your internet users (ex: http://my-app-usage.public.dom, when EZMASTER_PUBLIC_DOMAIN's value is public.dom)
  • DEBUG: this variable maybe useful to debug your application running via ezmaster (using the debug module), and logging your instance (via docker logs myapp-usage-1)
  • http_proxy, https_proxy, no_proxy: these variables are taken from ezmaster's environment, and allow your application to use your proxy. They can be empty (especially if you don't use a proxy)

EzMasterized application list

This formated list will be used by ezmaster itself to dynamicaly display a dropdown list when the administrator want to add a new application. Do not hesitate to update the list but you have to respect this simple formating.

ezmaster-webserver

  • A basic web server used to host static files
  • Docker Github

ezmaster-phpserver

  • PHP and Apache web server for EzMaster (usefull for Wordpress)
  • Docker Github

ezmaster-mysql

  • MySQL for ezmaster
  • Docker Github

ezmaster-hexo

  • A basic static blog system
  • Docker Github

ezmaster-jekyll

  • Jekyll for ezmaster! (a static web site generator)
  • Docker Github

ezmaster-mongo

  • MongoDB for ezmaster with an auto dump feature
  • Docker Github

ezmaster-virtuoso

  • Virtuoso (triple store) for ezmaster
  • Docker Github

lodex

  • Linked Data CMS with charts and diagrams inside
  • Docker Github

ezpaarse

  • ezPAARSE can ingest your (proxy) log files and show how users access suscribed electronic ressources.
  • Docker Github

ezmaster-web-term

  • Web terminal used for debugging ezmaster stuff
  • Docker Github

ezmaster-automaton

  • Can be used to auto upgrade an ezmaster application/instance
  • Docker Github

ezmaster-globs

  • To backup Github repositories
  • Docker Github

bibliomap-viewer

  • Bibliomap HTML viewer
  • Docker Github

bibliomap-harvester

  • Bibliomap package used to listen for ezproxy logs
  • Docker Github

bibliomap-enricher

  • Bibliomap package used to realtime (streaming) parse your ezproxy logs with ezpaarse
  • Docker Github

ezvis

  • A dashboard to visualize a synthesis on a structured corpus, using several charts (pies, histograms, ...)
  • Docker Github