Skip to content

Commit

Permalink
Add docker files
Browse files Browse the repository at this point in the history
  • Loading branch information
Asherslab authored and lancepioch committed Jul 8, 2018
1 parent d9948f2 commit 42e3eec
Show file tree
Hide file tree
Showing 4 changed files with 105 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
26 changes: 26 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -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 changes: 51 additions & 0 deletions default.conf
Original file line number Diff line number Diff line change
@@ -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 changes: 27 additions & 0 deletions entrypoint.sh
Original file line number Diff line number Diff line change
@@ -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;'

0 comments on commit 42e3eec

Please sign in to comment.