μblog docsμblog docs
Introduction
  • Django Application
  • Nuxt Application
  • Docker Compose
  • VuePress Documentation
  • AWS ECS

    • Terraform
    • Pulumi
    • CDK
  • Application Updates

    • GitHub Action
  • English
  • 简体中文
GitHub
Introduction
  • Django Application
  • Nuxt Application
  • Docker Compose
  • VuePress Documentation
  • AWS ECS

    • Terraform
    • Pulumi
    • CDK
  • Application Updates

    • GitHub Action
  • English
  • 简体中文
GitHub
  • Using docker compose

Using docker compose

  • Using docker compose for local development
    • nginx
    • nginx routing
    • backend

Using docker compose for local development

The easiest way to start the project in a local development environment is to use docker compose. The docker-compose.yml file in the root of the project contains a number of services for running both the application as well as utility services for debugging and observability.

The application services include:

  • nginx
  • nuxt-app
  • postgres
  • redis
  • backend (gunicorn process)
  • celery_worker
  • celery_beat
  • migrate

The utility services include:

  • pgadmin
  • redis-commander
  • mailhog
  • flower

nginx

The nginx service is like the front-door for the application.

nginx routing

All requests to localhost (port 80 of localhost) are sent to the nginx container. The nginx configuration file (nginx/dev/dev.conf) is used to route applications to either the backend container if the request starts with one of the following:

  • /api/
  • /admin/
  • /graphql/

All other requests will be sent to the nuxt-app service on port 3000 and are served by the Nuxt.js application.

backend

The backend service is the gunicorn server that runs the wsgi application Django application. It serves requests for the REST and GraphQL APIs, as well as the Django Admin interface.

Edit this page on GitHub
Last Updated:: 4/29/25, 11:56 PM
Contributors: Brian Caffey
Prev
Nuxt.js application
Next
A guide to this VuePress site