view scripts/Docker/docker-compose.yml @ 6797:a24ec63759f6

Docker fix healthcheck; allow modules; cleanup; set uid The docker healthcheck was hardcoded to check the /issues/ tracker. Replace healthcheck with one that looks for the tracker names on the roundup-server command line and checks the first one. During build, additional modules can be specified using --build-arg="pip_mod=requests setproctitle". This lets the user add modules unique to the tracker without having to 'docker commit' a new image from a running container. Use --build-arg="roundup_uid=2000" to change the uid roundup runs as. The default is 1000. This is done at build time, not run time. Remove the sphinx package. All the dependent packages were removed before, but sphinx wasn't. This led to spurious warnings fom the pip dependency resolver. Update docs with changes.
author John Rouillard <rouilj@ieee.org>
date Thu, 21 Jul 2022 00:54:52 -0400
parents 34cbd0e633d2
children
line wrap: on
line source

# docker-roundup
# roundup issue tracker application with mariadb running as docker container
#
# docker-compose.yml
#
# Build components:
#    docker-compose  -f scripts/Docker/docker-compose.yml build
# 
# Install tracker template:
#   $ docker-compose  -f scripts/Docker/docker-compose.yml run \
#        --rm --entrypoint roundup-admin --no-deps roundup-app \
#        -i tracker install
#
# Edit scripts/Docker/tracker/config.ini configure database settings
# and any NO DEFAULT settings.
#
# Initialize the database, wait 1 minute so 
#   
#   $ docker-compose  -f scripts/Docker/docker-compose.yml run \
#        --rm --entrypoint roundup-admin roundup-app \
#        -i tracker
#
# wait 1 minute for mariadb to initialize
# init tracker at roundup prompt
#
#   roundup> init
#   roundup> exit
#
# may need ^\ to get roundup-admin to exit.
#
# run
#    docker-compose -f scripts/Docker/docker-compose.yml up
#
# tracker should be running at port 9017.

# Note: mysql volume and tracker directories will be put in the
# scripts/Docker subdir.
# Paths for volumes are relative to docker-compose.yml location not
# docker-compose cwd or build context directory.

version: '3'
services:
  mariadb:
    image: lscr.io/linuxserver/mariadb
    container_name: mariadb
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
      - MYSQL_ROOT_PASSWORD=myPassword
      - MYSQL_DATABASE=roundup
      - MYSQL_USER=roundup_user
      - MYSQL_PASSWORD=roundup_pass
#    ports:
#      - 3306:3306
    volumes:
      - ./dbData:/config

  roundup-app:
    container_name: roundup-app
    build:
       context: ../..
       dockerfile: scripts/Docker/Dockerfile
       args:
         source: local_pip
         #source: local
         #source: pypi
    command: "issues=tracker"
    restart: unless-stopped
    environment:
      - TZ=America/New_York
    ports:
      - 9017:8080
    links:
      - mariadb
    depends_on:
      - mariadb
    volumes:
      # will be placed in Docker subdir next to this file
      - ./tracker:/usr/src/app/tracker

Roundup Issue Tracker: http://roundup-tracker.org/