Sign inSign up

mjpulido/frict:fix-readme-final-version-202606281637-e3d247b-compose-single

Manifest digest

sha256:43bae6a7167d5d2b4f8f07408f55eecbbb6b3a34623ffb5da6103da90b32db31

Last pushed

3 months by mjpulido

Type

Compose

Manifest digest

sha256:43bae6a7167d5d2b4f8f07408f55eecbbb6b3a34623ffb5da6103da90b32db31

Compose file content

name: frict-dev

services:
  mysql:
    image: mysql:8.0
    container_name: frict-dev-mysql
    restart: unless-stopped
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: Frict
      MYSQL_USER: user
      MYSQL_PASSWORD: password
    volumes:
      - mysql_data_dev:/var/lib/mysql
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-proot"]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 30s

  mongodb:
    image: mongo:latest
    container_name: frict-dev-mongo
    restart: unless-stopped
    ports:
      - "27017:27017"
    environment:
      - MONGO_INITDB_ROOT_USERNAME=user
      - MONGO_INITDB_ROOT_PASSWORD=password
    command: >
      sh -c "echo 'frictSuperSecretReplicaKey123456' > /data/keyfile &&
      chmod 400 /data/keyfile &&
      chown 999:999 /data/keyfile &&
      exec /usr/local/bin/docker-entrypoint.sh mongod --replSet rs0 --keyFile /data/keyfile --bind_ip_all"
    volumes:
      - mongodb_data_dev:/data/db
    healthcheck:
      test: >
        mongosh --username user --password password --authenticationDatabase admin
        --eval "try { rs.status() } catch (e) { rs.initiate({_id:'rs0',members:[{_id:0,host:'mongodb:27017'}]}) }" --quiet
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 30s

  minio:
    image: minio/minio:RELEASE.2025-09-07T16-13-09Z
    container_name: frict-dev-minio
    restart: unless-stopped
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
      MINIO_ROOT_USER: "user"
      MINIO_ROOT_PASSWORD: "password"
      MINIO_SERVER_URL: "https://localhost:9000"
      MINIO_BROWSER_REDIRECT_URL: "https://localhost:9001"
    command: server /data --console-address ":9001"
    volumes:
      - minio_data_dev:/data
    configs:
      - source: minio_public_crt
        target: /root/.minio/certs/public.crt
      - source: minio_private_key
        target: /root/.minio/certs/private.key
    healthcheck:
      test: ["CMD", "curl", "-k", "-f", "https://localhost:9000/minio/health/live"]
      interval: 10s
      timeout: 5s
      retries: 5

  app:
    image: mjpulido/frict:fix-readme-final-version-202606281637-e3d247b
    container_name: frict-dev-app
    restart: unless-stopped
    ports:
      - "443:8443"
    environment:
      SPRING_PROFILES_ACTIVE: local
      MYSQL_HOST: mysql
      MYSQL_PORT: "3306"
      MYSQL_DATABASE: Frict
      MYSQL_USERNAME: user
      MYSQL_PASSWORD: password
      MONGODB_URI: "mongodb://user:password@mongodb:27017/Frict?authSource=admin&replicaSet=rs0"
      APP_STORAGE_ENDPOINT: https://minio:9000
      APP_STORAGE_PUBLIC_URL: https://localhost:9000/images
      APP_STORAGE_BUCKET_NAME: images
      AWS_ACCESS_KEY_ID: user
      AWS_SECRET_ACCESS_KEY: password
      JWT_SECRET: c3VwZXJfc2VjcmV0X2tleV9mb3JfZGV2ZWxvcG1lbnRfcHVycG9zZXNfb25seV8xMjM0NTY3ODkw
      DB_ENCRYPTION_KEY: "1234567890123456"
      CORS_ALLOWED_ORIGIN: https://localhost
    env_file:
      - path: .env
        required: false
    configs:
      - source: minio_public_crt
        target: /certs/public.crt
    depends_on:
      mysql:
        condition: service_healthy
      minio:
        condition: service_healthy
      mongodb:
        condition: service_healthy

volumes:
  mysql_data_dev:
  mongodb_data_dev:
  minio_data_dev:

configs:
  minio_public_crt:
    file: ./certs/public.crt
  minio_private_key:
    file: ./certs/private.key

Docker commands

docker compose -f oci://mjpulido/frict:fix-readme-final-version-202606281637-e3d247b-compose-single up

Use the above command to pull and run the Compose file. Learn more⁠.

Images used

Image + 1 more

MySQL is a widely used, open-source relational database management system (RDBMS).


Pulls

1B+

Stars

16191

Last Updated

3 days

Image + 1 more

MongoDB document databases provide high availability and easy scalability.


Pulls

1B+

Stars

10751

Last Updated

1 day

Image + 1 more


Pulls

4.3K

Stars

0

Last Updated

3 months