From 904ddae91cf40368eac0458f3edcda3c1cb22616 Mon Sep 17 00:00:00 2001 From: Marwolf Date: Tue, 31 Jul 2018 13:42:29 -0400 Subject: [PATCH] Initial commit of Travis CL --- .gitignore | 2 + .travis.yml | 19 +++++++ docker-compose.travis.yml | 115 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 136 insertions(+) create mode 100644 .travis.yml create mode 100644 docker-compose.travis.yml diff --git a/.gitignore b/.gitignore index cffcac0..0f90b47 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,5 @@ Splunk/opt-splunk-var/* !Splunk/opt-splunk-var/empty *.log + +etc/nginx/default\.conf diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..d5f3465 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,19 @@ +sudo: required + +env: + DOCKER_COMPOSE_VERSION: 1.22.0 + +services: + - docker + +before_install: + - curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose + - chmod +x docker-compose + - sudo mv docker-compose /usr/local/bin + - docker-compose -v + - docker -v + - mkdir Docker-Home + +script: + - docker-compose -f docker-compose.travis.yml up -d + - docker-compose -f docker-compose.travis.yml ps diff --git a/docker-compose.travis.yml b/docker-compose.travis.yml new file mode 100644 index 0000000..03f7d99 --- /dev/null +++ b/docker-compose.travis.yml @@ -0,0 +1,115 @@ +version: '3' +services: + + web: + image: nginx:alpine + container_name: nginx + volumes: + - "./etc/nginx/default.conf:/etc/nginx/conf.d/default.conf" + - "./Website:/var/www/html/public:ro" + - "./etc/nginx/default.template.conf:/etc/nginx/conf.d/default.template" + - "./etc/logs/nginx:/var/log/nginx" + - "./etc/logs/letsencrypt:/var/log/letsencrypt" + - "./etc/letsencrypt/certs:/etc/letsencrypt" + - "./etc/letsencrypt/data:/data/letsencrypt" + ports: + - "80:80" + - "443:443" + environment: + - NGINX_HOST=${NGINX_HOST} + command: /bin/sh -c "envsubst '$$NGINX_HOST' < /etc/nginx/conf.d/default.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'" + restart: always + depends_on: + - php + - mysqldb +# logging: +# driver: splunk +# options: +# splunk-token: "e1c56fa1-9f7c-4d2c-ba8f-989b15d85008" +# splunk-url: "https://127.0.0.1:8088" +# splunk-insecureskipverify: "true" +# tag: "{{.ImageName}}/{{.Name}}/{{.ID}}" +# labels: "Nginx" + + php: + image: nanoninja/php-fpm:${PHP_VERSION} + container_name: php + restart: always + volumes: + - "./etc/php/php.ini:/usr/local/etc/php/conf.d/php.ini" + - "./Website:/var/www/html/public" +# logging: +# driver: splunk +# options: +# splunk-token: "e1c56fa1-9f7c-4d2c-ba8f-989b15d85008" +# splunk-url: "https://127.0.0.1:8088" +# splunk-insecureskipverify: "true" +# tag: "{{.ImageName}}/{{.Name}}/{{.ID}}" +# labels: "PHP" + + myadmin: + image: phpmyadmin/phpmyadmin + container_name: phpmyadmin + ports: + - "8080:80" + environment: + - PMA_ARBITRARY=1 + - PMA_HOST=${MYSQL_HOST} + restart: always + depends_on: + - mysqldb +# logging: +# driver: splunk +# options: +# splunk-token: "e1c56fa1-9f7c-4d2c-ba8f-989b15d85008" +# splunk-url: "https://127.0.0.1:8088" +# splunk-insecureskipverify: "true" +# tag: "{{.ImageName}}/{{.Name}}/{{.ID}}" +# labels: "PHPMyAdmin" + + mysqldb: + image: mariadb:${MARIADB_VERSION} + container_name: mysql + container_name: ${MYSQL_HOST} + restart: always + env_file: + - ".env" + environment: + - MYSQL_DATABASE=${MYSQL_DATABASE} + - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} + - MYSQL_USER=${MYSQL_USER} + - MYSQL_PASSWORD=${MYSQL_PASSWORD} + ports: + - "3306:3306" + volumes: + - "./data/db/mysql:/var/lib/mysql" + - "./etc/mariadb/innodb-fix.cnf:/etc/mysql/conf.d/innodb-fix.cnf" +# logging: +# driver: splunk +# options: +# splunk-token: "e1c56fa1-9f7c-4d2c-ba8f-989b15d85008" +# splunk-url: "https://127.0.0.1:8088" +# splunk-insecureskipverify: "true" +# tag: "{{.ImageName}}/{{.Name}}/{{.ID}}" +# labels: "MySQL" + + tomcat: + image: tomcat:9.0.10-jre10-slim + container_name: tomcat + ports: + - "8082:8082" + - "8443:8443" + restart: always + volumes: + - "./Website:/usr/local/tomcat/webapps/ROOT" + - "./etc/tomcat:/usr/local/tomcat/conf" + depends_on: + - mysqldb +# logging: +# driver: splunk +# options: +# splunk-token: "e1c56fa1-9f7c-4d2c-ba8f-989b15d85008" +# splunk-url: "https://127.0.0.1:8088" +# splunk-insecureskipverify: "true" +# tag: "{{.ImageName}}/{{.Name}}/{{.ID}}" +# labels: "Tomcat"