diff --git a/Makefile b/Makefile index bb4d3021c0..4f5a4fbe4b 100644 --- a/Makefile +++ b/Makefile @@ -357,12 +357,16 @@ dbshell: sudo -u postgres psql -d awx-dev server_noattach: - tmux new-session -d -s tower 'exec make runserver' + tmux new-session -d -s tower 'exec make uwsgi' tmux rename-window 'Tower' tmux select-window -t tower:0 tmux split-window -v 'exec make celeryd' - tmux new-window 'exec make receiver' + tmux new-window 'exec make daphne' tmux select-window -t tower:1 + tmux rename-window 'WebSockets' + tmux split-window -h 'exec make runworker' + tmux new-window 'exec make receiver' + tmux select-window -t tower:2 tmux rename-window 'Extra Services' tmux split-window -h 'exec make factcacher' @@ -387,6 +391,24 @@ flower: fi; \ $(PYTHON) manage.py celery flower --address=0.0.0.0 --port=5555 --broker=amqp://guest:guest@$(RABBITMQ_HOST):5672// +uwsgi: + @if [ "$(VENV_BASE)" ]; then \ + . $(VENV_BASE)/tower/bin/activate; \ + fi; \ + uwsgi --socket :8050 --module=awx.wsgi:application --home=/venv/tower --chdir=/tower_devel/ --vacuum --processes=5 --harakiri=60 --static-map /static=/tower_devel/awx/public/static + +daphne: + @if [ "$(VENV_BASE)" ]; then \ + . $(VENV_BASE)/tower/bin/activate; \ + fi; \ + daphne -b 0.0.0.0 -p 8051 awx.asgi:channel_layer + +runworker: + @if [ "$(VENV_BASE)" ]; then \ + . $(VENV_BASE)/tower/bin/activate; \ + fi; \ + $(PYTHON) manage.py runworker --only-channels websocket.* + # Run the built-in development webserver (by default on http://localhost:8013). runserver: @if [ "$(VENV_BASE)" ]; then \ @@ -753,7 +775,7 @@ docker-auth: # Docker Compose Development environment docker-compose: docker-auth - TAG=$(COMPOSE_TAG) docker-compose -f tools/docker-compose.yml up --no-recreate + TAG=$(COMPOSE_TAG) docker-compose -f tools/docker-compose.yml up --no-recreate nginx tower docker-compose-cluster: docker-auth TAG=$(COMPOSE_TAG) docker-compose -f tools/docker-compose-cluster.yml up diff --git a/Procfile b/Procfile index b63680a2e2..09dfe2411c 100644 --- a/Procfile +++ b/Procfile @@ -1,5 +1,7 @@ -runserver: make runserver +runworker: make runworker +daphne: make daphne celeryd: make celeryd receiver: make receiver factcacher: make factcacher flower: make flower +uwsgi: make uwsgi diff --git a/requirements/requirements.txt b/requirements/requirements.txt index ce9bf8b6c4..ae773ddf78 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -134,4 +134,5 @@ wsgiref==0.1.2 xmltodict==0.9.2 channels==0.17.2 asgi_amqp==0.3 - +uwsgi==2.0.14 +daphne==0.15.0 diff --git a/tools/docker-compose.yml b/tools/docker-compose.yml index 2e5b18460d..f68d5d594c 100644 --- a/tools/docker-compose.yml +++ b/tools/docker-compose.yml @@ -11,8 +11,9 @@ services: RABBITMQ_VHOST: / ports: - "8080:8080" - - "8013:8013" - "5555:5555" + - "8050:8050" + - "8051:8051" links: - postgres - memcached @@ -34,6 +35,14 @@ services: ports: - "15672:15672" + nginx: + image: gcr.io/ansible-tower-engineering/tower_nginx:${TAG} + ports: + - "8043:443" + - "8013:80" + links: + - tower + # Source Code Synchronization Container # sync: # build: diff --git a/tools/docker-compose/Dockerfile b/tools/docker-compose/Dockerfile index efa3f7709c..6a3bec6c38 100644 --- a/tools/docker-compose/Dockerfile +++ b/tools/docker-compose/Dockerfile @@ -27,6 +27,6 @@ RUN ln -s /tower_devel/tools/docker-compose/start_development.sh /start_developm WORKDIR /tmp RUN SWIG_FEATURES="-cpperraswarn -includeall -D__`uname -m`__ -I/usr/include/openssl" VENV_BASE="/venv" make requirements_dev WORKDIR / -EXPOSE 8013 8080 22 +EXPOSE 8050 8051 8080 22 ENTRYPOINT ["/usr/bin/dumb-init"] CMD /start_development.sh