Last active
August 17, 2020 17:04
-
-
Save victorboissiere/598f7e3acb9a851230508d897e92c6a5 to your computer and use it in GitHub Desktop.
Laravel
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
server { | |
listen 80; | |
index index.php index.html; | |
error_log /var/log/nginx/error.log; | |
access_log /var/log/nginx/access.log; | |
root /var/www/public; | |
location ~ \.php$ { | |
try_files $uri =404; | |
fastcgi_split_path_info ^(.+\.php)(/.+)$; | |
fastcgi_pass app:9000; | |
fastcgi_index index.php; | |
include fastcgi_params; | |
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | |
fastcgi_param PATH_INFO $fastcgi_path_info; | |
} | |
location / { | |
try_files $uri $uri/ /index.php?$query_string; | |
gzip_static on; | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
docker-compose exec app php artisan key:generate | |
docker-compose exec app php artisan migrate |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: '3' | |
services: | |
#PHP Service | |
app: | |
build: | |
context: . | |
dockerfile: Dockerfile | |
image: digitalocean.com/php | |
container_name: app | |
restart: unless-stopped | |
tty: true | |
environment: | |
SERVICE_NAME: app | |
SERVICE_TAGS: dev | |
working_dir: /var/www | |
volumes: | |
- ./:/var/www | |
- ./php/local.ini:/usr/local/etc/php/conf.d/local.ini | |
networks: | |
- app-network | |
#Nginx Service | |
webserver: | |
image: nginx:alpine | |
container_name: webserver | |
restart: unless-stopped | |
tty: true | |
ports: | |
- "80:80" | |
- "443:443" | |
volumes: | |
- ./:/var/www | |
- ./nginx/conf.d/:/etc/nginx/conf.d/ | |
networks: | |
- app-network | |
#MySQL Service | |
db: | |
image: mysql:5.7.22 | |
container_name: db | |
restart: unless-stopped | |
tty: true | |
ports: | |
- "3306:3306" | |
environment: | |
MYSQL_DATABASE: laravel | |
MYSQL_ROOT_PASSWORD: your_mysql_root_password | |
SERVICE_TAGS: dev | |
SERVICE_NAME: mysql | |
volumes: | |
- dbdata:/var/lib/mysql/ | |
- ./mysql/my.cnf:/etc/mysql/my.cnf | |
networks: | |
- app-network | |
#Docker Networks | |
networks: | |
app-network: | |
driver: bridge | |
#Volumes | |
volumes: | |
dbdata: | |
driver: local |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM php:7.2-fpm | |
# Copy composer.lock and composer.json | |
COPY composer.lock composer.json /var/www/ | |
# Set working directory | |
WORKDIR /var/www | |
# Install dependencies | |
RUN apt-get update && apt-get install -y \ | |
build-essential \ | |
libpng-dev \ | |
libjpeg62-turbo-dev \ | |
libfreetype6-dev \ | |
locales \ | |
zip \ | |
jpegoptim optipng pngquant gifsicle \ | |
vim \ | |
unzip \ | |
git \ | |
curl | |
# Clear cache | |
RUN apt-get clean && rm -rf /var/lib/apt/lists/* | |
# Install extensions | |
RUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl | |
RUN docker-php-ext-configure gd --with-gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-png-dir=/usr/include/ | |
RUN docker-php-ext-install gd | |
# Install composer | |
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer | |
# Add user for laravel application | |
RUN groupadd -g 1000 www | |
RUN useradd -u 1000 -ms /bin/bash -g www www | |
# Copy existing application directory contents | |
COPY . /var/www | |
# Copy existing application directory permissions | |
COPY --chown=www:www . /var/www | |
# Change current user to www | |
USER www | |
# Expose port 9000 and start php-fpm server | |
EXPOSE 9000 | |
CMD ["php-fpm"] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
while ! nc -z localhost 3307; do | |
sleep 1 # wait for 1 second | |
echo "Waiting DB to launch on 3307..." | |
done | |
echo "DB launched" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment