# This compose file is for development use ONLY!12# In order to preserve file ownership and permissions,3# create a '.env' file containing GTN_UID and GTN_GID.45# You may set a custom ruby tag using6# GTN_RUBY_TAG in your '.env' file78# In order to use this composition from multiple locations9# on one host, you also need to specify 'COMPOSE_PROJECT_NAME'10# in your '.env' file, so multiple compositions will not interfere.1112# If you would like to use multiple compositions in parallel,13# you also need to set the GTN_PORT and GTN_RELOAD_PORT14# in your '.env' file, so that ports do not collide.1516# In order to use this composition with rootless container platform17# installations, e.g. podman or docker rootless, please review18# user namespace settings of your installation.19# If you have set it to 'host', you need to set GTN_UID and GTN_GID20# to 0 in order to preserve correct file ownership.2122name: '${COMPOSE_PROJECT_NAME:-gtn-dev}'2324services:25jekyll-server:26image: 'ruby:${GTN_RUBY_TAG:-3-bookworm}'27volumes:28- './:/src/gtn:rw'29- '/dev/null:/src/gtn/Gemfile.lock:rw'30ports:31- '127.0.0.1:${GTN_PORT:-4000}:${GTN_PORT:-4000}'32- '127.0.0.1:${GTN_RELOAD_PORT:-4001}:${GTN_RELOAD_PORT:-4001}'33user: '${GTN_UID:-1000}:${GTN_GID:-1000}'34environment:35HOME: '/src/gtn'36working_dir: '/src/gtn'37command: '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}"'38healthcheck:39test: ['CMD', 'curl', '-f', 'http://localhost:${GTN_PORT:-4000}/training-material/']40interval: 30s41timeout: 1s42start_period: 2m43start_interval: 5s444546