-
Notifications
You must be signed in to change notification settings - Fork 238
/
docker-compose.dev.yml
109 lines (101 loc) · 3.27 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
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
105
106
107
108
109
# mkdir -p volumes/{lib,pecan,portainer,postgres,rabbitmq,traefik}
#
# docker-compose -f docker-compose.yml -f docker-compose.dev.yml
services:
# web application. This expects the config.php to be copied from docker/web
# cp docker/web/config.docker.php web/config.php
#pecan:
# volumes:
# - 'pecan_web:/var/www/html/pecan'
# executor can compile the code
executor:
volumes:
- 'pecan_home:/pecan/'
- 'R_library:/usr/local/lib/R/site-library/'
# use same for R development in rstudio
rstudio:
volumes:
- 'pecan_home:/pecan/'
- 'pecan_home:/home/${PECAN_RSTUDIO_USER:-carya}/pecan/'
- 'R_library:/usr/local/lib/R/site-library/'
# add route to api for help when debugging plumber application. Same can
# be used for other apps.
#labels:
# - "traefik.http.routers.rstudio-api.rule=Host(`api.pecan.localhost`)"
# - "traefik.http.routers.rstudio-api.service=rstudio-api"
# - "traefik.http.services.rstudio-api.loadbalancer.server.port=8000"
# use following as template for other models
# this can be used if you are changng the code for a model in PEcAN
sipnet:
volumes:
- 'R_library:/usr/local/lib/R/site-library/'
# this will open postgres to the hostcompute
#postgres:
# ports:
# - '5432:5432'
# Allow to see all docker containers running, restart and see log files.
#portainer:
# image: portainer/portainer:latest
# command:
# - --admin-password=${PORTAINER_PASSWORD:-}
# - --host=unix:///var/run/docker.sock
# restart: unless-stopped
# networks:
# - pecan
# labels:
# - "traefik.enable=true"
# - "traefik.backend=portainer"
# - "traefik.frontend.rule=${TRAEFIK_FRONTEND_RULE:-}PathPrefixStrip: /portainer"
# - "traefik.website.frontend.whiteList.sourceRange=${TRAEFIK_IPFILTER:-172.16.0.0/12}"
# volumes:
# - /var/run/docker.sock:/var/run/docker.sock
# - portainer:/data
# -----------------------------------------------------------------------
# Theser are the volumes mounted into the containers. For speed reasons
# it is best to use docker native containers (less important on Linux).
# The pecan_home and pecan_web are important since this allows us to
# share the PEcAn source code from local machine to docker containers.
# Volumes are placed outside of the PEcAn source tree to allow for
# optimized caching of the changed files.
# -----------------------------------------------------------------------
volumes:
pecan_home:
driver_opts:
type: none
device: '${PWD}'
o: bind
pecan_web:
driver_opts:
type: none
device: '${PWD}/web/'
o: bind
R_library:
# driver_opts:
# type: none
# device: '${HOME}/volumes/pecan/R_library'
# o: bind
#pecan:
# driver_opts:
# type: none
# device: '${HOME}/volumes/pecan/pecan'
# o: bind
#traefik:
# driver_opts:
# type: none
# device: '${HOME}/volumes/pecan/traefik'
# o: bind
#postgres:
# driver_opts:
# type: none
# device: '${HOME}/volumes/pecan/postgres'
# o: bind
#rabbitmq:
# driver_opts:
# type: none
# device: '${HOME}/volumes/pecan/rabbitmq'
# o: bind
portainer:
# driver_opts:
# type: none
# device: '${HOME}/volumes/pecan/portainer'
# o: bind