diff --git a/app/application/.env.example b/app/application/.env.example index 61089d6..0f7ae55 100644 --- a/app/application/.env.example +++ b/app/application/.env.example @@ -11,6 +11,7 @@ CAPTCHA_STATIC_PATH=http://your-domain-captcha-or-IP:8081/captcha CAPTCHA_PUBLIC_TOKEN= APP_FORCE_HTTPS=false +#UNIT_SOURCE="\"172.16.0.0/12\"" APP_DEFAULT_LOCALE=ru APP_FAKER_LOCALE=ru_RU diff --git a/app/docker/.dockerignore b/app/docker/.dockerignore index 996b0fd..c286cf9 100644 --- a/app/docker/.dockerignore +++ b/app/docker/.dockerignore @@ -1,6 +1,8 @@ **/*.env **/*.env.example -app/bootstrap/cache/* -app/storage/** -app/vendor/** -app/node_modules/** +application/bootstrap/cache/* +application/storage/** +application/vendor/** +application/node_modules/** +application/public/build/** +application/public/storage diff --git a/docker-compose-prod.yml b/docker-compose-prod.yml new file mode 100644 index 0000000..4240172 --- /dev/null +++ b/docker-compose-prod.yml @@ -0,0 +1,52 @@ +version: '3.7' +services: + app: + build: + context: app + dockerfile: docker/Dockerfile + target: PRODUCTION + # restart: always + depends_on: + - db + - app-redis + - captcha-app + ports: + - ${DOCKER_APP_PORT}:9000 + volumes: + - ./app/application:/var/www/html + app-redis: + image: redis:3.0-alpine + # restart: always + + captcha-app: + image: korelf/service-captcha:0.7.1 + # restart: always + cap_drop: + - ALL + cap_add: + - SETGID + - SETUID + - CHOWN + - FOWNER + depends_on: + - db + - captcha-redis + env_file: captcha-app/.env + ports: + - ${DOCKER_CAPTCHA_PORT}:9000 + captcha-redis: + image: redis:3.0-alpine + # restart: always + db: + image: docker.io/mysql:8.0.33 + command: --default-authentication-plugin=mysql_native_password + #restart: always + ports: + - ${DOCKER_DB_PORT}:3306 + environment: + MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} + MYSQL_DATABASE: ${DB_DATABASE} + MYSQL_USER: ${DB_USERNAME} + MYSQL_PASSWORD: ${DB_PASSWORD} + volumes: + - ./db/data:/var/lib/mysql diff --git a/docker-compose-prod_docker-hub.yml b/docker-compose-prod_docker-hub.yml new file mode 100644 index 0000000..2713baf --- /dev/null +++ b/docker-compose-prod_docker-hub.yml @@ -0,0 +1,51 @@ +version: '3.7' +services: + app: + image: korelf/my-projects-website:0.1.0 + # restart: always + depends_on: + - db + - app-redis + - captcha-app + ports: + - ${DOCKER_APP_PORT}:9000 + env_file: app/.env + volumes: + - ./app/storage/app:/var/www/html/storage/app + - ./app/storage/logs:/var/www/html/storage/logs + app-redis: + image: redis:3.0-alpine + # restart: always + + captcha-app: + image: korelf/service-captcha:0.7.1 + # restart: always + cap_drop: + - ALL + cap_add: + - SETGID + - SETUID + - CHOWN + - FOWNER + depends_on: + - db + - captcha-redis + env_file: captcha-app/.env + ports: + - ${DOCKER_CAPTCHA_PORT}:9000 + captcha-redis: + image: redis:3.0-alpine + # restart: always + db: + image: docker.io/mysql:8.0.33 + command: --default-authentication-plugin=mysql_native_password + #restart: always + ports: + - ${DOCKER_DB_PORT}:3306 + environment: + MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} + MYSQL_DATABASE: ${DB_DATABASE} + MYSQL_USER: ${DB_USERNAME} + MYSQL_PASSWORD: ${DB_PASSWORD} + volumes: + - ./db/data:/var/lib/mysql