Add docker files
This commit is contained in:
parent
d9948f2876
commit
42e3eecf80
4 changed files with 105 additions and 1 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -20,7 +20,7 @@ sami.phar
|
|||
# For local development with docker
|
||||
# Remove if we ever put the Dockerfile in the repo
|
||||
.dockerignore
|
||||
Dockerfile
|
||||
#Dockerfile
|
||||
docker-compose.yml
|
||||
# for image related files
|
||||
misc
|
||||
|
|
26
Dockerfile
Normal file
26
Dockerfile
Normal file
|
@ -0,0 +1,26 @@
|
|||
FROM alpine:3.7
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN apk add --no-cache wget ca-certificates && \
|
||||
wget -O /etc/apk/keys/phpearth.rsa.pub https://repos.php.earth/alpine/phpearth.rsa.pub && \
|
||||
echo "https://repos.php.earth/alpine/v3.7" >> /etc/apk/repositories && \
|
||||
apk add --no-cache --update certbot nginx dcron curl tini php7.2 php7.2-bcmath php7.2-common php7.2-dom php7.2-fpm php7.2-gd php7.2-mbstring php7.2-openssl php7.2-zip php7.2-pdo php7.2-phar php7.2-json php7.2-pdo_mysql php7.2-session php7.2-ctype php7.2-tokenizer php7.2-zlib php7.2-simplexml && \
|
||||
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
||||
|
||||
COPY . ./
|
||||
|
||||
COPY default.conf /etc/nginx/conf.d/default.conf
|
||||
|
||||
RUN cp .env.example .env
|
||||
RUN composer install --no-dev
|
||||
|
||||
|
||||
EXPOSE 80
|
||||
EXPOSE 443
|
||||
|
||||
RUN chown -R www-data:www-data .
|
||||
RUN chmod -R 777 storage/* bootstrap/cache /var/run/php
|
||||
|
||||
ENTRYPOINT ["ash", "entrypoint.sh"]
|
||||
|
51
default.conf
Normal file
51
default.conf
Normal file
|
@ -0,0 +1,51 @@
|
|||
# If using Ubuntu this file should be placed in:
|
||||
# /etc/nginx/sites-available/
|
||||
#
|
||||
# If using CentOS this file should be placed in:
|
||||
# /etc/nginx/conf.d/
|
||||
#
|
||||
server {
|
||||
listen 80;
|
||||
server_name _;
|
||||
|
||||
root /app/public;
|
||||
index index.html index.htm index.php;
|
||||
charset utf-8;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php?$query_string;
|
||||
}
|
||||
|
||||
location = /favicon.ico { access_log off; log_not_found off; }
|
||||
location = /robots.txt { access_log off; log_not_found off; }
|
||||
|
||||
access_log off;
|
||||
error_log /var/log/nginx/pterodactyl.app-error.log error;
|
||||
|
||||
# allow larger file uploads and longer script runtimes
|
||||
client_max_body_size 100m;
|
||||
client_body_timeout 120s;
|
||||
|
||||
sendfile off;
|
||||
|
||||
location ~ \.php$ {
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
# the fastcgi_pass path needs to be changed accordingly when using CentOS
|
||||
fastcgi_pass unix:/var/run/php/php-fpm7.2.sock;
|
||||
fastcgi_index index.php;
|
||||
include fastcgi_params;
|
||||
fastcgi_param PHP_VALUE "upload_max_filesize = 100M \n post_max_size=100M";
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param HTTP_PROXY "";
|
||||
fastcgi_intercept_errors off;
|
||||
fastcgi_buffer_size 16k;
|
||||
fastcgi_buffers 4 16k;
|
||||
fastcgi_connect_timeout 300;
|
||||
fastcgi_send_timeout 300;
|
||||
fastcgi_read_timeout 300;
|
||||
}
|
||||
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
}
|
27
entrypoint.sh
Normal file
27
entrypoint.sh
Normal file
|
@ -0,0 +1,27 @@
|
|||
#!/bin/ash
|
||||
tini -- php-fpm
|
||||
|
||||
until nc -z -v -w30 $DB_HOST 3306
|
||||
do
|
||||
echo "Waiting for database connection..."
|
||||
# wait for 5 seconds before check again
|
||||
sleep 5
|
||||
done
|
||||
|
||||
sed -i s/DB_HOST=127.0.0.1/DB_HOST=$DB_HOST/g /app/.env
|
||||
sed -i s/DB_DATABASE=panel/DB_DATABASE=$DB_DATABASE/g /app/.env
|
||||
sed -i s/DB_USERNAME=pterodactyl/DB_USERNAME=$DB_USERNAME/g /app/.env
|
||||
sed -i s/DB_PASSWORD=/DB_PASSWORD=$DB_PASSWORD/g /app/.env
|
||||
|
||||
#echo "1"
|
||||
#chown -R www-data:www-data .
|
||||
#echo "2"
|
||||
#chmod -R 777 storage/* bootstrap/cache /var/run/php
|
||||
echo "3"
|
||||
php artisan key:generate --force
|
||||
echo "4"
|
||||
php artisan migrate --force
|
||||
echo "5"
|
||||
php artisan db:seed --force
|
||||
echo "Done"
|
||||
nginx -g 'pid /tmp/nginx.pid; daemon off;'
|
Loading…
Reference in a new issue