diff --git a/README.md b/README.md index f9e8907..8f9543c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,84 @@ -# proedms-docker -Docker files for ProEDMS +# Quick Start Guide for Docker Compose Setup + +## Overview +This guide will help you quickly set up and run a multi-container application using Docker Compose. The setup includes the following services: + +- **proedms-app** (Port: 8080) +- **proedms-db (PostgreSQL)** +- **mysql** (Port: 3306) +- **postgres (PostgreSQL)** (Port: 5432) +- **mssql (SQL Server)** (Port: 1433) +- **cdap** (Port: 11011) +- **cdap-marketplace** (Port: 5000) +- **jupyter** (Port: 10000) + +## Prerequisites +- Docker installed on your machine +- Docker Compose installed on your machine + +## Step-by-Step Instructions + +### Clone the Repository or Download the `docker-compose.yml` File ### + +Ensure you have the `docker-compose.yml` file in your working directory. + +### Run Docker Compose ### + +Open a terminal, navigate to the directory containing the `docker-compose.yml` file, and run: +```bash +docker-compose up -d +``` + +### Access the Services ### + +- **proedms-app**: [http://localhost:8080](http://localhost:8080) +- **proedms-db (PostgreSQL)**: Accessible on port 5432 +- **mysql**: Accessible on port 3306 +- **postgres (PostgreSQL)**: Accessible on port 5432 +- **mssql (SQL Server)**: Accessible on port 1433 +- **cdap**: [http://localhost:11011](http://localhost:11011) +- **cdap-marketplace**: [http://localhost:5000](http://localhost:5000) +- **jupyter**: [http://localhost:10000](http://localhost:10000) + +### Default Credentials ### + +Here are the default usernames and passwords for each service: + +- **proedms-app** + - Environment variables set in `docker-compose.yml` + - Username: `admin` + - Password: `admin` + +- **proedms-db (PostgreSQL)** + - Username: `postgres` + - Password: `123456` + - Database: `proedms` + +- **mysql** + - Default credentials as per the `restsql/mysql-sakila` image + - Username: `root` + - Password: `sakila` + +- **postgres (PostgreSQL)** + - Username: `postgres` + - Password: `sakila` + +- **mssql (SQL Server)** + - Username: `sa` + - Password: `123abcD!` + +- **cdap** + - No default credentials required for the sandbox environment + +- **cdap-marketplace** + - No default credentials required + +- **jupyter** + - Token: When you start the container, a token is generated. Use the URL displayed in the terminal to access Jupyter Notebook. + +### Stopping the Containers ### + +To stop all running containers, execute: +```bash +docker-compose down +``` diff --git a/docker-compose.yml b/docker-compose.yml index 3aeca79..7b430e7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,31 +1,82 @@ version: '3' services: - proedms: - image: gcr.io/adaptivescale-178418/proedms:2.1.1-beta8-demo - container_name: proedms + proedms-app: + image: adaptivescale/proedms + container_name: proedms-app environment: - ACCEPT_EULA=Y + - PROEDMS_DB_URL=jdbc:postgresql://proedms-db:5432/proedms + - PROEDMS_DB_USER=postgres + - PROEDMS_DB_PASSWORD=123456 + - OPENAI_API_KEY=openapikey links: + - proedms-db - mysql + - postgres - mssql + extra_hosts: + - "host.docker.internal:host-gateway" networks: - gateway ports: - '8080:8080' + depends_on: + - proedms-db + + proedms-db: + image: postgres:12 + container_name: proedms-db + environment: + POSTGRES_PASSWORD: 123456 + POSTGRES_DB: proedms + networks: + - gateway mysql: image: restsql/mysql-sakila - container_name: mysql + ports: + - "3306:3306" + networks: + - gateway + + postgres: + image: frantiseks/postgres-sakila + ports: + - "5432:5432" + environment: + - POSTGRES_PASSWORD=sakila networks: - gateway mssql: image: fabricioveronez/northwind-database - container_name: mssql + ports: + - "1433:1433" environment: - ACCEPT_EULA=Y - - SA_PASSWORD=Northwind0123 + - SA_PASSWORD=123abcD! + networks: + - gateway + + cdap: + image: caskdata/cdap-sandbox:6.7.2 + ports: + - "11011:11011" + networks: + - gateway + + cdap-marketplace: + image: adaptivescale/cdap-marketplace + ports: + - "5000:5000" + networks: + - gateway + + jupyter: + image: jupyter/pyspark-notebook:latest + ports: + - "10000:8888" networks: - gateway