Edit online

Oxygen Feedback Enterprise Installation

Edit online

Oxygen Feedback Docker Images

The Oxygen Feedback Enterprise distribution contains two docker images that run the following services, each in its own container:

  • Oxygen Feedback Service
  • Oxygen Text Search Service

The Docker images do not include an email server or database server. The recommended solution is to configure these services to run in separate containers. For more information see How to Set Up the Database for Oxygen Feedback Service, How to Set Up the Database for Oxygen Feedback Service and How to Set Up Email Notifications.

Prerequisite

Docker is required. For installation instructions, see the official Docker installation documentation.

Other Requirements

Operating System
  • Ubuntu 18 is recommended since it has been thoroughly tested
Database
  • PostgreSQL 11, 12
  • MySQL 8.0
CPU
  • 2 virtual cores
Memory
  • 2 GB RAM
Storage
  • 20 GB disk storage
Browser
  • Google Chrome 78.0 [recommended for optimal performance and user experience]
  • Mozilla Firefox 70.0
  • Microsoft Edge 44
  • macOS Safari 13
  • Chrome for Android 78.0 [mobile devices]
  • Safari Mobile iOS 13 [mobile devices]
Tip: For more details, see: Browser Compatibility.

Volumes

The Oxygen Feedback Service and Oxygen Text Search Service containers use host-mounted volumes to store persistent data:

Table 1. Oxygen Feedback Service
Host path Container path Details
./oxygen-feedback-home /oxygen-feedback-home/ Oxygen Feedback configuration files and data.
./logs /oxygen-feedback-enterprise/logs Log files.
./lib/mysql-connector-java.jar /oxygen-feedback-enterprise/lib/mysql-connector-java.jar The MySQL JDBC driver (if you are using a MySQL DB instance for Oxygen Feedback).
Table 2. Oxygen Text Search Service
Host path Container path Details
./workspace /oxygen-text-search-service/workspace/ Oxygen Text Search Service workspace.
./logs /oxygen-text-search-service/logs Log files.
Edit online

Installation

1. Download Kit

Download the Oxygen Feedback Enterprise installation kit.

2. Create the Feedback User

Sample code:

useradd feedback

3. Create Installation Directory

Create a directory and unzip the downloaded kit to this new directory. The application files are stored in this directory.

Sample code to create the directory:
sudo mkdir /home/feedback/oxygen-feedback
sudo chown feedback: /home/feedback/oxygen-feedback
Sample code to extract the archive content:
cd /home/feedback/oxygen-feedback
# Copy the downloaded archive here
unzip oxygen-feedback-enterprise.zip
Step Result: A new directory (for example, named oxygen-feedback-3.0) is created with the extracted archive's content. This directory will be subsequently referred to as OXYGEN_FEEDBACK_INSTALL_DIR:
export OXYGEN_FEEDBACK_INSTALL_DIR=/home/feedback/oxygen-feedback/oxygen-feedback-3.0

4. Load Docker Images

The Oxygen Feedback Enterprise distribution contains two docker images running the following services each in its own container:
  • Oxygen Feedback Service
  • Oxygen Text Search Service
Run load-docker-images.sh (e.g. $OXYGEN_FEEDBACK_INSTALL_DIR/docker-images/load-docker-images.sh) to load the Oxygen Feedback Service and Oxygen Text Search Service docker images in your local environment.
cd $OXYGEN_FEEDBACK_INSTALL_DIR/docker-images
sh load-docker-images.sh

5. Set Up License

Set up the license for Feedback Enterprise:
  1. Go to $OXYGEN_FEEDBACK_INSTALL_DIR/oxygen-feedback-home and create a new file named licensekey.txt.
    cd $OXYGEN_FEEDBACK_INSTALL_DIR/oxygen-feedback-home
    touch licensekey.txt
  2. Copy and paste your license key inside the licensekey.txt file using a text editor or use:
    cat >> licensekey.txt
    # Paste license
    # Press CTRL-D

6. Configure Oxygen Feedback

To configure Oxygen Feedback Enterprise, edit the configuration files from $OXYGEN_FEEDBACK_INSTALL_DIR/oxygen-feedback-home/config. The available configuration properties are described in the procedures linked below:

7. Configure docker-compose.yml

Edit the $OXYGEN_FEEDBACK_INSTALL_DIR/docker-compose.yml file to configure the docker containers for following services:
  • Oxygen Feedback Service
  • Oxygen Text Search Service
version: '3'
services:
  feedback-service:
    image: oxygenxml/oxygen-feedback-enterprise:3.0
    container_name: oxygen-feedback-enterprise
    volumes:
      # Home Dir
      - type: bind
        source: ./oxygen-feedback-home
        target: /oxygen-feedback-home
      - type: bind
        source: ./logs
        target: /oxygen-feedback-enterprise/logs
      # Only if Oxygen Feedback is connected to a MySQL DB 
      - type: bind
        source: ./lib/mysql-connector-java.jar
        target: /oxygen-feedback-enterprise/lib/mysql-connector-java.jar
    ports:
      - "8081:8080"
      - "8443:8443"
    depends_on:
      - text-search-service
  text-search-service:
    image: oxygenxml/oxygen-text-search-service:1.1
    container_name: oxygen-text-search-service
    ports:
      - "8888:8888"
    environment:
      - server.port=8888
      - spring.datasource.url=
      - spring.datasource.username=
      - spring.datasource.password=
      - http.proxyHost=
      - http.proxyPort=
      - https.proxyHost=
      - https.proxyPort=
      - http.nonProxyHosts=localhost|oxygen-feedback-enterprise
      - semantic.search.configuration.server.url=http://oxygen-feedback-enterprise:8081
    volumes:
      - type: bind
        source: ./workspace
        target: /oxygen-text-search-service/workspace/
      - type: bind
        source: ./logs
        target: /oxygen-text-search-service/logs/

Oxygen Text Search Service environment variables:

  • Database configuration - see How to Set Up the Database for Oxygen Text Search Service:
    • spring.datasource.url - The URL of the Oxygen Text Search Service database that has the following format: jdbc:postgresql://<hostname>:<port>/<database>

      For example: jdbc:postgresql://localhost:5432/otss
      Note: Oxygen Text Search Service only supports PostgreSQL databases.
    • spring.datasource.username - The username used to access the database.
    • spring.datasource.password - The password used to access the database.
  • HTTP Proxy configuration - see How to Configure an HTTP Proxy for Oxygen Text Search Service:
    • http.proxyHost - The hostname of the HTTP proxy server.
    • http.proxyPort - The port number of the HTTP proxy server.
    • https.proxyHost - The hostname of the HTTPS proxy server.
    • https.proxyPort - The port number of the HTTPS proxy server
    • https.nonProxyPort - The list of hosts that will be bypassed by the proxy server
Note: When a proxy server is configured for the Oxygen Text Search Service container, the hostname of the URL configured in the semantic.search.configuration.server.url property should be listed in the http.nonProxyHosts list.

8. Start the Containers

To start Oxygen Feedback Enterprise, you must create and start the docker containers using the docker images loaded in the previous steps.
cd $OXYGEN_FEEDBACK_INSTALL_DIR
docker-compose up -d