Add DeveContainer config

This commit is contained in:
Chris Wells 2024-05-04 00:08:01 +00:00
parent 0660c4bfa4
commit 0fa77ec6cb
8 changed files with 2936 additions and 4943 deletions

View File

@ -0,0 +1,28 @@
// https://aka.ms/devcontainer.json
{
"name": "kcal",
"dockerComposeFile": [
"../docker-compose.yml"
],
"service": "app",
"workspaceFolder": "/var/www/html",
"customizations": {
"vscode": {
"extensions": [
"mikestead.dotenv",
"amiralizadeh9480.laravel-extra-intellisense",
"ryannaddy.laravel-artisan",
"onecentlin.laravel5-snippets",
"onecentlin.laravel-blade"
],
"settings": {}
}
},
"remoteUser": "sail",
"postCreateCommand": "bash .devcontainer/postCreateCommand.sh",
"forwardPorts": [
8081
]
// "runServices": [],
// "shutdownAction": "none",
}

View File

@ -0,0 +1,7 @@
#!/bin/bash
echo alias sail=\'sh $([ -f sail ] && echo sail || echo vendor/bin/sail)\' >> ~/.bash_aliases
chown -R 1000:1000 /var/www/html
composer install
cp .env.example .env
php artisan key:generate --force -n

View File

@ -3,7 +3,7 @@
#
APP_NAME=kcal
APP_ENV=production
APP_ENV=local
APP_KEY=
APP_DEBUG=false
APP_URL=http://127.0.0.1
@ -23,13 +23,13 @@ APP_TIMEZONE=UTC
#
DB_CONNECTION=mysql
DB_HOST=localhost
DB_HOST=db
DB_PORT=3306
DB_DATABASE=kcal
DB_USERNAME=kcal
DB_PASSWORD=kcal
REDIS_HOST=localhost
REDIS_HOST=redis
REDIS_PORT=6379
#
@ -43,7 +43,7 @@ REDIS_PORT=6379
#ALGOLIA_SECRET=
SCOUT_DRIVER=elastic
ELASTIC_HOST=localhost:9200
ELASTIC_HOST=elasticsearch:9200
ELASTIC_PORT=9200
#

View File

@ -1,5 +1,7 @@
<?php
/* @noinspection ALL */
// @formatter:off
// phpcs:ignoreFile
namespace PHPSTORM_META {
@ -170,7 +172,7 @@ namespace PHPSTORM_META {
'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class,
'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class,
'Laravel\Scout\EngineManager' => \Algolia\ScoutExtended\Managers\EngineManager::class,
'CloudCreativity\LaravelJsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'Neomerx\JsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'NunoMaduro\Collision\Contracts\Provider' => \NunoMaduro\Collision\Provider::class,
'Psr\Http\Message\ResponseInterface' => \Nyholm\Psr7\Response::class,
'Psr\Http\Message\ServerRequestInterface' => \Nyholm\Psr7\ServerRequest::class,
@ -411,7 +413,7 @@ namespace PHPSTORM_META {
'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class,
'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class,
'Laravel\Scout\EngineManager' => \Algolia\ScoutExtended\Managers\EngineManager::class,
'CloudCreativity\LaravelJsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'Neomerx\JsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'NunoMaduro\Collision\Contracts\Provider' => \NunoMaduro\Collision\Provider::class,
'Psr\Http\Message\ResponseInterface' => \Nyholm\Psr7\Response::class,
'Psr\Http\Message\ServerRequestInterface' => \Nyholm\Psr7\ServerRequest::class,
@ -652,7 +654,7 @@ namespace PHPSTORM_META {
'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class,
'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class,
'Laravel\Scout\EngineManager' => \Algolia\ScoutExtended\Managers\EngineManager::class,
'CloudCreativity\LaravelJsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'Neomerx\JsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'NunoMaduro\Collision\Contracts\Provider' => \NunoMaduro\Collision\Provider::class,
'Psr\Http\Message\ResponseInterface' => \Nyholm\Psr7\Response::class,
'Psr\Http\Message\ServerRequestInterface' => \Nyholm\Psr7\ServerRequest::class,
@ -893,7 +895,7 @@ namespace PHPSTORM_META {
'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class,
'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class,
'Laravel\Scout\EngineManager' => \Algolia\ScoutExtended\Managers\EngineManager::class,
'CloudCreativity\LaravelJsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'Neomerx\JsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'NunoMaduro\Collision\Contracts\Provider' => \NunoMaduro\Collision\Provider::class,
'Psr\Http\Message\ResponseInterface' => \Nyholm\Psr7\Response::class,
'Psr\Http\Message\ServerRequestInterface' => \Nyholm\Psr7\ServerRequest::class,
@ -1134,7 +1136,7 @@ namespace PHPSTORM_META {
'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class,
'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class,
'Laravel\Scout\EngineManager' => \Algolia\ScoutExtended\Managers\EngineManager::class,
'CloudCreativity\LaravelJsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'Neomerx\JsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'NunoMaduro\Collision\Contracts\Provider' => \NunoMaduro\Collision\Provider::class,
'Psr\Http\Message\ResponseInterface' => \Nyholm\Psr7\Response::class,
'Psr\Http\Message\ServerRequestInterface' => \Nyholm\Psr7\ServerRequest::class,
@ -1375,7 +1377,7 @@ namespace PHPSTORM_META {
'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class,
'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class,
'Laravel\Scout\EngineManager' => \Algolia\ScoutExtended\Managers\EngineManager::class,
'CloudCreativity\LaravelJsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'Neomerx\JsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'NunoMaduro\Collision\Contracts\Provider' => \NunoMaduro\Collision\Provider::class,
'Psr\Http\Message\ResponseInterface' => \Nyholm\Psr7\Response::class,
'Psr\Http\Message\ServerRequestInterface' => \Nyholm\Psr7\ServerRequest::class,
@ -1616,7 +1618,7 @@ namespace PHPSTORM_META {
'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class,
'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class,
'Laravel\Scout\EngineManager' => \Algolia\ScoutExtended\Managers\EngineManager::class,
'CloudCreativity\LaravelJsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'Neomerx\JsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'NunoMaduro\Collision\Contracts\Provider' => \NunoMaduro\Collision\Provider::class,
'Psr\Http\Message\ResponseInterface' => \Nyholm\Psr7\Response::class,
'Psr\Http\Message\ServerRequestInterface' => \Nyholm\Psr7\ServerRequest::class,
@ -1857,7 +1859,7 @@ namespace PHPSTORM_META {
'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class,
'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class,
'Laravel\Scout\EngineManager' => \Algolia\ScoutExtended\Managers\EngineManager::class,
'CloudCreativity\LaravelJsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'Neomerx\JsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'NunoMaduro\Collision\Contracts\Provider' => \NunoMaduro\Collision\Provider::class,
'Psr\Http\Message\ResponseInterface' => \Nyholm\Psr7\Response::class,
'Psr\Http\Message\ServerRequestInterface' => \Nyholm\Psr7\ServerRequest::class,
@ -2098,7 +2100,7 @@ namespace PHPSTORM_META {
'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class,
'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class,
'Laravel\Scout\EngineManager' => \Algolia\ScoutExtended\Managers\EngineManager::class,
'CloudCreativity\LaravelJsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'Neomerx\JsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'NunoMaduro\Collision\Contracts\Provider' => \NunoMaduro\Collision\Provider::class,
'Psr\Http\Message\ResponseInterface' => \Nyholm\Psr7\Response::class,
'Psr\Http\Message\ServerRequestInterface' => \Nyholm\Psr7\ServerRequest::class,
@ -2339,7 +2341,7 @@ namespace PHPSTORM_META {
'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class,
'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class,
'Laravel\Scout\EngineManager' => \Algolia\ScoutExtended\Managers\EngineManager::class,
'CloudCreativity\LaravelJsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'Neomerx\JsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'NunoMaduro\Collision\Contracts\Provider' => \NunoMaduro\Collision\Provider::class,
'Psr\Http\Message\ResponseInterface' => \Nyholm\Psr7\Response::class,
'Psr\Http\Message\ServerRequestInterface' => \Nyholm\Psr7\ServerRequest::class,
@ -2580,7 +2582,7 @@ namespace PHPSTORM_META {
'Illuminate\Session\Middleware\StartSession' => \Illuminate\Session\Middleware\StartSession::class,
'Illuminate\Testing\ParallelTesting' => \Illuminate\Testing\ParallelTesting::class,
'Laravel\Scout\EngineManager' => \Algolia\ScoutExtended\Managers\EngineManager::class,
'CloudCreativity\LaravelJsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'Neomerx\JsonApi\Contracts\Http\Headers\HeaderParametersParserInterface' => \Neomerx\JsonApi\Http\Headers\HeaderParametersParser::class,
'NunoMaduro\Collision\Contracts\Provider' => \NunoMaduro\Collision\Provider::class,
'Psr\Http\Message\ResponseInterface' => \Nyholm\Psr7\Response::class,
'Psr\Http\Message\ServerRequestInterface' => \Nyholm\Psr7\ServerRequest::class,

View File

@ -1,6 +1,6 @@
ARG MEDIA_LIBRARY_DEPS="jpegoptim optipng pngquant gifsicle"
FROM php:8.2-fpm-alpine
FROM docker pull mcr.microsoft.com/devcontainers/php:8.2 AS base
ARG MEDIA_LIBRARY_DEPS
RUN apk add --no-cache --virtual \

File diff suppressed because it is too large Load Diff

1272
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@ services:
context: ./vendor/laravel/sail/runtimes/8.2
dockerfile: Dockerfile
args:
WWWGROUP: '${WWWGROUP}'
WWWGROUP: '${WWWGROUP:-1000}'
image: sail-8.2/app
extra_hosts:
- 'host.docker.internal:host-gateway'
@ -12,7 +12,7 @@ services:
- '${APP_PORT:-80}:80'
- '${VITE_PORT:-5173}:${VITE_PORT:-5173}'
environment:
WWWUSER: '${WWWUSER}'
WWWUSER: '${WWWUSER:-1000}'
LARAVEL_SAIL: 1
XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
@ -29,12 +29,10 @@ services:
ports:
- '${FORWARD_DB_PORT:-3306}:3306'
environment:
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD:-kcal}'
MYSQL_ROOT_HOST: '%'
MYSQL_DATABASE: '${DB_DATABASE:-kcal}'
MYSQL_USER: '${DB_USERNAME:-kcal}'
MYSQL_PASSWORD: '${DB_PASSWORD:-kcal}'
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
MARIADB_DATABASE: '${DB_DATABASE:-kcal}'
MARIADB_PASSWORD: '${DB_PASSWORD:-kcal}'
MARIADB_ROOT_PASSWORD: '${DB_PASSWORD:-kcal}'
MARIADB_USER: '${DB_USERNAME:-kcal}'
volumes:
- 'db-data:/var/lib/mysql'
- './vendor/laravel/sail/database/mysql/create-testing-database.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh'