diff --git a/docker-compose.yml b/docker-compose.yml --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,11 +6,10 @@ image: rabbitmq:3.6-management ports: - 5072:5672 - - 5073:15672 flower: image: mher/flower - command: --broker=amqp://guest:guest@amqp:5672// + command: --broker=amqp://guest:guest@amqp:5672// --url_prefix=flower ports: - 5055:5555 depends_on: @@ -27,6 +26,22 @@ depends_on: - zookeeper + nginx: + image: nginx + volumes: + - "./nginx.conf:/etc/nginx/nginx.conf:ro" + ports: + - 5080:80 + depends_on: + - amqp + - flower + - swh-web + - swh-deposit + - swh-scheduler-api + - swh-storage + - swh-objstorage + - swh-idx-storage + # Scheduler swh-scheduler-db: diff --git a/nginx.conf b/nginx.conf new file mode 100644 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,56 @@ +worker_processes 1; + +events { + worker_connections 1024; +} + +http { + include mime.types; + default_type application/octet-stream; + sendfile on; + keepalive_timeout 65; + + server { + rewrite ^/(flower|rabbitmq)[^/]$ /$1/ permanent; + location /flower/ { + rewrite ^/flower/(.*)$ /$1 break; + proxy_pass http://flower:5555; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $host; + proxy_redirect off; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + } + location /rabbitmq/ { + rewrite ^/rabbitmq/(.*)$ /$1 break; + proxy_pass http://amqp:15672/; + } + location /scheduler { + rewrite ^/scheduler/(.*)$ /$1 break; + proxy_pass http://swh-scheduler-api:5008; + } + location /storage { + rewrite ^/storage/(.*)$ /$1 break; + proxy_pass http://swh-storage:5002; + } + location /indexer-storage { + rewrite ^/indexer-storage/(.*)$ /$1 break; + proxy_pass http://swh-idx-storage:5007; + } + location /deposit { + rewrite ^/deposit/(.*)$ /$1 break; + proxy_pass http://swh-deposit:5006; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $host; + proxy_redirect off; + } + location /objstorage { + rewrite ^/objstorage/(.*)$ /$1 break; + proxy_pass http://swh-objstorage:5003; + } + location / { + proxy_pass http://swh-web:5004; + } + } +}