Skip to content

Getting started

Pierre Gauthier edited this page Jul 23, 2024 · 4 revisions

Installing Gally

General requirements

In order to run Gally, you will need:

  • Docker (>= 20.10) with the compose plugin
  • 2 GB of available RAM/swap for the NodeJs build phase
  • 10 GB of free disk space in order to build the docker images
  • Disable/Shutdown any local service running on a concurrent exposed port of the application services
    • 80/tcp (HTTP), 443/tcp (HTTPS), 8080/tcp : Apache, Nginx or any HTTP running server

Run the application with docker on dev environment

Local env requirements

In order to run Gally, you will need:

  • Disable/Shutdown any local service running on a concurrent exposed port of the application services
    • 5432/tcp : PostgreSQL
    • 80/tcp (HTTP), 443/tcp (HTTPS), 8080/tcp : Apache, Nginx or any HTTP running server
    • 6379/tcp : Redis server
    • 9200/tcp : Elasticsearch

Run the application with docker on dev environment

  1. Fork the repository https://github.com/Elastic-Suite/gally
  2. Clone your repository: git clone [email protected]:USERNAME/gally.git
  3. Go in the project directory: cd gally
  4. Build and run the application: make up This command
    • build the docker images, containers and volumes containers
    • copy the sources into the containers and configure their services
    • build the frontend NodeJS/React application
    • install the Gally database
  5. Add Gally sample data (catalogs made out of products and categories) : make fixtures_load
    • answer “yes” to the first question
    • answer “y” to the second question
  6. Create a new admin account with: make sf c=gally:user:create (available roles are ROLE_ADMIN and ROLE_CONTRIBUTOR)
  7. Wait a few minutes for the frontend application to be build (see I have a blank page on https://localhost/)

Add premium bundles

  1. Get your personal gally premium composer credentials
  2. Choose the version that match your gally standard version (use the same version for premium bundles)
  3. Add premium composer repository
    make composer c="config repositories.gally-premium composer https://elasticsuite.repo.packagist.com/[YOUR_CUSTOMER_NAME]/"
    
  4. Require premium bundles
    make composer c="require gally/gally-premium:[REQUIRED_VERSION]"
    
    Use the word "token" as username and your token as password
    Authentication required (elasticsuite.repo.packagist.com):
       Username: token
       Password: [Your Gally premium token]
    
  5. Run premium migration make migrate
  6. Add Gally sample data (catalogs made out of products and categories) : make fixtures_load (⚠️ this will reset your development env database)
    • answer “yes” to the first question
    • answer “y” to the second question
  7. Clean caches make cc, make varnish_flush and clean your browser cache
  8. Commit the changes of the updated files:
    api/composer.json
    api/composer.lock
    api/config/bundles.php
    api/symfony.lock
    

Gally urls

  • Back-office: https://localhost/

    The back-office per se is protected by a login screen. Use the credentials defined at the step 6 (“Create a new admin account”) to access it. After logging in, the user is redirected to the “Settings” dashboard which displays information about the application data: catalogs and locales which act both as search scopes and product and categories containers.

    Gally login screen Gally settings screen

  • Swagger (Rest API documentation): https://localhost/docs

    Gally swagger
  • GraphQL client: https://localhost/graphql/

    Gally example app
  • Example app: https://localhost/example/index.html

    It is a frontend application which uses the Gally GraphQL and Rest APIs to provide search and navigation features into the sample data catalogs and categories.

    It starts with a mostly blank page besides a “Gally - Example app” header where you can select one of the sample catalog and localized catalog (for instance “COM Catalog” and then “COM French Catalog”).

    Selecting the “COM French Catalog” after having selected the “COM Catalog” catalog.

    If the sample data have products for the selected localized catalog, you will be presented by a products list page.

    Gally example app Gally example app