-
-
Notifications
You must be signed in to change notification settings - Fork 43
/
docker-compose.yml
84 lines (83 loc) · 4.39 KB
/
docker-compose.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
74
75
76
77
78
79
80
81
82
83
84
version: '3.4'
services:
parse:
image: netreconlab/parse-hipaa:latest
environment:
CLUSTER_INSTANCES: 1
PARSE_SERVER_APPLICATION_ID: E036A0C5-6829-4B40-9B3B-3E05F6DF32B2
PARSE_SERVER_PRIMARY_KEY: E2466756-93CF-4C05-BA44-FF5D9C34E99F
PARSE_SERVER_READ_ONLY_PRIMARY_KEY: 367F7395-2E3A-46B1-ABA3-963A25D533C3
PARSE_SERVER_WEBHOOK_KEY: 553D229E-64DF-4928-99F5-B71CCA94A44A
PARSE_SERVER_ENCRYPTION_KEY: 72F8F23D-FDDB-4792-94AE-72897F0688F9
PARSE_SERVER_TRUST_PROXY: 'true'
PARSE_SERVER_OBJECT_ID_SIZE: 32
PARSE_SERVER_DATABASE_URI: postgres://${PG_PARSE_USER}:${PG_PARSE_PASSWORD}@db:${DB_PORT}/${PG_PARSE_DB}
PORT: ${PORT}
PARSE_SERVER_MOUNT_PATH: ${MOUNT_PATH}
PARSE_SERVER_URL: http://parse:${PORT}${MOUNT_PATH}
PARSE_SERVER_PUBLIC_URL: http://localhost:${PORT}${MOUNT_PATH}
PARSE_SERVER_CLOUD: /parse-server/cloud/main.js
PARSE_SERVER_MOUNT_GRAPHQL: 'false'
PARSE_SERVER_ALLOW_CLIENT_CLASS_CREATION: 'false' # Don't allow classes to be created on the client side. You can create classes by using ParseDashboard instead
PARSE_SERVER_ALLOW_CUSTOM_OBJECTID: 'true' # Required to be true for ParseCareKit
PARSE_SERVER_ENABLE_SCHEMA_HOOKS: 'true'
PARSE_SERVER_DIRECT_ACCESS: 'false' # WARNING: Setting to 'true' is known to cause crashes on parse-hipaa running postgres
PARSE_SERVER_ENABLE_PRIVATE_USERS: 'true'
PARSE_SERVER_USING_PARSECAREKIT: 'true' # If you are not using ParseCareKit, set this to 'false'
PARSE_SERVER_RATE_LIMIT: 'false'
PARSE_SERVER_RATE_LIMIT_REQUEST_COUNT: '100'
PARSE_SERVER_RATE_LIMIT_INCLUDE_PRIMARY_KEY: 'false'
PARSE_SERVER_RATE_LIMIT_INCLUDE_INTERNAL_REQUESTS: 'false'
PARSE_VERBOSE: 'false'
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} # Needed for wait-for-postgres.sh
ports:
- 127.0.0.1:${PORT}:${PORT}
volumes:
- ./scripts/wait-for-postgres.sh:/parse-server/wait-for-postgres.sh
- ./parse/index.js:/parse-server/index.js
- ./parse/cloud:/parse-server/cloud
- ./files:/parse-server/files # All files uploaded from users are stored to an ecrypted drive locally for HIPAA compliance
command: ["./wait-for-postgres.sh", "db", "node", "index.js"]
depends_on:
- db
db:
image: netreconlab/hipaa-postgres:latest
environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
PG_PARSE_USER: ${PG_PARSE_USER}
PG_PARSE_PASSWORD: ${PG_PARSE_PASSWORD}
PG_PARSE_DB: ${PG_PARSE_DB}
PMM_USER: ${PMM_USER}
PMM_PASSWORD: ${PMM_PASSWORD}
restart: always
ports:
- 127.0.0.1:${DB_PORT}:${DB_PORT}
# Uncomment volumes below to persist postgres data. Make sure to change directory to store data locally
# volumes:
# - /My/Encrypted/Drive/data:/var/lib/postgresql/data #Mount your own drive
# - /My/Encrypted/Drive/archivedir:/var/lib/postgresql/archivedir #Mount your own drive
dashboard:
image: netreconlab/parse-hipaa-dashboard:latest
environment:
PARSE_DASHBOARD_ALLOW_INSECURE_HTTP: 1
PARSE_DASHBOARD_COOKIE_SESSION_SECRET: AB8849B6-D725-4A75-AA73-AB7103F0363F # This should be constant across all deployments on your system
MOUNT_PATH: /dashboard # This needs to be exactly what you plan it to be behind the proxy, i.e. If you want to access cs.uky.edu/dashboard it should be "/dashboard"
volumes:
- ./parse/parse-dashboard-config.json:/parse-hipaa-dashboard/lib/parse-dashboard-config.json
ports:
- 127.0.0.1:${DASHBOARD_PORT}:${DASHBOARD_PORT}
depends_on:
- parse
# monitor:
# image: percona/pmm-server:2
# restart: always
# ports:
# - 127.0.0.1:1080:${PMM_PORT} # Unsecure connections
# - 127.0.0.1:1443:${PMM_TLS_PORT} # Secure connections
# Uncomment volumes below to persist postgres data. Make sure to change directory to store data locally
# volumes:
# - /My/Encrypted/Drive/srv:/srv
# scan:
# image: clamav/clamav:latest
# restart: always