-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.override.yml
73 lines (73 loc) · 2.58 KB
/
docker-compose.override.yml
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
services:
db:
ports:
- 5432:5432
db_migrate:
build:
context: .
dockerfile: Dockerfile.db_migrations
volumes:
- ./migrations:/flyway/sql
easi:
build:
context: .
dockerfile: Dockerfile
target: dev
image: easi-backend:latest
volumes:
# Volume mounting the entire './' directory is dangerous, as it mounts OS-specific folders (and things like .git)
# So instead, only volume mount things we need!
#
# Note, however, that MOST of the files that we care about are copied in the Dockerfile for us, we only really need to copy over the things that
# we want to be able to change on the fly in local developmement, like our ./pkg/ directory & Air configs.
# This means that editing things like your go.mod/go.sum and ./cmd/ directory WILL require a rebuild of the image, and won't hot reload with Air.
- ./pkg/:/easi/pkg/
- ./cmd/:/easi/cmd/ # Go build uses ./cmd as well
- ./.air.conf:/easi/.air.conf
- ./.airDebug.conf:/easi/.airDebug.conf
- ./.airDebugWait.conf:/easi/.airDebugWait.conf
- /easi/tmp/air/ # This should match .air.conf's tmp_dir. Note that this isn't a volume mount to a local file/folder, but just an empty volume for Air to use.
# The only reason we need to mount Cypress here is because the `flagdata.json` (used when FLAG_SOURCE=FILE) happens to live in the ./cypress/ directory.
# This is not ideal (perhaps it should be in the root directory?), but for now we just volume mount cypress as a workaround.
# NOTE: This is only really the case if you set FLAG_SOURCE=FILE locally, or (more importantly) in ./docker-compose-cypress_ci.yml
- ./cypress/:/easi/cypress/
entrypoint: air ${AIR_CONFIG}
ports:
- 8080:8080
- 2345:2345 #for dlv debugging
environment:
- LOCAL_AUTH_ENABLED
easi_client:
profiles: ["frontend"]
build:
context: .
dockerfile: Dockerfile.client
target: local_dev
environment:
- VITE_APP_ENV
- VITE_API_ADDRESS
- VITE_GRAPHQL_ADDRESS
- VITE_OKTA_CLIENT_ID
- VITE_OKTA_DOMAIN
- VITE_OKTA_ISSUER
- VITE_OKTA_REDIRECT_URI
- VITE_OKTA_SERVER_ID
- VITE_LD_ENV_USER
- VITE_LD_USER_HASH
- VITE_LD_CLIENT_ID
- VITE_LOCAL_AUTH_ENABLED
- CHOKIDAR_USEPOLLING=true
- ESLINT_NO_DEV_ERRORS=true
entrypoint: ['yarn', 'start']
volumes:
- .:/app
- /app/node_modules
ports:
- 3000:3000
minio:
volumes:
- ./tmp/minio:/data
email:
ports:
- 1025:1025
- 1080:1080