• Stars
    star
    189
  • Rank 204,649 (Top 5 %)
  • Language
    Shell
  • License
    MIT License
  • Created over 7 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Oracle Database & APEX Developer Docker Image

Oracle Database & APEX Developer Docker Image

APEX Community APEX Tool APEX Built with Love

Content

This Docker Image contains the following:

  • Oracle Linux 7.9
  • Oracle Database 12.2 / 18.3 / 19.3 Enterprise Edition with non-CDB architecture
  • Oracle APEX 20.2
  • Oracle ORDS 20.3
  • Oracle SQLcl 20.3
  • Apache Tomcat 8.5.60
  • AdoptOpenJDK 11.0.9.1+1
  • OraOpenSource Logger 3.1.1
  • OraOpenSource OOS Utils 1.0.1
  • APEX Office Print 20.x (Cloud Package)
  • APEX Media Extension 20.x (Cloud Package)
  • Swagger-UI 3.x

Installation

Using Default Settings (recommended)

Complete the following steps to create a new container:

  1. Clone or Download the Github Repository to your local Machine
git clone https://github.com/Dani3lSun/docker-db-apex-dev.git
  1. Download missing Software Components

Thus you have to agree to the License Agreement of Oracle for parts of this Docker Image, you have to download the Install Files by your own. You can take the direct Download Links from download_urls.txt in files directory.

Direct Links:

Place all downloaded files in the files directory!

Note: You only need to download one Oracle Database version :) After that you will configure the version you downloaded by editing the Dockerfile

  1. Customize some settings to reflect your needs (optional)

You can change some Environment Variables directly in the Dockerfile:

INSTALL_APEX=true # Whether install Oracle APEX (Oracle ORDS / Apache Tomcat) or Not
INSTALL_SQLCL=true # Whether install Oracle SQLCL or Not
INSTALL_SQLDEVWEB=true # Whether to enable SQL Developer Web which is part of ORDS >= 19.4
INSTALL_LOGGER=true # Whether install OraOpenSource Logger or Not
INSTALL_OOSUTILS=true # Whether install OraOpenSource OOS Utils or Not
INSTALL_AOP=true # Whether install APEX Office Print (AOP) or Not (Cloud Package)
INSTALL_AME=true # Whether install APEX Media Extension (AME) or Not (Cloud Package)
INSTALL_SWAGGER=true # Whether install Swagger-UI for REST docs or Not
INSTALL_CA_CERTS_WALLET=true # Whether to install an instance wide APEX SSL Wallet containing all valid public root CA certificates
DBCA_TOTAL_MEMORY=2048 # Memory Size of Database
ORACLE_SID=orcl # SID of Oracle Database
SERVICE_NAME=orcl # SERVICE_NAME of Oracle Database
DB_INSTALL_VERSION=19 # Database version to install, 12 or 18 or 19
ORACLE_BASE=/u01/app/oracle # Path to ORACLE_BASE Directory
ORACLE_HOME12=/u01/app/oracle/product/12.2.0.1/dbhome # Path to ORACLE_HOME Directory of 12.2 database
ORACLE_HOME18=/u01/app/oracle/product/18.0.0/dbhome # Path to ORACLE_HOME Directory of 18.3 database
ORACLE_HOME19=/u01/app/oracle/product/19.0.0/dbhome # Path to ORACLE_HOME Directory of 19.3 database
ORACLE_INVENTORY=/u01/app/oraInventory # Path to ORACLE_INVENTORY Directory
PASS=oracle # Password of all Database Users (like SYS, APEX_PUBLIC_USER ...), Tomcat Admin and SSH
ORDS_HOME=/u01/ords # Path to ORDS_HOME Directory
JAVA_HOME=/opt/java # Path to JAVA_HOME Directory
TOMCAT_HOME=/opt/tomcat # Path to TOMCAT_HOME Directory
APEX_PASS=OrclAPEX1999! # Admin Password of Oracle APEX Web Login (Caution: Oracle APEX Password Policy)
APEX_ADDITIONAL_LANG= # Additional Language of APEX, blank to only install English (e.g de, es, fr, it, ja, ko, pt-br, zh-cn, zh-tw)
APEX_PATCH_SET_BUNDLE_FILE= # Additional file name of the APEX Patch Set Bundle zip file (e.g. p32006852_2020_Generic.zip), file should be put into "files" directory
TIME_ZONE=UTC # Timezone of your favorite Location (Europe/Berlin, UTC, US/Eastern, ...) --> Only Linux zoneinfo supported
  1. Build the Docker Image
cd /path/to/docker-db-apex-dev
docker build -t <your-docker-image-name> .
# e.g
docker build -t db-apex-dev-image .

Note: Please be sure to have enough disk space left. Building this image needs around 40-50GB of free space. The successfully built image has a size of 15-16GB

  1. Run the Docker Container
docker run -d --name <your-docker-container-name> -p <local-ssh-port>:22 -p <local-http-port>:8080 -p <local-db-listener-port>:1521 -v /dev/shm --tmpfs /dev/shm:rw,nosuid,nodev,exec,size=2g <your-docker-image-name>
# e.g
docker run -d --name db-apex-dev-container -p 2222:22 -p 8080:8080 -p 1521:1521 -v /dev/shm --tmpfs /dev/shm:rw,nosuid,nodev,exec,size=2g db-apex-dev-image

Note: /dev/shm should be equal the size of allocated Memory to the Database. /dev/shm must also be mounted as tmpfs.

  1. Start/Stop of Docker Container
docker start <your-docker-container-name>
docker stop <your-docker-container-name>
# e.g
docker start db-apex-dev-container
docker stop db-apex-dev-container

Access To Services

For this Docker Run Example and the Default Environment Variables (Step 3):

docker run -d --name db-apex-dev-container -p 2222:22 -p 8080:8080 -p 1521:1521 -v /dev/shm --tmpfs /dev/shm:rw,nosuid,nodev,exec,size=2g db-apex-dev-image

Oracle APEX

http://localhost:8080/ords/

Property Value
Workspace INTERNAL
User ADMIN
Password OrclAPEX1999!

If APEX Office Print is installed (INSTALL_AOP=true)

Property Value
Workspace AOP
User ADMIN
Password OrclAPEX1999!

SQL Developer Web

If SQL Developer Web is enabled (INSTALL_SQLDEVWEB=true)

http://localhost:8080/ords/sql-developer

Property Value
User SDW_ADMIN
Password oracle

Database Connections

To access the database e.g. from SQL Developer you configure the following properties:

Property Value
Hostname localhost
Port 1521
SID orcl
Service orcl

The configured user with their credentials are:

User Password
system oracle
sys oracle
apex_listener oracle
apex_rest_public_user oracle
apex_public_user oracle
logger_user oracle
oosutils_user oracle
aop oracle
ame oracle
sdw_admin oracle

Use the following connect string to connect as SYSTEM via SQL*Plus or SQLcl: system/oracle@localhost/orcl

SSH

To access the Docker Container via SSH: ssh root@localhost -p 2222

User Password
root oracle
oracle oracle

If you want to use SSH without a Password but rather with PubKey Authentication you have the place a authorized_keys file in the files directory before build.

Credits

This Dockerfile is based on the following work:

License

MIT

See Oracle Database Licensing Information User Manual regarding Oracle Database licenses.

More Repositories

1

awesome-orclapex

A curated list of awesome Oracle APEX resources
176
star
2

apex-plugin-dropzone

Oracle APEX Region Plugin - Dropzone
PLSQL
72
star
3

oracle-ca-wallet-creator

Script to create a Oracle Wallet containing all valid root CA certificates
Shell
38
star
4

apex-websocket-notify-bundle

Oracle APEX / Node Websocket Notification Bundle
PLSQL
35
star
5

apex-plugin-templates

Templates for Oracle APEX Plug-ins
PLSQL
31
star
6

apex-plugin-spotlight

Oracle APEX Dynamic Action Plugin - APEX Spotlight Search
JavaScript
23
star
7

apex-plugin-apextooltip

Oracle APEX Dynamic Action Plugin - APEX Tooltip
PLSQL
22
star
8

apex-plugin-apexscreencapture

Oracle APEX Dynamic Action Plugin - APEX Screen Capture
JavaScript
19
star
9

oracle-blockchain

Example of a basic blockchain within the Oracle Database
PLSQL
17
star
10

apex-plugin-clockpicker

Oracle APEX Item Plugin - ClockPicker
JavaScript
16
star
11

apex-github-badges

Oracle APEX badges for GitHub projects
15
star
12

apex-plugin-guidedtour

Oracle APEX DynamicAction Plugin - GuidedTour
SQLPL
15
star
13

apex-plugin-toastrnotifications

Oracle APEX DynamicAction Plugin - toastr Notifications
14
star
14

apex-plugin-apexsignature

Oracle APEX Region Plugin - APEX Signature
JavaScript
14
star
15

apex-plugin-analytics

Oracle APEX Dynamic Action Plugin - APEX Analytics
PLSQL
14
star
16

apex-plugin-extend_ig_menu

Oracle APEX Dynamic Action Plugin - Extend IG Menu
JavaScript
13
star
17

apex-plugin-videoplayer

Oracle APEX Region Plugin - Video Player
PLSQL
11
star
18

apex-app-desktop

APEX App as Desktop Application using Github Electron
JavaScript
10
star
19

apex-sample-code

Collection of Oracle APEX sample code
10
star
20

apex-voice-control

APEX Voice Control using Amazon Alexa
PLSQL
9
star
21

apex-plugin-dev-enhancer

Local command line tool to enhance Oracle APEX Plug-in development
JavaScript
8
star
22

apex-app-crappybird

Oracle APEX Application - CrappyBird / Social Game
PLSQL
8
star
23

apex-plugin-timeline

Oracle APEX Region Plugin - Timeline
JavaScript
6
star
24

apex-onlyoffice-integration

ONLYOFFICE integration in Oracle APEX
PLSQL
6
star
25

docker-httpd-mitm-proxy

Docker image / container running a Apache HTTP proxy for HTTPS sites
Shell
4
star
26

apex-plugin-builtwithlove

Oracle APEX Region Plugin - Built with love using APEX
SQLPL
4
star
27

apex-samples

Oracle APEX Sample Apps, Sample Code and more
3
star
28

apex-plsql-api-bahn-fahrplan

A PL/SQL APEX Library for Deutsche Bahn's timetable API
PLSQL
3
star
29

apex-plugin-odfviewer

Oracle APEX Region Plugin - ODF Viewer
PLSQL
3
star
30

apex-plugin-filesizechecker

Oracle APEX DynamicAction Plugin - Filesize Checker
SQLPL
3
star
31

apex-plugin-pace

Oracle APEX DynamicAction Plugin - Pace Progress Indicator
CSS
2
star