Compare commits

...

2 Commits

5 changed files with 117 additions and 4 deletions

View File

@ -11,6 +11,7 @@ CAPTCHA_STATIC_PATH=http://your-domain-captcha-or-IP:8081/captcha
CAPTCHA_PUBLIC_TOKEN= CAPTCHA_PUBLIC_TOKEN=
APP_FORCE_HTTPS=false APP_FORCE_HTTPS=false
#UNIT_SOURCE="\"172.16.0.0/12\""
APP_DEFAULT_LOCALE=ru APP_DEFAULT_LOCALE=ru
APP_FAKER_LOCALE=ru_RU APP_FAKER_LOCALE=ru_RU

View File

@ -5,6 +5,7 @@
use App\Enums\CacheTag; use App\Enums\CacheTag;
use Closure; use Closure;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Str;
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Response;
final class ProjectDomainAndLanguage extends ProjectLanguage final class ProjectDomainAndLanguage extends ProjectLanguage
@ -12,6 +13,12 @@ final class ProjectDomainAndLanguage extends ProjectLanguage
public function handle(Request $request, Closure $next): Response public function handle(Request $request, Closure $next): Response
{ {
$httpHost = $request->getSchemeAndHttpHost(); $httpHost = $request->getSchemeAndHttpHost();
if (
config('app.force_https') === true
&& Str::startsWith($httpHost, 'http://')
) {
$httpHost = Str::of($httpHost)->replaceFirst('http://', 'https://')->toString();
}
$seconds = 3600; $seconds = 3600;
$project = CacheTag::Project->getCache()->remember(self::class . $httpHost, $seconds, function () use ($httpHost) { $project = CacheTag::Project->getCache()->remember(self::class . $httpHost, $seconds, function () use ($httpHost) {

View File

@ -1,6 +1,8 @@
**/*.env **/*.env
**/*.env.example **/*.env.example
app/bootstrap/cache/* application/bootstrap/cache/*
app/storage/** application/storage/**
app/vendor/** application/vendor/**
app/node_modules/** application/node_modules/**
application/public/build/**
application/public/storage

52
docker-compose-prod.yml Normal file
View File

@ -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

View File

@ -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