Changes

Jump to navigation Jump to search
1,908 bytes added ,  22 August
m
Line 152: Line 152:  
<br />
 
<br />
   −
== Docker-compose ==
+
==Docker-compose==
<br />
+
===Use this docker compose to run the project locally===
= Use this docker compose to run the project locally =
+
 
 +
*To start all services:
   −
* To start all services:
   
   <code>docker-compose up --build --remove-orphans --detach</code>
 
   <code>docker-compose up --build --remove-orphans --detach</code>
   −
* To restart only one service:
+
*To restart only one service:
 +
 
 
   <code>docker-compose up --build --remove-orphans --detach &lt;service_name&gt;</code>
 
   <code>docker-compose up --build --remove-orphans --detach &lt;service_name&gt;</code>
   −
* To stop one service:
+
*To stop one service:
 +
 
 
   <code>docker-compose stop &lt;service_name&gt;</code>
 
   <code>docker-compose stop &lt;service_name&gt;</code>
   −
* To stop all services:
+
*To stop all services:
 +
 
 
   <code>docker-compose down</code>
 
   <code>docker-compose down</code>
   −
* To view logs of a service:
+
*To view logs of a service:
 +
 
 
   <code>docker-compose logs -f &lt;service_name&gt;</code>
 
   <code>docker-compose logs -f &lt;service_name&gt;</code>
   −
* To view logs of all services:
+
*To view logs of all services:
 +
 
 
   <code>docker-compose logs -f</code>
 
   <code>docker-compose logs -f</code>
 +
 +
=== docker-compose.yml example for multiple services ===
 +
<syntaxhighlight lang="yaml">
 +
 +
version: '3.8'
 +
 +
services:
 +
  postgres:
 +
    image: postgres:14.13
 +
    environment:
 +
      POSTGRES_DB: mydatabase
 +
      POSTGRES_USER: myuser
 +
      POSTGRES_PASSWORD: mypassword
 +
    volumes:
 +
      - postgres_data:/var/lib/postgresql/data
 +
    ports:
 +
      - "5432:5432"
 +
 +
  redis:
 +
    image: redis:latest
 +
    ports:
 +
      - "6379:6379"
 +
 +
  celery:
 +
    build:
 +
        context: .
 +
        dockerfile: Dockerfile
 +
    environment:
 +
      DJANGO_SETTINGS_MODULE: app.settings
 +
      REDIS_HOST: redis
 +
      DB_HOST: postgres
 +
      DB_PORT: 5432
 +
      DB_NAME: mydatabase
 +
      DB_USER: myuser
 +
      DB_PASSWORD: mypassword
 +
 +
    volumes:
 +
      - .:/app
 +
      - ./media:/app/media
 +
    working_dir: /app
 +
    command: celery -A app worker --loglevel=info
 +
    depends_on:
 +
      - postgres
 +
      - redis
 +
 +
  flower:
 +
    build:
 +
        context: .
 +
        dockerfile: Dockerfile
 +
    environment:
 +
      DJANGO_SETTINGS_MODULE: app.settings
 +
      DB_HOST: postgres
 +
      DB_NAME: mydatabase
 +
      DB_USER: myuser
 +
      DB_PASSWORD: mypassword
 +
      REDIS_HOST: redis
 +
    volumes:
 +
      - .:/app
 +
      - ./media:/app/media
 +
    working_dir: /app
 +
    command: celery -A app flower --loglevel=info --basic-auth=admin:admin
 +
    depends_on:
 +
      - postgres
 +
      - redis
 +
    ports:
 +
      - "5555:5555"
 +
 +
  django:
 +
    build:
 +
      context: .
 +
      dockerfile: Dockerfile
 +
    environment:
 +
      DJANGO_SETTINGS_MODULE: app.settings
 +
      REDIS_HOST: redis
 +
      DB_HOST: postgres
 +
      DB_PORT: 5432
 +
      DB_NAME: mydatabase
 +
      DB_USER: myuser
 +
      DB_PASSWORD: mypassword
 +
    volumes:
 +
      - .:/app
 +
      - ./media:/app/media
 +
    working_dir: /app
 +
    command: python3 manage.py runserver 0.0.0.0:8000
 +
    depends_on:
 +
      - postgres
 +
      - redis
 +
    ports:
 +
      - "8000:8000"
 +
 +
volumes:
 +
  postgres_data:
 +
    driver: local
 +
 +
</syntaxhighlight><br />

Navigation menu