try to implement the global containerization
This commit is contained in:
1 parent
e2b471312c
commit
ed38086d09
24 files changed
+966
No files matched your search
Executable
+81
@@ -0,0 +1,81 @@
|
||||
APP_NAME=Laravel
|
||||
APP_ENV=local
|
||||
APP_KEY=
|
||||
APP_DEBUG=true
|
||||
APP_URL=http://localhost:8000
|
||||
|
||||
CORS_PATHS=api/*,sanctum/csrf-cookie,broadcasting/auth
|
||||
DEV_CORS_ALLOWED_ORIGINS=http://localhost:5173
|
||||
PROD_CORS_ALLOWED_ORIGINS=http://localhost
|
||||
SANCTUM_STATEFUL_DOMAINS=localhost,127.0.0.1,localhost:8000,localhost:5173
|
||||
|
||||
ADMIN_NAME=
|
||||
ADMIN_LASTNAME=
|
||||
ADMIN_MAIL=
|
||||
ADMIN_PASSWORD=
|
||||
ADMIN_PHONE_NUMBER=
|
||||
|
||||
APP_LOCALE=en
|
||||
APP_FALLBACK_LOCALE=en
|
||||
APP_FAKER_LOCALE=en_US
|
||||
|
||||
APP_MAINTENANCE_DRIVER=file
|
||||
# APP_MAINTENANCE_STORE=database
|
||||
|
||||
PHP_CLI_SERVER_WORKERS=4
|
||||
|
||||
BCRYPT_ROUNDS=12
|
||||
|
||||
LOG_CHANNEL=stack
|
||||
LOG_STACK=single
|
||||
LOG_DEPRECATIONS_CHANNEL=null
|
||||
LOG_LEVEL=debug
|
||||
|
||||
SESSION_DRIVER=database
|
||||
SESSION_LIFETIME=120
|
||||
SESSION_ENCRYPT=false
|
||||
SESSION_PATH=/
|
||||
SESSION_DOMAIN=localhost
|
||||
SESSION_SECURE_COOKIE=false
|
||||
|
||||
BROADCAST_CONNECTION=reverb
|
||||
REVERB_APP_ID=local
|
||||
REVERB_APP_KEY=local
|
||||
REVERB_APP_SECRET=local
|
||||
REVERB_HOST=reverb
|
||||
REVERB_PORT=8080
|
||||
REVERB_SCHEME=http
|
||||
PUSHER_APP_CLUSTER="mt1"
|
||||
|
||||
CACHE_STORE=file
|
||||
QUEUE_CONNECTION=sync
|
||||
|
||||
FILESYSTEM_DISK=local
|
||||
# CACHE_PREFIX=
|
||||
|
||||
MEMCACHED_HOST=127.0.0.1
|
||||
|
||||
REDIS_CLIENT=phpredis
|
||||
REDIS_HOST=127.0.0.1
|
||||
REDIS_PASSWORD=null
|
||||
REDIS_PORT=6379
|
||||
|
||||
MAIL_MAILER=smtp
|
||||
MAIL_SCHEME=null
|
||||
MAIL_HOST=host.docker.internal
|
||||
MAIL_PORT=1025
|
||||
MAIL_USERNAME=null
|
||||
MAIL_PASSWORD=null
|
||||
MAIL_FROM_ADDRESS="hello@example.com"
|
||||
MAIL_FROM_NAME="${APP_NAME}"
|
||||
|
||||
AWS_ACCESS_KEY_ID=
|
||||
AWS_SECRET_ACCESS_KEY=
|
||||
AWS_DEFAULT_REGION=us-east-1
|
||||
AWS_BUCKET=
|
||||
AWS_USE_PATH_STYLE_ENDPOINT=false
|
||||
|
||||
VITE_APP_NAME="${APP_NAME}"
|
||||
|
||||
TYPESENSE_CONNECTION=typesense
|
||||
TYPESENSE_API_KEY=
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
FROM php:8.4-fpm
|
||||
|
||||
ARG USER_ID=1000
|
||||
ARG GROUP_ID=1000
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
git unzip libzip-dev libpng-dev libonig-dev gosu \
|
||||
&& apt-get install -y netcat-openbsd \
|
||||
&& docker-php-ext-install pdo_mysql zip pcntl
|
||||
|
||||
RUN if [ ${USER_ID:-0} -ne 0 ] && [ ${GROUP_ID:-0} -ne 0 ]; then \
|
||||
groupmod -g ${GROUP_ID} www-data && \
|
||||
usermod -u ${USER_ID} -g ${GROUP_ID} www-data \
|
||||
;fi
|
||||
|
||||
|
||||
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|
||||
|
||||
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
|
||||
COPY scripts/*.sh /usr/local/bin/
|
||||
|
||||
RUN chmod +x /usr/local/bin/*.sh
|
||||
|
||||
WORKDIR /var/www/app
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
||||
CMD ["php-fpm"]
|
||||
Executable
+23
@@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
. /usr/local/bin/context.sh
|
||||
. /usr/local/bin/setup_git.sh
|
||||
. /usr/local/bin/setup_composer.sh
|
||||
. /usr/local/bin/setup_env.sh
|
||||
. /usr/local/bin/setup_laravel.sh
|
||||
|
||||
echo "[INIT] Starting initialization..."
|
||||
|
||||
setup_git
|
||||
setup_composer
|
||||
setup_env
|
||||
|
||||
/usr/local/bin/wait-mariadb.sh
|
||||
/usr/local/bin/wait-typesense.sh
|
||||
|
||||
setup_laravel
|
||||
|
||||
echo "[INIT] Done ✅"
|
||||
|
||||
exec "$@"
|
||||
Executable
+12
@@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
APP_DIR=/var/www/app
|
||||
IS_DEV=${DEV:-0}
|
||||
|
||||
run() {
|
||||
if [ "$IS_DEV" = 1 ]; then
|
||||
gosu www-data "$@"
|
||||
else
|
||||
"$@"
|
||||
fi
|
||||
}
|
||||
Executable
+12
@@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
setup_composer() {
|
||||
echo "Installing dependencies..."
|
||||
|
||||
mkdir -p /var/www/.composer/cache
|
||||
chown -R www-data:www-data /var/www/.composer
|
||||
|
||||
if [ -f composer.json ]; then
|
||||
run composer install --no-interaction --prefer-dist
|
||||
fi
|
||||
}
|
||||
Executable
+21
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
setup_env() {
|
||||
echo "Configuring environment..."
|
||||
|
||||
cp /tmp/app.env .env
|
||||
|
||||
/usr/local/bin/wait-typesense.sh
|
||||
|
||||
TYPESENSE_API_KEY=$(cat /typesense-data/api-key)
|
||||
sed -i "s/^TYPESENSE_API_KEY=.*/TYPESENSE_API_KEY=$TYPESENSE_API_KEY/" .env
|
||||
echo "DEV=$DEV" >> .env
|
||||
|
||||
if [ "$IS_DEV" = 1 ]; then
|
||||
chown www-data:www-data .env
|
||||
chmod 664 .env
|
||||
else
|
||||
chown www-data:www-data .env
|
||||
chmod 640 .env
|
||||
fi
|
||||
}
|
||||
Executable
+36
@@ -0,0 +1,36 @@
|
||||
#!/bin/sh
|
||||
|
||||
setup_git() {
|
||||
echo "Setting up Git..."
|
||||
|
||||
GIT_URL="https://oauth2:${GIT_TOKEN}@${BACKEND_GIT_REPO}"
|
||||
BRANCH="${BACKEND_GIT_BRANCH:-main}"
|
||||
FORCE_CLONE="${FORCE_CLONE:-false}"
|
||||
|
||||
git config --global --add safe.directory "$APP_DIR"
|
||||
|
||||
if [ ! -d "$APP_DIR/.git" ]; then
|
||||
echo "Cloning repo..."
|
||||
git clone -b "$BRANCH" "$GIT_URL" "$APP_DIR"
|
||||
else
|
||||
echo "Updating repo..."
|
||||
cd "$APP_DIR"
|
||||
CURRENT_BRANCH=$(run git rev-parse --abbrev-ref HEAD)
|
||||
|
||||
if [ "$CURRENT_BRANCH" = "$BRANCH" ]; then
|
||||
run git fetch origin
|
||||
run git reset --hard origin/"$CURRENT_BRANCH"
|
||||
else
|
||||
if [ "$FORCE_CLONE" = "true" ]; then
|
||||
rm -rf "$APP_DIR"
|
||||
mkdir -p "$APP_DIR"
|
||||
git clone -b "$BRANCH" "$GIT_URL" "$APP_DIR"
|
||||
else
|
||||
run git fetch origin
|
||||
run git reset --hard origin/"$BRANCH"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
cd "$APP_DIR"
|
||||
}
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
|
||||
setup_laravel() {
|
||||
echo "Setting up Laravel..."
|
||||
|
||||
run php artisan key:generate --force
|
||||
run php artisan config:clear
|
||||
run php artisan cache:clear
|
||||
run php artisan migrate --force --seed
|
||||
|
||||
if [ "$IS_DEV" = 1 ]; then
|
||||
chmod -R 775 storage bootstrap/cache
|
||||
chmod -R 755 public
|
||||
else
|
||||
chown -R www-data:www-data storage bootstrap/cache
|
||||
chmod -R 775 storage bootstrap/cache
|
||||
fi
|
||||
|
||||
run php artisan storage:link
|
||||
}
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
until nc -z mariadb 3306; do
|
||||
sleep 2
|
||||
done
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
while [ ! -f /typesense-data/api-key ]; do
|
||||
sleep 1
|
||||
done
|
||||
Reference in new issue
Block a user