Skip to content
Snippets Groups Projects
docker-compose-ci.yml 3.97 KiB
version: "3"

services:

  python-3.6:
    image: hivemind/python:3.6
    build:
      context: .
      dockerfile: ./scripts/ci/python/3.6/Dockerfile
      args:
        - user=${USER}
        - workdir=/home/${USER}
    user: ${USER}
    shm_size: 0
    # Below command makes your container running forever.
    # command: ["tail", "-f", "/dev/null"]

  python-3.8:
    image: hivemind/python:3.8
    shm_size: 0
    build:
      context: .
      dockerfile: ./scripts/ci/python/3.8/Dockerfile
      args:
        - user=${USER}
        - workdir=/home/${USER}
    user: ${USER}
    # Below command makes your container running forever.
    # command: ["tail", "-f", "/dev/null"]

  postgres-10:
    image: hivemind/postgres:10
    restart: unless-stopped
    build:
      context: .
      dockerfile: ./scripts/ci/postgres/10/Dockerfile
    environment:
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
    volumes:
      - postgres-10-pgdata:/var/lib/postgresql/data
    ports:
      - "${POSTGRES_10_PUBLISHED_PORT}:5432"
    shm_size: 0
    command: [
      "postgres",
      "-c", "shared_preload_libraries=pg_stat_statements,pg_qualstats",
      "-c", "track_functions=pl",
      "-c", "track_io_timing=on",
      "-c", "track_activity_query_size=2048",
      "-c", "pg_stat_statements.max=10000",
      "-c", "pg_stat_statements.track=all",
      "-c", "max_connections=100",
      "-c", "shared_buffers=12GB",
      "-c", "effective_cache_size=36GB",
      "-c", "maintenance_work_mem=2GB",
      "-c", "checkpoint_completion_target=0.9",
      "-c", "wal_buffers=16MB",
      "-c", "default_statistics_target=100",
      "-c", "random_page_cost=1.1",
      "-c", "effective_io_concurrency=200",
      "-c", "work_mem=31457kB",
      "-c", "min_wal_size=2GB",
      "-c", "max_wal_size=8GB",
      "-c", "max_worker_processes=12",
      "-c", "max_parallel_workers_per_gather=4",
      "-c", "max_parallel_workers=12",
    ]

  postgres-12:
    image: hivemind/postgres:12