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
|
# For local development with docker
|
||||||
# Remove if we ever put the Dockerfile in the repo
|
# Remove if we ever put the Dockerfile in the repo
|
||||||
.dockerignore
|
.dockerignore
|
||||||
Dockerfile
|
#Dockerfile
|
||||||
docker-compose.yml
|
docker-compose.yml
|
||||||
# for image related files
|
# for image related files
|
||||||
misc
|
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