taged

Форк
0
/
docker-compose.yaml 
109 строк · 2.6 Кб
1
version: '3.3'
2

3
services:
4
  elasticsearch:
5
    image: elasticsearch:7.14.1
6
    restart: always
7
    ports:
8
      - "127.0.0.1:9200:9200"
9
    volumes:
10
      - ./esdata:/usr/share/elasticsearch/data
11
      - ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
12
    environment:
13
      - discovery.type=single-node
14
      - ES_JAVA_OPTS=-Xms750m -Xmx750m
15
    deploy:
16
      resources:
17
        limits:
18
          memory: "3G"
19
        reservations:
20
          memory: "2G"
21
    healthcheck:
22
      test: "curl -s localhost:9200 > /dev/null || exit 1"
23
      interval: 10s
24
      timeout: 5s
25
      retries: 10
26
    networks:
27
      - knowledge-base-elasticsearch-network
28

29
  web:
30
    image: nginx
31
    ports:
32
      - "443:443"
33
      - "80:80"
34
    restart: always
35
    deploy:
36
      resources:
37
        limits:
38
          memory: "200Mb"
39
        reservations:
40
          memory: "100Mb"
41
    volumes:
42
      # Медиа - картинки, книги
43
      - ./media:/var/www/media:ro
44
      # Статика - CSS, JS
45
      - ./static:/var/www/static:ro
46

47
      # Настройки nginx
48
      - ./settings/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
49
      # Приватный ключ
50
      - /etc/ssl/taged/private:/etc/ssl/private/:ro
51
      # Сертификат и ключи Диффи-Хеллмана
52
      - /etc/ssl/taged/certs:/etc/ssl/certs/:ro
53
    depends_on:
54
      - knowledge_base
55
    networks:
56
      - knowledge-base-web-network
57

58
  knowledge_base:
59
    build: .
60
    image: knowledge_base:1.1.2
61
    restart: always
62
    command: /bin/bash /app/run.sh
63
    env_file:
64
      - /etc/sysconfig/taged
65

66
    deploy:
67
      resources:
68
        limits:
69
          memory: "300M"
70
        reservations:
71
          memory: "200M"
72

73
    volumes:
74
      # Чтобы добавлять новые изображения и книги
75
      - ./media:/app/media
76
      - ./static:/app/static
77
      # База данных
78
      - ./db.sqlite3:/app/db.sqlite3
79
    depends_on:
80
      - elasticsearch
81
      - redis
82
    networks:
83
      - knowledge-base-web-network
84
      - knowledge-base-elasticsearch-network
85

86
  redis:
87
    image: redis
88
    restart: always
89
    networks:
90
      - knowledge-base-elasticsearch-network
91
    deploy:
92
      resources:
93
        limits:
94
          memory: "100M"
95
        reservations:
96
          memory: "50M"
97

98
networks:
99
  # Создаем свою сеть, чтобы не было конфликтов с уже существующей
100
  knowledge-base-web-network:
101
    ipam:
102
      driver: default
103
      config:
104
        - subnet: '10.198.198.0/29'
105
  knowledge-base-elasticsearch-network:
106
    ipam:
107
      driver: default
108
      config:
109
        - subnet: '10.199.198.0/29'
110

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.