0.1-compose
sha256:91afe36bc686b82cc41b9e7c981e4511c9e15af32c3a582a8db1370799d1419e
Last pushed
about 1 month by blasetvrtumi
Type
Compose
Manifest digest
sha256:91afe36bc686b82cc41b9e7c981e4511c9e15af32c3a582a8db1370799d1419e
# In project root:
# docker pull blasetvrtumi/rarecips
# cd docker
# docker-compose -p rarecips up --build
services:
rarecips-db-health:
container_name: rarecips-db-health
image: mysql:9.0.0
command: |
sh -c "
until mysql -h rarecips-db.mysql.database.azure.com -u ${SPRING_DATASOURCE_USERNAME} -p${SPRING_DATASOURCE_PASSWORD} -e 'SELECT 1' --ssl-mode=REQUIRED 2>/dev/null; do
echo 'Waiting for Azure Database for MySQL...'
sleep 5
done
echo 'Azure Database is ready'
"
healthcheck:
test: ["CMD", "mysql", "-h", "rarecips-db.mysql.database.azure.com", "-u", "${SPRING_DATASOURCE_USERNAME}", "-e", "SELECT 1", "--ssl-mode=REQUIRED"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
rarecips-app:
container_name: rarecips-app
image: blasetvrtumi/rarecips:1.0
build:
context: ../
dockerfile: docker/Dockerfile
ports:
- "8443:8080"
depends_on:
rarecips-db-health:
condition: service_completed_successfully
command: [ "/bin/sh", "-c", "java -jar /app/rarecips.jar" ]
environment:
- SPRING_DATASOURCE_URL=jdbc:mysql://rarecips-db.mysql.database.azure.com:3306/rarecips
- SPRING_DATASOURCE_USERNAME=${SPRING_DATASOURCE_USERNAME}
- SPRING_DATASOURCE_PASSWORD=${SPRING_DATASOURCE_PASSWORD}
- APP_OLLAMA_URL=http://rarecips-ollama:11434
- MINIO_INTERNAL_URL=http://rarecips-minio:9000
- MINIO_EXTERNAL_URL=https://rarecips.spaincentral.cloudapp.azure.com
- MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY}
- MINIO_SECRET_KEY=${MINIO_SECRET_KEY}
- JWT_SECRET=${JWT_SECRET}
- MAIL_USERNAME=${MAIL_USERNAME}
- MAIL_PASSWORD=${MAIL_PASSWORD}
rarecips-ollama:
container_name: rarecips-ollama
image: ollama/ollama:latest
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
entrypoint:
- /bin/sh
- -c
- |
/bin/ollama serve &
while ! ollama list > /dev/null 2>&1; do
echo "Waiting for ollama to be available..."
sleep 5
done
echo "ollama is available!"
ollama pull llama3.2:1b
wait
healthcheck:
test: ["CMD", "ollama", "list"]
interval: 10s
timeout: 5s
retries: 5
rarecips-minio:
container_name: rarecips-minio
image: minio/minio:latest
ports:
- "9000:9000"
- "9001:9001"
environment:
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
command: server /data --console-address ":9001"
volumes:
- minio_data:/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 10s
timeout: 5s
retries: 5
minio-init:
container_name: minio-init
image: minio/mc:latest
depends_on:
rarecips-minio:
condition: service_healthy
entrypoint: >
/bin/sh -c "
echo 'Waiting for MinIO...';
sleep 2;
mc alias set myminio http://rarecips-minio:9000 ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD};
mc mb myminio/rarecips-images || echo 'Bucket already exists';
mc anonymous set public myminio/rarecips-images;
echo 'MinIO initialized successfully.';
"
volumes:
mysql:
ollama_data:
minio_data:docker compose -f oci://blasetvrtumi/rarecips:0.1-compose upUse the above command to pull and run the Compose file. Learn more.
MySQL is a widely used, open-source relational database management system (RDBMS).
Pulls
1B+
Stars
16153
Last Updated
5 days
The easiest way to get up and running with large language models.
Pulls
100M+
Stars
1592
Last Updated
about 24 hours