README.md 4.2 KB

Supported tags and respective Dockerfile links

What is Elgg ?

Elgg is an award-winning social networking engine, delivering the building blocks that enable businesses, schools, universities and associations to create their own fully-featured social networks and applications.

For more information and related for Elgg, please visit www.elgg.org. logo

How to use this image

Before you start you need to have installed:

  1. Get the elgg and install its dependencies:

    $ git clone -b 1.12 https://github.com/Elgg/Elgg.git
    $ cd Elgg
    
    $ composer global require "fxp/composer-asset-plugin:~1.1.1"
    $ composer install
    
  2. Create file docker-compose.yml at your project directory, for running multi-container applications with docker-compose:

    web:
    image: keviocastro/elgg-docker:1.12
    ports:
    - "8000:80" #If you change the port, you must also change the environment variable ELGG_WWW_ROOT
    links:
    - mysql
    volumes:
    - .:/var/www/html/
    environment:
    MYSQL_USER: root
    MYSQL_PASS: root-pass
    ELGG_USERNAME: admin
    ELGG_PASSWORD: admin-pass
    ELGG_WWW_ROOT: http://localhost:8000
    mysql:
    image: mysql:5.6  
    environment:
    MYSQL_DATABASE: elgg
    MYSQL_ROOT_PASSWORD: root-pass
    
    $ docker-compose up -d
    
  3. Install the Elgg:

    $ docker exec elgg_web_1 /elgg-docker/elgg-install.sh
    

    conflicts and then commit the result.

  • elgg_web_1 is the container name that was assigned to your web server container. This name may be different, if you created a folder with a different name "Elgg". To see the names of the containers running, run: docker-compose ps or docker ps

Visit your Elgg site: http://localhost:8000/

Environment Variables

When you start the elgg-docker image, you can adjust the configuration of the elgg instance by passing one or more environment variables. The default values are in Dockerfile file: Dockerfile

You can modify the parameters by passing one or more environment variables in file docker-compose.yml

Example:

web:
  image: keviocastro/elgg-docker:1.12
  environment:
    MYSQL_USER: elgg
    MYSQL_PASS: elgg-pass
    ELGG_DISPLAY_NAME: my-name
    ELGG_DB_PREFIX: my-elgg
    TIMEZONE: America/Sao_Paulo
  • TIMEZONE The timezone of the server and php
  • MYSQL_USER The DB username to create
  • MYSQL_PASS The DB password to set on the created user
  • ELGG_DB_HOST The DB host Elgg will use
  • ELGG_DB_USER The DB user Elgg will use
  • ELGG_DB_PASS The DB password Elgg will use
  • ELGG_DB_PREFIX Elgg's DB prefix
  • ELGG_DB_NAME The name of the DB Elgg will use
  • ELGG_SITE_NAME Elgg's site name
  • ELGG_SITE_EMAIL Elgg site email address
  • ELGG_WWW_ROOT Elgg's www_root (Don't change this unless you modify run.sh and the installation)
  • ELGG_DATA_ROOT The data_root for Elgg (/media)
  • ELGG_DISPLAY_NAME The display name for the admin user
  • ELGG_EMAIL The email address for the admin user (must be a well-formed, though not necessarily value, address)
  • ELGG_USERNAME The username of the admin user
  • ELGG_PASSWORD The password for the admin user
  • ELGG_PATH The location Elgg is installed (Don't change this unless you modify run.sh and the installation)
  • ELGG_SITE_ACCESS The default site access
  • DEBUG If true, enable xdebug and vim editor
  • MYSQL_DATABASE_INITIAL_DATA If true, should be informed of the file name that contains the dump to be restored in the database. The file name must be the address for the directory /var/www/html/. Example: /var/www/html/deploy/dump-initial-data.sql
  • PHP_DEFAULT_LOCALE Set locale information for PHP