Docker

The Software running on your Grape Server is deployed using Docker, Docker-Compose and Ansible.

There are four Docker-Compose Files in /data/grape/config:

  • proxy/docker-compose.yml

    “proxy” contains an NGINX server in front of Sentry and Grape.

  • sentry/docker-compose.yml

    “sentry” is a web application to collect errors from the Grape Server (Backend) and the Web Client (Frontend). See Troubleshooting

  • application/docker-compose.yml

    “application” is the Grape Server application.

  • websetup/docker-compose.yml

    “websetup” is the web based UI to configure and manage your Grape Server.

Diagram

../_images/docker_grape.png

Details

When you run docker ps you should see those containers. Check the diagram above to understand how they are connected.

proxy

  • proxy_nginx_1 - the main nginx reverse proxy, all requests are routed through this one.

application

  • application_nginx_1 - Nginx for the Grape Application (static/rr/ws)

  • application_nginx-elasticsearch_1 - Nginx in front of elasticsearch for authentication

  • application_rr_1 - Grape server application

  • application_ws_1 - Grape server application, websockets

  • application_beat_1 - Grape server application, scheduler

  • application_worker-notifications_1 - Grape server application, worker for sending notifications

  • application_worker-emails_1 - Grape server application, worker for sending emails

  • application_worker-default_1 - Grape server application, default worker

  • application_elasticsearch_1 - Elasticsearch

  • application_pgbouncer_1 - pgbouncer

  • application_redis-transient_1 - Redis (for transient data)

  • application_redis-persistent_1 - Redis (for persisent data)

  • application_redis-pubsub_1 - Redis (for pubsub)

  • application_postgresql_1 - PostgreSQL

sentry

  • sentry_grapesentry-sentry_1

  • sentry_grapesentry-celery1_1

  • sentry_grapesentry-celery-beat_1

  • sentry_grapesentry-redis_1

  • sentry_grapesentry-postgresql_1

websetup

  • websetup_nginx_1

  • websetup_django_1

  • websetup_redis_1