Public | Automated Build

Last pushed: 10 months ago
Short Description
Mamute is a Q&A Engine - This image is based on java:8-jdk and uses Mamute 1.5.0
Full Description

Mamute

The image is based on the java:8-jdk base image, fetches Mamute version 1.5.0, extracts and places a startup script file that does all the magic.

Purpose of container

Provide an easy way to deploy Mamute in production with very easy configuration options.
Mamute stores it's data in a MySQL.

Attention!

MySQL version 5.7.4 works well with Mamute 1.5.0 any version above 5.7.4 will fail and break and cause the polar ice caps to melt

Eager to try it?

Start a MySQL container:

docker run -d \
    --name mysql-mamute \
    -e MYSQL_ROOT_PASSWORD=secretpassword \
    -e MYSQL_DATABASE=mamute \
    -e MYSQL_USER=mamute \
    -e MYSQL_PASSWORD=mamute \
    mysql:5.7.4

.
Start a Mamute container:

docker run -d \
    --name mamute \
    --link mysql-mamute:mysql \
    -e MAMUTE_PORT=8080 \
    -p 8080:8080 \
    jbasila/mamute:1.5.0

.
This is enough to test Mamute on localhost on port 8080. Navigate to http://localhost:8080.

Environment Variables

To configure the Mamute properly, the following environment variables can be used.

Mamute behaviour

The following will control the behavior of Mamute execution:

Environment Name Default Value Description
MAMUTE_HOST localhost Host Name/IP Address of Mamute (external IP/FQDN)
MAMUTE_PORT 80 Internal port to use, should not be changed
MAMUTE_ENABLE_SIGNUP true Enable signup for users. When using LDAP consider to disable it
MAMUTE_ALLOW_QUESTION_DELETE true Allow owner/moderator to delete own question or full thread (moderator)
MAMUTE_ENABLE_SOLR true Enable SOLR Indexing engine for enabling searching the database
MAMUTE_ATTACHMENTS_PATH /tmp Location where attachments are stored, it's recommended to change it

MySQL Database Configuration

The following control the parameters of the MySQL database to connect to and store the data in:

Environment Name Default Value Description
DB_HOST mysql Host Name/IP Address of the MySQL server to use
DB_PORT 3306 The MySQL port to use
DB_USER mamute The database user to use
DB_PWD mamute The password of the database to use
DB_NAME mamute The database name to use to store Mamute data

Mail Server Configuration

The following control the mail server configuration:

Environment Name Default Value Description
MAIL_SERVER smtp.sample.server Host Name/IP Address of the mail server
MAIL_PORT 25 SMTP server port to use
MAIL_USE_TLS false Enable the use of TLS
MAIL_USERNAME user The username to use for authenticated mail server
MAIL_PASSWORD password The password to use for authenticated mail server
MAIL_FROM no-reply@null.com The e-mail address to use in the automated e-mails
MAIL_FROM_NAME "Mamute System" The e-mail name to use for automated e-mails

LDAP Authentication Configuration

Environment Name Default Value Description
LDAP_PORT 389 LDAP port
LDAP_USER user LDAP DN to use for authentication
LDAP_PASS pass LDAP password to use for authentication
LDAP_USERDN "OU=Users,DC=company,DC=com" The LDAP branch to search users in
LDAP_GROUP_ATTR memberOf The attribute to use for checking moderator gorup in
LDAP_MODERATOR_GROUP "CN=Moderators,OU=Groups,DC=company,DC=com" The membership that grants moderator access
LDAP_USE_SSL false Enable the use of SSL
Docker Pull Command
Owner
jbasila
Source Repository

Comments (2)
pleymor
a month ago

After about a year (with version 1.4.0), the application stops working with this message in logs:

[Note] Your password has expired. To log in you must change it using a client that supports expired passwords.

The solution is :

docker exec -it mamute_db_1 bash
mysql -u root -p --connect-expired-password (enter secretpassword)
SET PASSWORD = PASSWORD('secretpassword');
exit
docker exec -it mamute_db_1 bash
mysql -u mamute -p --connect-expired-password (enter mamute)
SET PASSWORD = PASSWORD('mamute');
pleymor
a year ago

Example of docker-compose.yml :

version: '2'
services:
  db:
    image: mysql:5.7.4
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=secretpassword
      - MYSQL_DATABASE=mamute
      - MYSQL_USER=mamute
      - MYSQL_PASSWORD=mamute
    ports:
      - "3306:3306"
    volumes:
      - /path/of/docker/containers/mamute/data:/var/lib/mysql

  app:
    depends_on:
      - db
    image: jbasila/mamute:1.4.0
    restart: always
    environment:
      - MAMUTE_PORT=8080
    ports:
      - "8080:8080"
    links:
     - db:mysql