view scripts/Docker/docker-compose.yml @ 7906:470616e64414

issue2551334 - get test suite running under windows Fix test_cgi under windows. Few classes of errors: 1) comparing paths with a/b (unix) to a\b (windows). Use normpath to fix it. Also change regexps used for path matching to use either \ or / for directory separators. 2) database not being closed preventing deletion of test case directory. Windows doesn't allow deletion of open files. In some cases replaced calling client.inner_mail() with main() because main() makes sure to close the database. In other cases assigned self.db = client.db beacuse client reopens the database and closes the original self.db. Reassigning allows tearDown to close the last opened handle to a db. 3) commit the admin password to the database. If it's not commited calling the code sometimes comes up with a different admin password. Not sure why we don't see this on linux. 4) run commit() on database so that sqlite databases can be closed and deleted. Unit tests don't call the main entry points that have finally clauses to close the databases properly, so do it in the test. 5) split tests that try to resolve symbolic links in the template directory to a separate method. Under windows user needs special permissions to creae symbolic links, so I report the method is skipped if creating a link fails.
author John Rouillard <rouilj@ieee.org>
date Sat, 27 Apr 2024 23:19:51 -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/