piotrpolak/pepiscms

View on GitHub
docker-compose.yml

Summary

Maintainability
Test Coverage
version: '2.1'
services:
  web:
    environment:
      PEPIS_CMS_DATABASE_CONFIG_TYPE: native
      PEPIS_CMS_DATABASE_HOSTNAME: db
      PEPIS_CMS_DATABASE_USERNAME: pepiscms
      PEPIS_CMS_DATABASE_PASSWORD: pepiscms
      PEPIS_CMS_DATABASE_DATABASE: pepiscms
      PEPIS_CMS_AUTH_DRIVER: native
      PEPIS_CMS_AUTH_EMAIL: demo@example.com
      PEPIS_CMS_AUTH_PASSWORD: demodemo
      PEPIS_CMS_SITE_EMAIL: demo@example.com
      PEPIS_CMS_SITE_NAME: Demonstration
      PEPIS_CMS_OBJECT_CACHE_OBJECT_IS_ENABLED: 'true'
      PEPIS_CMS_IS_UNATTENDED_INSTALL: 'true' # Set it to false to test manual installation
      PEPIS_CMS_EMAIL_USE_SMTP: 'true'
      PEPIS_CMS_EMAIL_SMTP_HOST: fake-smtp
      PEPIS_CMS_EMAIL_SMTP_USER: fake-smtp
      PEPIS_CMS_EMAIL_SMTP_PASS: fake-smtp
      PEPIS_CMS_EMAIL_SMTP_PORT: 25
    ports:
      - "80:80"
    links:
      - db
    volumes:
      - ${HOME}/.composer/.cache/:/root/.composer/cache/
#      - ./tmp/html:/var/www/html # Comment it out if you don't want preview/edit instance files
#      - /home/${USER}/.ssh/id_rsa:/root/.ssh/id_rsa # Uncomment if you need to pull any custom composer packages
      - ./pepiscms:/var/www/html/vendor/piotrpolak/pepiscms/pepiscms
      - ./features:/var/www/html/vendor/piotrpolak/pepiscms/features
      - ./docs:/var/www/html/vendor/piotrpolak/pepiscms/docs
      - ./behat.yml:/var/www/html/vendor/piotrpolak/pepiscms/behat.yml
      - ./composer.json:/var/www/html/vendor/piotrpolak/pepiscms/composer.json
      - ./tests:/var/www/html/vendor/piotrpolak/pepiscms/tests
      - ./phpunit.xml.dist:/var/www/html/vendor/piotrpolak/pepiscms/phpunit.xml.dist
      - ./CHANGELOG.md:/var/www/html/vendor/piotrpolak/pepiscms/CHANGELOG.md
      - ./install.php:/var/www/html/vendor/piotrpolak/pepiscms/install.php
      - ./composer.json:/var/www/html/untouchable/composer.json:ro
      - ./.php_cs.dist:/var/www/html/.php_cs.dist
      - ./.phplint.yml:/var/www/html/.phplint.yml
      - ./tmp/.composer/:/root/.composer/
    build: ./build/docker/web/
    command: /install.sh
    depends_on:
      db:
        condition: service_healthy

  db:
    image: mariadb:10.5
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_USER: pepiscms
      MYSQL_PASSWORD: pepiscms
      MYSQL_DATABASE: pepiscms
    healthcheck:
      test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]
      timeout: 20s
      retries: 10
# Uncomment this to persist MySQL data between concurrent runs
#    volumes:
#      - ./mysql:/var/lib/mysql
# Uncomment this to connect to MySQL from the host machine
#    ports:
#      - "3306:3306"
  fake-smtp:
    image: munkyboy/fakesmtp
    container_name: fake-smtp
    ports:
      - "2525:25"
    volumes:
      - ./tmp/fake-smtp-emails:/var/mail
  fake-smtp-web:
    image: mjstewart/fakesmtp-web:1.3
    container_name: fake-smtp-web
    ports:
      - "60500:8080"
    volumes:
      - ./tmp/fake-smtp-emails:/var/mail
    environment:
      - EMAIL_INPUT_DIR_POLL_RATE_SECONDS=10
    depends_on:
      - fake-smtp