fuzziebrain / docker-apex-stack

Utility scripts for creating an Oracle Application Express stack as a Docker container.
MIT License
97 stars 34 forks source link
apex database docker oml oml4r oracle oracle-database oracle-xe orclapex orclords ords plsql webdevelopment

Build an APEX Stack with Docker

For background information on this repository, please read this blog post.

Prerequisites

IMPORTANT

Build and execution has been tested in Linux only. It should work in Mac OS and Windows with Windows Subsystem for Linux 2.

Getting Started

  1. Git clone this repository and set it as the working directory.
  2. Download the installer files:
    • The required Oracle Database installation files from OTN (supports versions up to 21.3.0 including Express Edition, as of September 22, 2021). Note: For Oracle Database 21c XE, you are no longer required to download the binaries (see issue #39).
    • Oracle Application Express (supports versions up 22.2 as of January 01, 2023)
    • Oracle REST Data Services (supports versions up to 23.1 as of April 01, 2023)
  3. For releases after 0.6.0, either choose to use the binaries from OpenJDK, download a licensed Java runtime, or the free to use Java 17 from Oracle. Please refer to the additonal notes section below for details about the INSTALL_FILE_JAVA parameter.
  4. Place all installer files in the sub-directory files.
  5. Create a file that contains the required environment variables for your build. Please refer to the additonal notes below for more information about the various parameters that can be set. Included in this repository are two examples or templates that you can use:
  6. Run the first script to grab the latest Docker images from Oracle and build the Oracle Database image. The script takes one parameter, the environment filename (mysettings.env):
    $ bash 01-build.sh mysettings.env
  7. Run the final script to create and run the container, where the container name is das:
    $ bash 02-run.sh das mysettings.env

Quick Start

Martin suggested, so here it is! Now included is the the quickstart.sh script. Simply:

  1. Execute the script.
  2. Enter your email address for the APEX instance administrator.
  3. Optionally, enter a preferred container name.
  4. If all's good, note down your container name and password.
  5. Enter Y to continue.
  6. Wait till there is minimal or no activity in the script then go to http://localhost:8080/ords/apex.

If you are new to APEX, then I highly recommend checking out some of the learning resources here.

$ ./quickstart.sh
Enter an email address for your APEX administrator (required): apexdev@example.com
Container name (leave empty to have one generated for you): apexiscool
##### Important Information #####
Your Docker container name is: apexiscool
Your password for the database and APEX internal workspace is: donotcommit

We are now ready to build the Docker image and deploy your container.
Type "Y" to continue or CTRL-C to exit: y

Note

Should you forget to save your password, you can find it in the generated settings file along with any other details about the container. It is named after your container, e.g. apexiscool.env.

Additional Notes About the Settings File