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..d8f6a5d2 --- /dev/null +++ b/caddy/Caddyfile @@ -0,0 +1,12 @@ +# 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 +# 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..06942376 --- /dev/null +++ b/caddy/Dockerfile @@ -0,0 +1,22 @@ +FROM alpine:3.4 +MAINTAINER Eric Pfeiffer + +LABEL caddy_version="0.9.0" architecture="amd64" + +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 - \ + "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..0426195a 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: + - volumes_source + ports: + - "80:80" + - "443:443" + - "2015:2015" + volumes: + - ./caddy/Caddyfile:/etc/Caddyfile + links: + - php-fpm ### Add more Containers below ###############################