forked from compdemocracy/polis
-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
docker-compose.dev.yml
64 lines (57 loc) · 1.96 KB
/
docker-compose.dev.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
# This file is an override to the original docker-compose.yml file, and as such is meant to
# extend that configuration with some additional concerns for developers, such as a maildev
# server, and exposing most ports. DO NOT USE THIS IN PRODUCTION.
# This configuration does not work on its own and must be run together with docker-compose.yml,
# e.g. `docker compose --profile postgres -f docker-compose.yml -f docker-compose.dev.yml up`.
# (Note the usage in Makefile.)
# For more information see https://docs.docker.com/compose/extends/
services:
server:
build:
target: dev
args:
NODE_ENV: development
volumes:
# This will mount your local polis/server directory so changes can be watched and reloaded.
# But it will ignore your local node_modules and instead use a new container volume.
- ./server:/app
- /app/node_modules
ports:
- "${API_SERVER_PORT:-5000}:${API_SERVER_PORT:-5000}"
- "9229:9229"
math:
# command: clojure -X:dev-poller
volumes:
- ./math:/app
ports:
# nrepl port
- "18975:18975"
environment:
CHOKIDAR_USEPOLLING: "true"
postgres:
restart: no
ports:
- "${POSTGRES_PORT:-5432}:5432"
file-server:
build:
args:
NODE_ENV: development
ports:
- ${STATIC_FILES_PORT:-8080}:${STATIC_FILES_PORT:-8080}
maildev:
image: docker.io/maildev/maildev:1.1.1
labels:
polis_tag: ${TAG}
networks:
- polis-net
ports:
# User interface
- "1080:1080"
# SMTP port
- "1025:1025"
# TODO: Add individual entries for each of the clients, with hot-code reloading set up
# Either:
# * configure environment variables here so that the ports the server points to for these assets are the
# live-code-reloaded ports
# * leave the server pointing to the static builds, but have separate ports you can hit for the live-code
# reloading (making sure to document the process)