# Oracle Graph Quickstart Container Image Documentation
The Oracle Graph Quickstart Container contains a set of components to get you started quickly with the
Property Graph feature of Oracle Database:
1. Oracle Database 23ai Free
2. Oracle Graph Server and Client
3. A preconfigured `GRAPHUSER` and a sample SQL Property Graph
For more information on Oracle's Integrated Graph Database, see [oracle.com/database/integrated-graph-database](https://www.oracle.com/database/integrated-graph-database/)
Please note that this container image must not be used for any production workloads. For production installations, please
follow [the documentation](https://docs.oracle.com/en/database/oracle/property-graph/index.html).
## Starting an Oracle Graph Quickstart Container
To start an Oracle Graph Quickstart container, run the following command where `<oraclegraph>` can be any custom name
for the container, `<host-port>` is port on your host you want to map the graph server port to and `<password>` is a database password of your choice:
```
podman run -d --name <oraclegraph> -p <host-port>:7007 -e ORACLE_PWD=<password> container-registry.oracle.com/database/graph-quickstart:latest
```
Please note:
* Throughout this document, words enclosed within angle brackets `< >` indicate variables in code lines.
* The given `ORACLE_PWD` will be used as password for the `SYS`, `SYSTEM`, `PDBADMIN` and `GRAPHUSER` users.
Using this option exposes the password as a container environment variable. Hence using Podman secrets instead
as described in the [Oracle Database Free Container Image Documentation](https://container-registry.oracle.com/ords/ocr/ba/database/free) is recommended.
* To learn about more customization options, see: *"Custom Configurations"*
* This document uses `podman` as the prescribed container runtime, but using contemporary commands is also anticipated to work.
The container is ready to use when the `STATUS` field shows `(healthy)` in the `podman ps` output.
## Accessing the Graph Dashboard
After the container is up, you can access the Oracle Graph Dashboard in your web browser by navigating to `https://<your-host>:<host-port>/dash`
* Sign in using the `PDBADMIN` username and your password to get administrative privilege (`GRAPH_ADMINISTRATOR` role)
* Sign in using the `GRAPHUSER` username and your password to get developer privilege (`GRAPH_DEVELOPER` role)
## Configuring TLS
The container generates a self-signed TLS certificate at startup to encrypt HTTP connections by default. To turn off TLS, you can run
```
podman exec -it <oraclegraph> /opt/oracle/graph/scripts/quicksetup.sh -d
```
followed by
```
podman restart <oraclegraph>
```
After the container is restarted, you can access the dashboard using `http` instead of `https` at `http://<your-host>:<host-port>/dash`.
To turn TLS back on, you can run
```
podman exec -e PGX_SERVER_KEYSTORE_PASSWORD=changeit -it <oraclegraph> /opt/oracle/graph/scripts/quicksetup.sh -e
```
followed by
```
podman restart <oraclegraph>
```
## Inspecting logs
To inspect graph server logs, run
```
podman logs <oraclegraph>
```
## Connecting to the Graph Server
To connect to the graph server from inside the container, you can run
```
podman exec -it <oraclegraph> opg4j -b https://localhost:7007
```
Note that the container image does not contain any Python installation, so you cannot use `opg4py` to connect from inside the container.
For instructions how to connect to the database running inside the container, please see the
[Oracle Database Free Container Image Documentation](https://container-registry.oracle.com/ords/ocr/ba/database/free).
## Custom Configurations
This image is based on the Oracle Database 23ai Free Container Image (Lite), so it inherits all of its custom configuration
parameters that you can use when starting the container. For example, this is the detailed `podman run` command supporting all custom configurations:
```
podman run --name <container name> \
-p <host port>:1521 \
-p <host port>:7007 \
-e ORACLE_PDB=<your PDB name> \
-e ORACLE_PWD=<your database passwords> \
-v [<host mount point>:]/opt/oracle/oradata \
container-registry.oracle.com/database/graph-quickstart:latest
Parameters:
--name: The name of the container (default: auto generated).
-p: The port mapping of the host port to the container port.
The following ports are exposed: 1521 (Oracle Listener), 7007 (Graph Server)
-e ORACLE_PDB: The Oracle Database PDB name that should be used (default: FREEPDB1).
-e ORACLE_PWD: The Oracle Database SYS, SYSTEM, PDB_ADMIN and GRAPHUSER password.
-v /opt/oracle/oradata
The data volume to use for the database.
Has to be writable by the Unix "oracle" (uid: 54321) user inside the container.
If omitted the database will not be persisted over container recreation.
-v /opt/oracle/scripts/startup
Optional: A volume with custom scripts to be run after database startup.
For further details see the "Running scripts after setup and on startup" section above.
```
Please see the [Oracle Database Free Container Image Documentation](https://container-registry.oracle.com/ords/ocr/ba/database/free)
for further details and limitations of the `Lite` image.