forked from INSO-World/Binocular
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
104 lines (99 loc) · 2.97 KB
/
docker-compose.yml
File metadata and controls
104 lines (99 loc) · 2.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
x-binocular-backend-image: &binocular-backend-image ghcr.io/inso-world/binocular-backend:${TAG:-latest}
x-node-image: &node-image node:22.21.1-alpine # check if same as in .nvmrc!
x-binocular-db-image: &binocular-db-image arangodb:3.12 #ghcr.io/inso-world/binocular-database:6773404196 #:${TAG:-latest-dev}
x-binocular-depends-on: &binocular-depends-on
- db
x-binocular-volumes-backend: &binocular-volumes-backend
- ./foxx:/app/binocular/foxx
- ./utils:/app/binocular/utils
- ./binocular-backend:/app/binocular/backend
- ./services:/app/binocular/services
- /path_to_repo:/app/binocular/repo #TODO: change as required, e.g. ./ for local Binocular
- ./.binocularrc-binocular:/app/binocular/.binocularrc
x-binocular-build-args: &binocular-build-args
NODE_VERSION: "22.21.1" # check if same as in .nvmrc!
networks:
binocular:
services:
db:
image: *binocular-db-image
container_name: binocular_db
restart: unless-stopped
ports:
- "8529:8529"
environment:
ARANGO_NO_AUTH: 1
networks:
- binocular
volumes:
- ./docker/arangodb/data:/var/lib/arangodb3
binocular-init:
image: *binocular-backend-image
depends_on: *binocular-depends-on
container_name: "binocular_init"
environment:
- DEBUG=idx*,importer*,git*,db*,context*
command: [
"binocular",
"run",
# "--clean", # uncomment to truncate all documents
# "--no-vcs",
# "--no-ci",
# "--no-its",
# "--no-jobs",
"--no-frontend",
"--no-server",
"/app/binocular/repo/",
]
volumes: *binocular-volumes-backend
networks:
- binocular
build:
context: ./
dockerfile: docker/backend.Dockerfile
args: *binocular-build-args
binocular:
container_name: binocular_app
image: *node-image
depends_on:
- binocular-backend
working_dir: "/app/binocular/frontend"
entrypoint: ["/bin/sh"]
command: ["-c", "npm i && npm run dev -- --host"]
ports:
- 8088:8080
networks:
- binocular
environment:
- BACKEND_URL=binocular_backend
volumes:
- ./binocular-frontend-new:/app/binocular/frontend
- ./utils:/app/binocular/utils
build:
context: ./
dockerfile: docker/frontend.v2.Dockerfile
target: builder
binocular-backend:
image: *binocular-backend-image
depends_on: *binocular-depends-on
container_name: "binocular_backend"
# user: root
environment:
- DEBUG=idx*,importer*,git*,db*,context*
entrypoint: ["/bin/sh"]
command:
[
"-c",
"npm i && npm i -g tsx ts-node && npm i --include=dev mocha && tsx watch binocular.ts run --no-frontend --no-vcs --no-ci --no-its --no-jobs /app/binocular/repo"
]
working_dir: "/app/binocular/backend"
ports:
- "8080:8080"
- "48763:48763"
build:
context: ./
dockerfile: docker/backend.Dockerfile
args: *binocular-build-args
volumes: *binocular-volumes-backend
networks:
- binocular