Developer Environment Overview
In development and testing environments, you can deploy the One37 Platform and support applications all on the same host using Docker Compose.
This is the fastest way to get started with the platform.
System Prerequisites
- Docker 20.x or higher
- Docker Compose 1.27.x or higher
- PostgreSQL 12.x or higher docker image
- Redis 6.x or higher docker image
- NGINX Proxy Manager 2.x or higher docker image
- One37 Business Studio & Business Connector docker images
- TLS Certificate
- Domain Name
Building the Environment
If you don't already have a Linux virtual machine with the required software installed, you can follow the guides below to configure everything you need. Return here when you are done.
The final step before deploying the One37 Platform is to configure the databases.
- PostgreSQL database
- Redis cache
Normally this would involve individual guides for each component, but Docker allows us to easily combine several components into a single Docker Compose definition file.
This compose file can be placed in the Linux user home folder or a specific working folder; e.g ~/one37id
. In it, we will define the services and their dependencies.
NOTEWe will leverage the docker network
proxy
that was created when we setup NGINX Proxy Manager to allow the components to communicate with each other.
Database config
Copy & paste the following database configuration in the file: docker-compose.yml
db:
container_name: db
image: postgres
ports:
- '5432:5432'
restart: always
environment:
- POSTGRES_PASSWORD=postgres
- POSTGRES_USER=postgres
volumes:
- pgdata:/var/lib/postgresql/data
redis:
container_name: redis
image: 'bitnami/redis:latest'
restart: always
environment:
- REDIS_PASSWORD=redis
ports:
- '6379:6379'
volumes:
- redisdata:/bitnami/redis/data
adminer:
container_name: dbadmin
image: adminer
depends_on:
- db
restart: always
ports:
- '8080:8080'
rc:
image: rediscommander/redis-commander:latest
restart: always
container_name: rc
depends_on:
- redis
ports:
- 8081:8081
environment:
- REDIS_HOST=redis
- REDIS_PORT="6379"
- REDIS_PASSWORD=redis
- HTTP_USER=rcuser
- HTTP_PASSWORD=rcpassword@redis
volumes:
- rcdata:/redis-commander/config
volumes:
pgdata:
driver: local
redisdata:
driver: local
rcdata:
driver: local
infoWe have included the adminer and redis-commander web utilities to allow us to view the databases and cache.
Run the containers
docker compose up -d
tipYou can watch the logs using by omitting the
-d
flag. Run this in a separate terminal window or tmux session. The PostgreSQL database will take a few minutes to initialize the first time it is run.
Setup the One37 Platform Applications
Full instructions on how to setup the rest of the One37 Platform components can be found in the Quick Install Guide.