Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
galaxyproject
GitHub Repository: galaxyproject/training-material
Path: blob/main/compose.yml
1669 views
1
# This compose file is for development use ONLY!
2
3
# In order to preserve file ownership and permissions,
4
# create a '.env' file containing GTN_UID and GTN_GID.
5
6
# You may set a custom ruby tag using
7
# GTN_RUBY_TAG in your '.env' file
8
9
# In order to use this composition from multiple locations
10
# on one host, you also need to specify 'COMPOSE_PROJECT_NAME'
11
# in your '.env' file, so multiple compositions will not interfere.
12
13
# If you would like to use multiple compositions in parallel,
14
# you also need to set the GTN_PORT and GTN_RELOAD_PORT
15
# in your '.env' file, so that ports do not collide.
16
17
# In order to use this composition with rootless container platform
18
# installations, e.g. podman or docker rootless, please review
19
# user namespace settings of your installation.
20
# If you have set it to 'host', you need to set GTN_UID and GTN_GID
21
# to 0 in order to preserve correct file ownership.
22
23
name: '${COMPOSE_PROJECT_NAME:-gtn-dev}'
24
25
services:
26
jekyll-server:
27
image: 'ruby:${GTN_RUBY_TAG:-3-bookworm}'
28
volumes:
29
- './:/src/gtn:rw'
30
- '/dev/null:/src/gtn/Gemfile.lock:rw'
31
ports:
32
- '127.0.0.1:${GTN_PORT:-4000}:${GTN_PORT:-4000}'
33
- '127.0.0.1:${GTN_RELOAD_PORT:-4001}:${GTN_RELOAD_PORT:-4001}'
34
user: '${GTN_UID:-1000}:${GTN_GID:-1000}'
35
environment:
36
HOME: '/src/gtn'
37
working_dir: '/src/gtn'
38
command: 'bash -c "bundle install --path .bundle && bundle exec jekyll serve --strict_front_matter -d _site/training-material --incremental -P ${GTN_PORT:-4000} -H 0.0.0.0 -l --livereload-port ${GTN_RELOAD_PORT:-4001}"'
39
healthcheck:
40
test: ['CMD', 'curl', '-f', 'http://localhost:${GTN_PORT:-4000}/training-material/']
41
interval: 30s
42
timeout: 1s
43
start_period: 2m
44
start_interval: 5s
45
46