Sign inSign up

meedsio/meeds

By meedsio

•Updated about 6 hours ago

Meeds.io docker image

Image
Web servers
Content management system
0

100K+

meedsio/meeds repository overview

⁠Meeds Docker image

Meeds Docker image support HSQLDB (for testing).

⁠Quick start

The prerequisites are :

  • Docker daemon version 12+ + internet access
  • 4GB of available RAM + 1GB of disk

The most basic way to start Meeds Server for evaluation purpose is to execute

docker run -v meeds_data:/srv/meeds -p 8080:8080 meedsio/meeds

and then waiting the log line which say that the server is started.

When ready just go to http://localhost:8080⁠ and follow the instructions.

⁠Configuration options

⁠Add-ons

Some add-ons are already installed in the Meeds image but you can install other one or remove some of the pre-installed one :

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
MEEDS_ADDONS_LISTNO-commas separated list of add-ons to install (ex: meeds-wallet,meeds-perk-store:2.0.x-SNAPSHOT)
MEEDS_ADDONS_REMOVE_LISTNO-commas separated list of add-ons to uninstall
MEEDS_ADDONS_CATALOG_URLNO-The url of a valid Meeds addons Catalog
⁠JVM

The standard Meeds Server environment variables can be used :

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
MEEDS_JVM_SIZE_MINNO512mspecify the jvm minimum allocated memory size (-Xms parameter)
MEEDS_JVM_SIZE_MAXNO3gspecify the jvm maximum allocated memory size (-Xmx parameter)
MEEDS_JVM_PERMSIZE_MAXNO256m(Java 7) specify the jvm maximum allocated memory to Permgen (-XX:MaxPermSize parameter)
MEEDS_JVM_METASPACE_SIZE_MAXNO512m(Java 8+) specify the jvm maximum allocated memory to MetaSpace (-XX:MaxMetaspaceSize parameter)
MEEDS_JVM_USER_LANGUAGENOenspecify the jvm locale for langage (-Duser.language parameter)
MEEDS_JVM_USER_REGIONNOUSspecify the jvm local for region (-Duser.region parameter)
MEEDS_JVM_LOG_GC_ENABLEDNOfalseactivate the JVM GC log file generation (location: $MEEDS_LOG_DIR/platform-gc.log) (5.1.0-RC12+)
⁠Frontend proxy

The following environment variables must be passed to the container to configure Tomcat proxy settings:

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
MEEDS_PROXY_VHOSTNOlocalhostspecify the virtual host name to reach Meeds Server
MEEDS_PROXY_PORTNO-which port to use on the proxy server ? if empty it will automatically defined regarding MEEDS_PROXY_SSL value (true => 443 / false => 8080)
MEEDS_PROXY_SSLNOfalseis ssl activated on the proxy server ? (true / false)
⁠Tomcat

The following environment variables can be passed to the container to configure Tomcat settings

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
MEEDS_HTTP_THREAD_MAXNO200maximum number of threads in the tomcat http connector
MEEDS_HTTP_THREAD_MINNO10minimum number of threads ready in the tomcat http connector
MEEDS_ACCESS_LOG_ENABLEDNOfalseactivate Tomcat access log with combine format and a daily log file rotation
⁠Data on disk

The following environment variables must be passed to the container in order to work :

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
MEEDS_DATA_DIRNO/srv/meedsthe directory to store Meeds Server data
MEEDS_FILE_STORAGE_DIRNO${MEEDS_DATA_DIR}/filesthe directory to store Meeds Server data
MEEDS_FILE_STORAGE_RETENTIONNO30the number of days to keep deleted files on disk before definitively remove it from the disk
MEEDS_UPLOAD_MAX_FILE_SIZENO200maximum authorized size for file upload in MB.
MEEDS_FILE_UMASKNO0022the umask used for files generated by Meeds
⁠Database

The following environment variables must be passed to the container in order to work :

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
MEEDS_DB_TYPENOhsqldbMeeds server uses hsqldb by default
MEEDS_DB_POOL_IDM_INIT_SIZENO5the init size of IDM datasource pool
MEEDS_DB_POOL_IDM_MAX_SIZENO20the max size of IDM datasource pool
MEEDS_DB_POOL_JCR_INIT_SIZENO5the init size of JCR datasource pool
MEEDS_DB_POOL_JCR_MAX_SIZENO20the max size of JCR datasource pool
MEEDS_DB_POOL_JPA_INIT_SIZENO5the init size of JPA datasource pool
MEEDS_DB_POOL_JPA_MAX_SIZENO20the max size of JPA datasource pool
MEEDS_DB_TIMEOUTNO60the number of seconds to wait for database availability before cancelling Meeds startup
⁠ElasticSearch

The following environment variables should be passed to the container in order to configure the search feature on an external Elastic Search server:

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
MEEDS_ES_SCHEMENOhttpthe elasticsearch server scheme to use from the Meeds Server jvm perspective (http / https).
MEEDS_ES_HOSTNOlocalhostthe elasticsearch server hostname to use from the Meeds Server jvm perspective.
MEEDS_ES_PORTNO9200the elasticsearch server port to use from the Meeds Server jvm perspective.
MEEDS_ES_USERNAMENO-the username to connect to the elasticsearch server (if authentication is activated on the external elasticsearch).
MEEDS_ES_PASSWORDNO-the password to connect to the elasticsearch server (if authentication is activated on the external elasticsearch).
MEEDS_ES_INDEX_REPLICA_NBNO0the number of replicat for elasticsearch indexes (leave 0 if you don't have an elasticsearch cluster).
MEEDS_ES_INDEX_SHARD_NBNO0the number of shard for elasticsearch indexes.
MEEDS_ES_TIMEOUTNO60the number of seconds to wait for elasticsearch availability before cancelling Meeds startup
⁠Mail

The following environment variables should be passed to the container in order to configure the mail server configuration to use :

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
MEEDS_MAIL_FROMNO[email protected]"from" field of emails sent by Meeds Server
MEEDS_MAIL_SMTP_HOSTNOlocalhostSMTP Server hostname
MEEDS_MAIL_SMTP_PORTNO25SMTP Server port
MEEDS_MAIL_SMTP_STARTTLSNOfalsetrue to enable the secure (TLS) SMTP. See RFC 3207.
MEEDS_MAIL_SMTP_USERNAMENO-authentication username for smtp server (if needed)
MEEDS_MAIL_SMTP_PASSWORDNO-authentication password for smtp server (if needed)
⁠JMX

The following environment variables should be passed to the container in order to configure JMX :

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
MEEDS_JMX_ENABLEDNOtrueactivate JMX listener
MEEDS_JMX_RMI_REGISTRY_PORTNO10001JMX RMI Registry port
MEEDS_JMX_RMI_SERVER_PORTNO10002JMX RMI Server port
MEEDS_JMX_RMI_SERVER_HOSTNAMENOlocalhostJMX RMI Server hostname
MEEDS_JMX_USERNAMENO-a username for JMX connection (if no username is provided, the JMX access is unprotected)
MEEDS_JMX_PASSWORDNO-a password for JMX connection (if no password is specified a random one will be generated and stored in /opt/meeds/conf/jmxremote.password)

With the default parameters you can connect to JMX with service:jmx:rmi://localhost:10002/jndi/rmi://localhost:10001/jmxrmi without authentication.

⁠Reward Wallet

The following environment variables should be passed to the container in order to configure Meeds Rewards wallet:

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
MEEDS_REWARDS_WALLET_ADMIN_KEYYESchangeThisKeypassword used to encrypt the Admin wallet’s private key stored in database. If its value is modified after server startup, the private key of admin wallet won’t be decrypted anymore, preventing all administrative operations
MEEDS_REWARDS_WALLET_ACCESS_PERMISSIONNO/platform/usersto restrict access to wallet application to a group of users (ex: member:/spaces/internal_space)
MEEDS_REWARDS_WALLET_NETWORK_IDNO1 (mainnet)ID of the Ethereum network to use (see: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md#list-of-chain-ids⁠)
MEEDS_REWARDS_WALLET_NETWORK_ENDPOINT_HTTPNOhttps://mainnet.infura.io/v3/a1ac85aea9ce4be88e9e87dad7c01d40https url to access to the Ethereum API for the chosen network id
MEEDS_REWARDS_WALLET_NETWORK_ENDPOINT_WEBSOCKETNOwss://mainnet.infura.io/ws/v3/a1ac85aea9ce4be88e9e87dad7c01d40wss url to access to the Ethereum API for the chosen network id
MEEDS_REWARDS_WALLET_TOKEN_ADDRESSNO0xc76987d43b77c45d51653b6eb110b9174acce8fbaddress of the contract for the official rewarding token promoted by Meeds

⁠How-to

⁠configure Meeds Server behind a reverse-proxy

You have to specify the following environment variables to configure Meeds Server (see upper section for more parameters and details) :

docker run -d \
  -p 8080:8080 \
  -e MEEDS_PROXY_VHOST="my.public-facing-hostname.org" \
  meedsio/meeds

You can also use Docker Compose (see the provided docker-compose.yml file as an example).

⁠see Meeds Server logs
docker logs --follow <CONTAINER_NAME>
⁠install Meeds Server add-ons

To install add-ons in the container, provide a commas separated list of add-ons you want to install in a MEEDS_ADDONS_LIST environment variable to the container:

docker run -d \
  -p 8080:8080 \
  -e MEEDS_ADDONS_LIST="meeds-wallet:2.0.x-SNAPSHOT" \
  meedsio/meeds

INFO: the provided add-ons list will be installed in the container during the container creation.

⁠list Meeds Server add-ons available

In a running container execute the following command:

docker exec <CONTAINER_NAME> /opt/meeds/addon list
⁠list Meeds Server add-ons installed

In a running container execute the following command:

docker exec <CONTAINER_NAME> /opt/meeds/addon list --installed
⁠customize some Meeds Server settings

All previously mentioned environment variables⁠ can be defined in a standard Docker way with -e ENV_VARIABLE="value" parameters :

docker run -d \
  -p 8080:8080 \
  -e MEEDS_JVM_SIZE_MAX="8g" \
  meedsio/meeds

Some eXo configuration properties⁠ can also be defined in an exo.properties file. In this case, just create this file and bind mount it in the Docker container :

docker run -d \
  -p 8080:8080 \
  -v /absolute/path/to/exo.properties:/etc/meeds/exo.properties:ro \
  meedsio/meeds

⁠Image build

The simplest way to build this image is to use default values :

    docker build -t meedsio/meeds .

This will produce an image with the current Meeds Server.

Tag summary

Content type

Image

Digest

sha256:815a840b6…

Size

509.6 MB

Last updated

7 days ago

docker pull meedsio/meeds