diff --git a/.gitignore b/.gitignore index 9a35500..67d0ef4 100644 --- a/.gitignore +++ b/.gitignore @@ -19,4 +19,5 @@ .phpunit.result.cache ###< phpunit/phpunit ### -.idea/ \ No newline at end of file +.idea/ +/deploy/temp-deploy/ diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index dfea58c..0000000 --- a/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM git.php.fail/lubiana/container/php:8.3 -RUN mkdir /app -WORKDIR /app -COPY bin/console /app/bin/console -COPY config /app/config -COPY migrations /app/migrations -COPY public /app/public -COPY src /app/src -COPY templates /app/templates -COPY composer.json /app/composer.json -COPY composer.lock /app/composer.lock -COPY .env /app/.env -RUN mkdir /app/var -ENV APP_ENV=prod -RUN composer install --no-dev --optimize-autoloader \ No newline at end of file diff --git a/deploy/Dockerfile b/deploy/Dockerfile new file mode 100644 index 0000000..47bc55b --- /dev/null +++ b/deploy/Dockerfile @@ -0,0 +1,2 @@ +FROM git.php.fail/lubiana/container/php:8.3 as phpbuild + diff --git a/deploy/install.sh b/deploy/install.sh new file mode 100644 index 0000000..10ee492 --- /dev/null +++ b/deploy/install.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env sh + diff --git a/deploy/prepare-deploy.sh b/deploy/prepare-deploy.sh new file mode 100644 index 0000000..d612203 --- /dev/null +++ b/deploy/prepare-deploy.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env sh + +if [ -d "temp-deploy" ]; then + rm -rf temp-deploy +fi +mkdir temp-deploy +cd temp-deploy || return + +pathsToCopy="public bin config migrations src templates composer.json composer.lock symfony.lock .env etc" + +for path in $pathsToCopy +do + cp -r ../../"$path" ./ +done + +rm ./bin/phpunit +APP_ENV=prod composer install --no-dev -a +mkdir -p ~/.ssh/ +# Print the SSH key, replacing newline characters with actual new lines +echo "$SSH_PRIVATE_KEY" | tr -d '\r' > ~/.ssh/id_rsa +# Set appropriate permissions for the SSH key +chmod 600 ~/.ssh/id_rsa +# Add the remote host's key to the known_hosts file to avoid authenticity confirmation +ssh-keyscan -H $HOST >> ~/.ssh/known_hosts +# SCP files to the remote host +rsync -avz --delete public/ ${USERNAME}@${HOST}:${TARGETDIR} diff --git a/etc/caddy/Caddyfile b/etc/caddy/Caddyfile new file mode 100644 index 0000000..0447d1d --- /dev/null +++ b/etc/caddy/Caddyfile @@ -0,0 +1,6 @@ +:8087 { + root * /var/www/html/public + php_fastcgi unix//var/run/php-fpm.sock + file_server + encode zstd gzip +} \ No newline at end of file diff --git a/etc/php83/php-fpm.d/www.conf b/etc/php83/php-fpm.d/www.conf new file mode 100644 index 0000000..72bd8fb --- /dev/null +++ b/etc/php83/php-fpm.d/www.conf @@ -0,0 +1,10 @@ +[www] + +user = nobody +group = nobody +listen = /var/run/php-fpm.sock +pm = dynamic +pm.max_children = 5 +pm.start_servers = 2 +pm.min_spare_servers = 1 +pm.max_spare_servers = 3 \ No newline at end of file diff --git a/var/.gitkeep b/var/.gitkeep new file mode 100644 index 0000000..e69de29