datacite/volpino

View on GitHub
docker-compose.yml

Summary

Maintainability
Test Coverage
version: "3.8"

services:
  web:
    profiles: ["web"]
    env_file: .env
    environment:
      - ELASTIC_PASSWORD=changeme
    image: datacite/volpino
    ports:
      - "8080:80"
      - "2280:22"
    volumes:
      - ./app:/home/app/webapp/app
      - ./config:/home/app/webapp/config
      - ./db:/home/app/webapp/db
      - ./spec:/home/app/webapp/spec
      - ./lib:/home/app/webapp/lib
      - ./vendor/docker:/home/app/webapp/vendor/docker
    networks:
      - public
    depends_on:
      elasticsearch:
        condition: service_healthy

  mysql:
    environment:
      - MYSQL_DATABASE=datacite
      - MYSQL_ALLOW_EMPTY_PASSWORD="yes"
    image: mysql:8.0
    ports:
      - "3311:3306"
    networks:
      - public

  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.1.1
    ports:
      - "9202:9200"
      - "9302:9300"
    environment:
      discovery.type: single-node
      ES_JAVA_OPTS: -Xms512m -Xmx512m
      ELASTIC_PASSWORD: changeme
      xpack.security.enabled: "false"
      http.cors.enabled: "true"
      http.cors.allow-origin: "*"
    networks:
      - public
    healthcheck:
      test: curl -f http://elastic:changeme@elasticsearch:9200
      interval: 10s
      timeout: 1s

  redis:
    image: redis
    ports:
      - "6379:6379"
    networks:
      - public

  memcached:
    image: memcached:1.4.31
    ports:
      - "11211:11211"
    networks:
      - public

networks:
  public:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 10.0.60.0/24
          gateway: 10.0.60.1