diff --git a/docker-compose.yaml b/docker-compose.yaml index af21778..d0ddd29 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -3,7 +3,7 @@ services: site: build: . networks: - - am-d-model-network + - am-d-model-site-network expose: - "3000" restart: unless-stopped @@ -16,7 +16,8 @@ services: - site - repo-web-ui networks: - - am-d-model-network + - am-d-model-proxy-network + - am-d-model-site-network ports: - "80:80" - "443:443" @@ -32,31 +33,41 @@ services: file: repo/docker-compose.full.yml service: cache networks: - - am-d-model-network + - am-d-model-repo-network repo-db: extends: file: repo/docker-compose.full.yml service: db networks: - - am-d-model-network + - am-d-model-repo-network repo-mq: extends: file: repo/docker-compose.full.yml service: mq networks: - - am-d-model-network + - am-d-model-repo-network repo-search: extends: file: repo/docker-compose.full.yml service: search networks: - - am-d-model-network + - am-d-model-repo-network repo-s3: extends: file: repo/docker-compose.full.yml service: s3 networks: - - am-d-model-network + - am-d-model-repo-network + # Frontend + repo-frontend: + extends: + file: repo/docker-services.full.yml + service: frontend + build: + context: ./repo/ + networks: + - am-d-model-proxy-network + - am-d-model-repo-network # UI Application repo-web-ui: extends: @@ -65,7 +76,7 @@ services: build: context: ./repo/ networks: - - am-d-model-network + - am-d-model-repo-network # API Rest Application repo-web-api: extends: @@ -74,7 +85,7 @@ services: build: context: ./repo/ networks: - - am-d-model-network + - am-d-model-repo-network # Worker repo-worker: extends: @@ -83,11 +94,15 @@ services: build: context: ./repo/ networks: - - am-d-model-network + - am-d-model-repo-network networks: - am-d-model-network: - name: am-d-model-network + am-d-model-site-network: + name: am-d-model-repo-network + am-d-model-repo-network: + name: am-d-model-repo-network + am-d-model-proxy-network: + name: am-d-model-proxy-network volumes: caddy_data: diff --git a/repo/docker-compose.full.yml b/repo/docker-compose.full.yml index 9a7ea16..e7202c4 100644 --- a/repo/docker-compose.full.yml +++ b/repo/docker-compose.full.yml @@ -24,22 +24,44 @@ services: extends: file: docker-services.yml service: cache + networks: + - am-d-model-repo-network db: extends: file: docker-services.yml service: db + networks: + - am-d-model-repo-network mq: extends: file: docker-services.yml service: mq + networks: + - am-d-model-repo-network search: extends: file: docker-services.yml service: search + networks: + - am-d-model-repo-network s3: extends: file: docker-services.yml service: s3 + networks: + - am-d-model-repo-network + # Frontend + frontend: + extends: + file: docker-services.yml + service: frontend + volumes: + - static_data:/opt/invenio/var/instance/static + depends_on: + - web-ui + - web-api + networks: + - am-d-model-repo-network # UI Application web-ui: extends: @@ -51,6 +73,8 @@ services: - "5000" volumes: - static_data:/opt/invenio/var/instance/static + networks: + - am-d-model-repo-network # API Rest Application web-api: @@ -61,6 +85,8 @@ services: image: am-d-model-data-repository:latest ports: - "5000" + networks: + - am-d-model-repo-network # Worker worker: @@ -78,6 +104,11 @@ services: condition: service_started mq: condition: service_started + networks: + - am-d-model-repo-network +networks: + am-d-model-repo-network: + name: am-d-model-repo-network volumes: static_data: redis_data: diff --git a/repo/docker-services.yml b/repo/docker-services.yml index cccec78..aed3ff0 100644 --- a/repo/docker-services.yml +++ b/repo/docker-services.yml @@ -22,6 +22,17 @@ services: - "INVENIO_SQLALCHEMY_DATABASE_URI=postgresql+psycopg2://am-d-model-data-repository:am-d-model-data-repository@db/am-d-model-data-repository" - "INVENIO_WSGI_PROXIES=2" - "INVENIO_RATELIMIT_STORAGE_URL=redis://cache:6379/3" + networks: + - am-d-model-repo-network + frontend: + build: ./docker/nginx/ + image: am-d-model-data-repository-frontend + restart: "unless-stopped" + ports: + - "80" + - "443" + networks: + - am-d-model-repo-network cache: image: redis:7 restart: "unless-stopped" @@ -31,6 +42,8 @@ services: - redis_data:/data ports: - "6379:6379" + networks: + - am-d-model-repo-network db: image: postgres:14.13 restart: "unless-stopped" @@ -42,6 +55,8 @@ services: - "POSTGRES_DB=am-d-model-data-repository" ports: - "5432" + networks: + - am-d-model-repo-network pgadmin: image: dpage/pgadmin4:6 restart: "unless-stopped" @@ -52,12 +67,16 @@ services: PGADMIN_DEFAULT_PASSWORD: "am-d-model-data-repository" volumes: - ./docker/pgadmin/servers.json:/pgadmin4/servers.json + networks: + - am-d-model-repo-network mq: image: rabbitmq:3-management restart: "unless-stopped" ports: - "15672" - "5672" + networks: + - am-d-model-repo-network search: image: opensearchproject/opensearch:2.17.1 restart: "unless-stopped" @@ -79,6 +98,8 @@ services: ports: - "9200" - "9600" + networks: + - am-d-model-repo-network opensearch-dashboards: image: opensearchproject/opensearch-dashboards:2.17.1 ports: @@ -89,6 +110,8 @@ services: # # settings only for development. DO NOT use in production! # - 'OPENSEARCH_HOSTS=["http://search:9200"]' # - "DISABLE_SECURITY_DASHBOARDS_PLUGIN=true" + networks: + - am-d-model-repo-network s3: image: minio/minio:RELEASE.2022-10-24T18-35-07Z restart: "unless-stopped" @@ -108,6 +131,12 @@ services: interval: 30s timeout: 20s retries: 3 + networks: + - am-d-model-repo-network + +networks: + am-d-model-repo-network: + name: am-d-model-repo-network volumes: redis_data: diff --git a/docker/nginx/Dockerfile b/repo/docker/nginx/Dockerfile similarity index 100% rename from docker/nginx/Dockerfile rename to repo/docker/nginx/Dockerfile diff --git a/docker/nginx/conf.d/default.conf b/repo/docker/nginx/conf.d/default.conf similarity index 100% rename from docker/nginx/conf.d/default.conf rename to repo/docker/nginx/conf.d/default.conf diff --git a/docker/nginx/nginx.conf b/repo/docker/nginx/nginx.conf similarity index 100% rename from docker/nginx/nginx.conf rename to repo/docker/nginx/nginx.conf diff --git a/docker/nginx/test.crt b/repo/docker/nginx/test.crt similarity index 100% rename from docker/nginx/test.crt rename to repo/docker/nginx/test.crt diff --git a/docker/nginx/test.key b/repo/docker/nginx/test.key similarity index 100% rename from docker/nginx/test.key rename to repo/docker/nginx/test.key