Skip to content

Instantly share code, notes, and snippets.

View paulredmond's full-sized avatar
🏴‍☠️

Paul Redmond paulredmond

🏴‍☠️
View GitHub Profile
@paulredmond
paulredmond / Dockerfile
Created October 12, 2017 03:58
A Dockerfile for a Laravel PHP Application with Caddy Server
FROM php:7.1-fpm
LABEL maintainer="Paul Redmond <paul@bitpress.io>"
# Install application dependencies
RUN curl --silent --show-error --fail --location \
--header "Accept: application/tar+gzip, application/x-gzip, application/octet-stream" -o - \
"https://caddyserver.com/download/linux/amd64?plugins=http.expires,http.realip&license=personal" \
| tar --no-same-owner -C /usr/bin/ -xz caddy \
&& chmod 0755 /usr/bin/caddy \
&& /usr/bin/caddy -version \
@paulredmond
paulredmond / Caddyfile
Created October 12, 2017 03:57
The Caddyfile for a Laravel PHP project - https://caddyserver.com/docs/caddyfile
0.0.0.0
root /srv/app/public
gzip
fastcgi / 127.0.0.1:9000 php
rewrite {
regexp .*
ext /
to /index.php?{query}
}
@paulredmond
paulredmond / start
Created September 22, 2017 14:48
Bash script to start an Ubuntu Unit container
#!/usr/bin/env bash
container=$(docker run --rm -d -v $(pwd)/src:/www/laravel -p 8300:8300 nginx-unit)
docker exec -ti $container curl -X PUT -d @/www/laravel/app.json --unix-socket /var/run/control.unit.sock http://localhost
echo "Container running @ $container"
echo "Here's the complete configuration object:"
docker exec -ti $container curl --unix-socket /var/run/control.unit.sock http://localhost
@paulredmond
paulredmond / app.json
Created September 22, 2017 14:44
Nginx Unit Configuration Object for a PHP Project
{
"listeners": {
"*:8300": {
"application": "laravel-demo"
}
},
"applications": {
"laravel-demo": {
"type": "php",
"workers": 20,
@paulredmond
paulredmond / Dockerfile
Created September 22, 2017 14:39
Ubuntu Unit Dockerfile for PHP and Laravel
FROM ubuntu:xenial
RUN set -xe \
&& apt-get -y update \
&& apt-get -y install --no-install-recommends curl php \
&& curl http://nginx.org/keys/nginx_signing.key | apt-key add - \
&& echo "deb http://nginx.org/packages/mainline/ubuntu/ xenial nginx" | tee -a /etc/apt/sources.list \
&& echo "deb-src http://nginx.org/packages/mainline/ubuntu/ xenial nginx" | tee -a /etc/apt/sources.list \
&& apt-get -y update \
&& apt-get -y install unit \
@paulredmond
paulredmond / Dockerfile
Created September 18, 2017 05:14
A simple Dockerfile for Apache + PHP
FROM php:7.1.8-apache
MAINTAINER Paul Redmond
COPY . /srv/app
COPY .docker/vhost.conf /etc/apache2/sites-available/000-default.conf
WORKDIR /srv/app
RUN docker-php-ext-install mbstring pdo pdo_mysql \
@paulredmond
paulredmond / docker-compose.yml
Created September 18, 2017 05:13
A Docker Compose file for an example Laravel project
version: '3'
services:
app:
build:
context: .
dockerfile: .docker/Dockerfile
image: laravel-docker
ports:
- 8080:80
volumes:
@paulredmond
paulredmond / docker-compose.yml
Created September 18, 2017 05:13
Adding a volume - a Docker Compose file for an example Laravel project
version: '3'
services:
app:
build:
context: .
dockerfile: .docker/Dockerfile
image: laravel-docker
ports:
- 8080:80
volumes:
@paulredmond
paulredmond / docker-compose.yml
Created September 18, 2017 05:12
A Docker Compose file for an example Laravel project
version: '3'
services:
app:
build:
context: .
dockerfile: .docker/Dockerfile
image: laravel-docker
ports:
- 8080:80
@paulredmond
paulredmond / vhost.conf
Created September 18, 2017 05:11
A simple Apache Vhost for Docker + PHP
<VirtualHost *:80>
DocumentRoot /srv/app/public
<Directory "/srv/app/public">
AllowOverride all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined