From 9b084433c34c9303703d6b8881e6ee89bdf36327 Mon Sep 17 00:00:00 2001 From: Eric Pfeiffer Date: Tue, 19 Jul 2016 21:51:20 -0500 Subject: [PATCH 1/3] add caddy server. --- README.md | 3 ++- caddy/Caddyfile | 9 +++++++++ caddy/Dockerfile | 20 ++++++++++++++++++++ docker-compose.yml | 16 ++++++++++++++++ 4 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 caddy/Caddyfile create mode 100644 caddy/Dockerfile diff --git a/README.md b/README.md index e1c76a1c..02683572 100644 --- a/README.md +++ b/README.md @@ -100,6 +100,7 @@ docker-compose up nginx mysql redis - Memcached - Beanstalkd - Beanstalkd Console +- Caddy - Workspace (contains: Composer, PHP7-CLI, Laravel Installer, Git, Node, Gulp, Bower, SQLite, Vim, Nano, cURL and much more) - Data *(Databases Data Container)* - Application *(Application Code Container)* @@ -205,7 +206,7 @@ docker-compose up -d nginx mysql You can select your own combination of container form this list: -`nginx`, `mysql`, `redis`, `postgres`, `mariadb`, `neo4j`, `mongo`, `memcached`, `beanstalkd`, `beanstalkd-console`, `workspace`, `data`, `php-fpm`, `application`. +`nginx`, `mysql`, `redis`, `postgres`, `mariadb`, `neo4j`, `mongo`, `memcached`, `beanstalkd`, `beanstalkd-console`, `caddy`, `workspace`, `data`, `php-fpm`, `application`. **Note**: `workspace`, `data`, `php-fpm` and `application` will run automatically in most of the cases. diff --git a/caddy/Caddyfile b/caddy/Caddyfile new file mode 100644 index 00000000..b7615c2c --- /dev/null +++ b/caddy/Caddyfile @@ -0,0 +1,9 @@ +# Docs: https://caddyserver.com/docs/caddyfile +0.0.0.0:80 +fastcgi / php-fpm:9000 php +browse +log stdout +errors stdout +# Uncomment to enable TLS (HTTPS) +# Change the first list to listen on port 443 when enabling TLS +#tls self_signed diff --git a/caddy/Dockerfile b/caddy/Dockerfile new file mode 100644 index 00000000..9de65571 --- /dev/null +++ b/caddy/Dockerfile @@ -0,0 +1,20 @@ +FROM alpine:3.4 +MAINTAINER Eric Pfeiffer + +LABEL caddy_version="0.9.0" architecture="amd64" + +RUN apk add --update openssh-client tar curl + +RUN curl --silent --show-error --fail --location \ + --header "Accept: application/tar+gzip, application/x-gzip, application/octet-stream" -o - \ + "https://github.com/mholt/caddy/releases/download/v0.9.0/caddy_linux_amd64.tar.gz" \ + | tar --no-same-owner -C /usr/bin/ -xz caddy_linux_amd64 \ + && mv /usr/bin/caddy_linux_amd64 /usr/bin/caddy \ + && chmod 0755 /usr/bin/caddy \ + && /usr/bin/caddy -version + +EXPOSE 80 443 2015 +WORKDIR /var/www/laravel/public + +ENTRYPOINT ["caddy"] +CMD ["-conf", "/etc/Caddyfile"] diff --git a/docker-compose.yml b/docker-compose.yml index 8e9ac066..32bfddcb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -160,5 +160,21 @@ services: - /var/lib/redis:/data - /var/lib/neo4j:/var/lib/neo4j/data - /var/lib/mongo:/data/db + +### Caddy Server Container ################################## +# Edit the Caddyfile if needed (./caddy/Caddyfile) + + caddy: + build: ./caddy + volumes_from: + - application + ports: + - "80:80" + - "443:443" + - "2015:2015" + volumes: + - ./caddy/Caddyfile:/etc/Caddyfile + links: + - php-fpm ### Add more Containers below ############################### From 9e7a669d5b84a0043e98f8c8243774626b9b1862 Mon Sep 17 00:00:00 2001 From: Eric Pfeiffer Date: Tue, 19 Jul 2016 22:01:20 -0500 Subject: [PATCH 2/3] incorporate upstream changes. --- caddy/Dockerfile | 4 +++- docker-compose.yml | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/caddy/Dockerfile b/caddy/Dockerfile index 9de65571..06942376 100644 --- a/caddy/Dockerfile +++ b/caddy/Dockerfile @@ -3,7 +3,9 @@ MAINTAINER Eric Pfeiffer LABEL caddy_version="0.9.0" architecture="amd64" -RUN apk add --update openssh-client tar curl +RUN apk update \ + && apk upgrade \ + && apk add tar curl RUN curl --silent --show-error --fail --location \ --header "Accept: application/tar+gzip, application/x-gzip, application/octet-stream" -o - \ diff --git a/docker-compose.yml b/docker-compose.yml index 32bfddcb..0426195a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -167,7 +167,7 @@ services: caddy: build: ./caddy volumes_from: - - application + - volumes_source ports: - "80:80" - "443:443" From 5bcbe0d291ac8f7d7ce3346f970304c521771831 Mon Sep 17 00:00:00 2001 From: Eric Pfeiffer Date: Tue, 19 Jul 2016 22:16:36 -0500 Subject: [PATCH 3/3] add rewrite rule to fix 404 errors when navigating to different pages. --- caddy/Caddyfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/caddy/Caddyfile b/caddy/Caddyfile index b7615c2c..d8f6a5d2 100644 --- a/caddy/Caddyfile +++ b/caddy/Caddyfile @@ -1,6 +1,9 @@ # Docs: https://caddyserver.com/docs/caddyfile 0.0.0.0:80 fastcgi / php-fpm:9000 php +rewrite { + to /index.php?{query} +} browse log stdout errors stdout