5 Commits

7 changed files with 124 additions and 4 deletions

View File

@@ -2,6 +2,8 @@
Свой сервис, что бы быстро создавать сайты для своих проектов.
[Сайт проекта](https://my-projects-website.projects.kor-elf.net/)
## Зависимости
php 8.3 (модули: redis, gd)

View File

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

View File

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

View File

@@ -3,4 +3,9 @@
<x-site.layout :project="$project" :websiteTranslations="$websiteTranslations">
{!! $content->description !!}
<hr>
@foreach($links as $link)
<p><a href="{{ $link->link }}" rel=“nofollow” target="_blank">{{ $link->title }}</a></p>
@endforeach
</x-site.layout>

View File

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

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