Host as a Test Database
This stack is for local development. It is insecure by default.
Install with secure mode
Section titled “Install with secure mode”To host the stack as a test database, install it with the --secure flag:
./install.sh --secureYou can run this command again on an existing installation. It is safe to repeat.
What secure mode does
Section titled “What secure mode does”Secure mode disables the ORDS surfaces that work without an application login:
- The ORDS Database REST API (
database.api.enabled) - SQL Developer Web and Database Actions (
feature.sdw,/ords/sql-developer) - Debug-to-screen (
debug.printDebugToScreen)
The APEX runtime and the APEX login continue to work.
Secure mode also changes the password of new workspaces. The create-user command
uses the random ORACLE_PASSWORD value instead of the shared Welcome_1. This is
the same result as
WORKSPACE_USE_INTERNAL_PASSWORD=true.
The flags in .env
Section titled “The flags in .env”The installer writes two keys to .env:
SECURE_MODE="true"— latercreate-userruns read this key and use the same password rule.DEBUG_TO_SCREEN="false"— the ORDS image reads this key on every boot, so debug-to-screen stays off after a restart.
What secure mode does not do
Section titled “What secure mode does not do”- It does not close network ports. The database port
1521and the ORDS ports8181and8443stay open. - It does not change the plaintext secrets in
.env. - It does not disable the MongoDB API with a configuration key. The ORDS image
enables
mongo.enabledon every boot. The API is closed becausedocker-compose.ymldoes not publish port27017.
Before you host the stack
Section titled “Before you host the stack”- Put the stack behind a firewall. Keep the database port
1521closed to the outside. - Put ORDS behind a TLS reverse proxy. Read Expose with HTTPS (Reverse Proxy).
- Change the generated passwords in
.env. - Delete an old
.env.bakfile. It is a copy of a replaced.envfile, and it holds the old passwords. - Use strong passwords for the APEX
ADMINuser and for every workspace user that exists already. - Delete the sample applications and the sample data that must stay private.