| 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 <service_name></code> | | <code>docker-compose up --build --remove-orphans --detach <service_name></code> |
| | | | |
| − | * To stop one service: | + | *To stop one service: |
| | + | |
| | <code>docker-compose stop <service_name></code> | | <code>docker-compose stop <service_name></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 <service_name></code> | | <code>docker-compose logs -f <service_name></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 /> |