docker-compose.yml
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