Skip to main content

Deploying As Docker Container

Deploy the LimePoint Solifi Consumer as a Docker container for easy scaling and management.

Prerequisites

  • ✅ Docker installed on your system
  • ✅ Access to LimePoint's Docker Hub (contact LimePoint Support)
  • ✅ Configured application.yml file
  • ✅ License files (license.license and sign256.sign)

Step 1: Login to Docker Hub

docker login -u <username_provided_by_limepoint_support>
# Enter the password when prompted

Step 2: Pull the Consumer Image

docker image pull limepoint/solifi-consumer:<version>

For example:

docker image pull limepoint/solifi-consumer:2.2.4

Step 3: Prepare Configuration Files

Create a directory structure for your deployment:

/deployment/
├── docker-compose.yml
├── application.yml
├── license.license
└── sign256.sign

Step 4: Create Docker Compose File

Create a docker-compose.yml file:

services:
solifi-consumer:
image: limepoint/solifi-consumer:2.2.4
networks:
- sol_demo
volumes:
- ./application.yml:/application.yml
- ./license.license:/license.license
- ./sign256.sign:/sign256.sign
environment:
- spring.config.additional-location=/application.yml
- JAVA_OPTS=-XX:MaxDirectMemorySize=64m
ports:
- "8080:8080"
depends_on:
mssqldb:
condition: service_healthy

mssqldb:
image: mcr.microsoft.com/mssql/server:2022-latest
hostname: mssqldb
container_name: mssqldb
ports:
- "1440:1433"
environment:
ACCEPT_EULA: 1
MSSQL_SA_PASSWORD: Welcome123$
networks:
- sol_demo
healthcheck:
test: ["CMD", "echo", ">", "/dev/tcp/mssqldb/1433"]
interval: 10s
retries: 3
start_period: 30s
timeout: 5s

networks:
sol_demo:
name: sol_demo
Using Your Own Database

If you already have a database server, you can remove the mssqldb service and the depends_on section from the compose file.

Step 5: Start the Container

docker compose up -d

Step 6: Verify the Deployment

Check if the container is running:

docker compose ps

View the logs:

docker compose logs -f solifi-consumer

Using Environment Variables

For secure credential management, use environment variables in your docker-compose.yml:

services:
solifi-consumer:
image: limepoint/solifi-consumer:2.2.4
environment:
- spring.config.additional-location=/application.yml
- JAVA_OPTS=-XX:MaxDirectMemorySize=64m
- SOLIFI_BOOTSTRAP_SERVERS=your-broker:9092
- SOLIFI_BROKER_USERNAME=your-username
- SOLIFI_BROKER_PASSWORD=your-password
- SOLIFI_DATABASE_USERNAME=admin
- SOLIFI_DATABASE_PASSWORD=password
# ... rest of configuration

Then reference these in your application.yml:

spring:
kafka:
bootstrap-servers: ${SOLIFI_BOOTSTRAP_SERVERS}
properties:
sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username=${SOLIFI_BROKER_USERNAME} password=${SOLIFI_BROKER_PASSWORD};
datasource:
username: ${SOLIFI_DATABASE_USERNAME}
password: ${SOLIFI_DATABASE_PASSWORD}

Consumer-Only Compose File

If you're using an external database, here's a minimal compose file:

services:
solifi-consumer:
image: limepoint/solifi-consumer:2.2.4
restart: unless-stopped
volumes:
- ./application.yml:/application.yml
- ./license.license:/license.license
- ./sign256.sign:/sign256.sign
environment:
- spring.config.additional-location=/application.yml
- JAVA_OPTS=-XX:MaxDirectMemorySize=64m -Xmx2g
ports:
- "8080:8080"

Resource Limits

For production deployments, consider adding resource limits:

services:
solifi-consumer:
image: limepoint/solifi-consumer:2.2.4
deploy:
resources:
limits:
cpus: '2'
memory: 4G
reservations:
cpus: '1'
memory: 2G
# ... rest of configuration

Health Checks

The consumer exposes health endpoints. You can add a health check:

services:
solifi-consumer:
image: limepoint/solifi-consumer:2.2.4
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/actuator/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
# ... rest of configuration

Common Commands

CommandDescription
docker compose up -dStart containers in background
docker compose downStop and remove containers
docker compose logs -fFollow container logs
docker compose restartRestart containers
docker compose pullPull latest images

Next Steps