/ data-imports / docker-compose.yml
docker-compose.yml
 1  services:
 2    "aa-data-import--mariadb":
 3      container_name: "aa-data-import--mariadb"
 4      image: "mariadb:10.10.2"
 5      environment:
 6        MARIADB_USER: "allthethings"
 7        MARIADB_PASSWORD: "password"
 8        MARIADB_ROOT_PASSWORD: "password"
 9        MARIADB_DATABASE: "allthethings"
10        MARIADB_INITDB_SKIP_TZINFO: "1" # https://github.com/MariaDB/mariadb-docker/issues/262#issuecomment-672375238
11      volumes:
12        - "./mariadb-conf:/etc/mysql/conf.d"
13        # These two are outside the repo, so we don't get huge contexts whenever building (neither in this subdir
14        # nor when running docker in the root of the repo).
15        - "../../aa-data-import--allthethings-mysql-data:/var/lib/mysql/"
16        - "../../aa-data-import--temp-dir:/temp-dir"
17      tmpfs: "/tmp"
18      command: "--init-file /etc/mysql/conf.d/init.sql"
19  
20    "aa-data-import--elasticsearch":
21      container_name: "aa-data-import--elasticsearch"
22      build:
23        context: '..'
24        dockerfile: Dockerfile-elasticsearch
25      environment:
26        - "ES_PORT=9200"
27        - "ES_SETTING_TRANSPORT_PORT=9300"
28        - "ES_SETTING_DISCOVERY_TYPE=single-node"
29        - "ES_SETTING_BOOTSTRAP_MEMORY__LOCK=true"
30        - "ES_JAVA_OPTS=-Xms8g -Xmx8g"
31        - "ES_SETTING_XPACK_SECURITY_ENABLED=false"
32      cap_add:
33        - IPC_LOCK
34      ulimits:
35        memlock:
36          soft: -1
37          hard: -1
38        nproc: 65535
39        nofile:
40          soft: 65535
41          hard: 65535
42      volumes:
43        - "../../aa-data-import--allthethings-elastic-data:/usr/share/elasticsearch/data"
44  
45    "aa-data-import--elasticsearchaux":
46      container_name: "aa-data-import--elasticsearchaux"
47      build:
48        context: '..'
49        dockerfile: Dockerfile-elasticsearch
50      environment:
51        - "ES_PORT=9201"
52        - "ES_SETTING_HTTP_PORT=9201"
53        - "ES_SETTING_TRANSPORT_PORT=9301"
54        - "ES_SETTING_DISCOVERY_TYPE=single-node"
55        - "ES_SETTING_BOOTSTRAP_MEMORY__LOCK=true"
56        - "ES_JAVA_OPTS=-Xms8g -Xmx8g"
57        - "ES_SETTING_XPACK_SECURITY_ENABLED=false"
58      cap_add:
59        - IPC_LOCK
60      ulimits:
61        memlock:
62          soft: -1
63          hard: -1
64        nproc: 65535
65        nofile:
66          soft: 65535
67          hard: 65535
68      volumes:
69        - "../../aa-data-import--allthethings-elasticsearchaux-data:/usr/share/elasticsearch/data"
70  
71    "aa-data-import--web":
72      container_name: "aa-data-import--web"
73      build:
74        context: ".."
75        target: "app"
76        args:
77          - "UID=1000"
78          - "GID=1000"
79      depends_on:
80        - "aa-data-import--mariadb"
81        - "aa-data-import--elasticsearch"
82      env_file:
83        - "./.env-data-imports"
84      restart: "unless-stopped"
85      stop_grace_period: "3s"
86      volumes:
87        - "./scripts:/scripts"
88        - "../../aa-data-import--temp-dir:/temp-dir"
89        - "../../aa-data-import--allthethings-mysql-data:/aa-data-import--allthethings-mysql-data"
90        - "../../aa-data-import--allthethings-elastic-data:/aa-data-import--allthethings-elastic-data"
91        - "../../aa-data-import--allthethings-elasticsearchaux-data:/aa-data-import--allthethings-elasticsearchaux-data"
92        - "../../aa-data-import--allthethings-worldcat-data:/worldcat"
93        - "./mariadb-conf:/etc/mysql/conf.d"
94        - "../public:/app/public"
95      tty: true