summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMalfurious <m@lfurio.us>2023-08-12 05:52:46 -0400
committerMalfurious <m@lfurio.us>2023-08-12 05:52:46 -0400
commit8c11e387364c4235935134bc65d7ecf279d055ff (patch)
tree5c858559d6aba98e4871322ed7710c0037644b65
parentd58fdffdc6fd0edab585e6ff23a5f8b43a8e3746 (diff)
parent9551b318e9b1ca0c5b5b448c7c3cdbce8f69ae75 (diff)
downloadproxy-docker-8c11e387364c4235935134bc65d7ecf279d055ff.tar.gz
proxy-docker-8c11e387364c4235935134bc65d7ecf279d055ff.zip
Update files for use with cychedelic
Several aspects are touched upon by this commit: - First, revert the decision to split the acme-companion configuration into a separate repository. Instead, an alternative docker-compose file can be used to implement that use case. The alternate file, defines _both_ services, so a user should only choose one of them. A big advantage of this is that shared resources between the two containers will no longer leak outside the docker compose project namespace, and only a single project will need to be started. This commit is a git merge purely to preserve the 1 commit that was unique to the forked repository. - container_names are no longer defined, as that causes update conflicts while running cychedelic. They are not needed anyway. - dhparam volume is dropped, as the upstream documentation does not require its use. - The default compose file no longer listens on port 443, and is generally unaware of the acme-companion service. This makes for a more concise deployment on systems that will use it. Signed-off-by: Malfurious <m@lfurio.us>
-rw-r--r--docker-compose-acme.yml55
-rw-r--r--docker-compose.yml34
2 files changed, 66 insertions, 23 deletions
diff --git a/docker-compose-acme.yml b/docker-compose-acme.yml
new file mode 100644
index 0000000..51ce003
--- /dev/null
+++ b/docker-compose-acme.yml
@@ -0,0 +1,55 @@
+# Provides reverse HTTP proxy service, including TLS termination and automated
+# certificate management via Lets Encrypt. To create a Docker container that
+# uses this service:
+#
+# - Define environment variables:
+# - VIRTUAL_HOST=<domain name>
+# - LETSENCRYPT_HOST=<domain name>
+# - VIRTUAL_PORT=<port number> (only necessary if not 80)
+#
+# - EXPOSE the relevant port in your Dockerfile.
+#
+# - Join the "nginx-proxy-network" network.
+
+version: "3.7"
+
+services:
+ # https://github.com/nginx-proxy/nginx-proxy
+ nginx-proxy:
+ image: "nginxproxy/nginx-proxy"
+ restart: "always"
+ volumes:
+ - "certs:/etc/nginx/certs"
+ - "vhost:/etc/nginx/vhost.d"
+ - "html:/usr/share/nginx/html"
+ - "/var/run/docker.sock:/tmp/docker.sock:ro"
+ networks:
+ - "nginx-proxy-network"
+ ports:
+ - "80:80"
+ - "443:443"
+
+ # https://github.com/nginx-proxy/acme-companion
+ acme-companion:
+ image: "nginxproxy/acme-companion"
+ restart: "always"
+ volumes:
+ - "acme:/etc/acme.sh"
+ - "certs:/etc/nginx/certs"
+ - "vhost:/etc/nginx/vhost.d"
+ - "html:/usr/share/nginx/html"
+ - "/var/run/docker.sock:/var/run/docker.sock:ro"
+ networks:
+ - "nginx-proxy-network"
+ depends_on:
+ - "nginx-proxy"
+
+volumes:
+ acme:
+ certs:
+ vhost:
+ html:
+
+networks:
+ nginx-proxy-network:
+ name: "nginx-proxy-network"
diff --git a/docker-compose.yml b/docker-compose.yml
index b408424..1ee42da 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,39 +1,27 @@
-version: "3.7"
-
-# Services requiring reverse proxy functionality should join the
-# 'nginx-proxy-network' network and define the environment variable
-# 'VIRTUAL_HOST' to the DNS name they use.
+# Provides basic HTTP-only reverse proxy service. To create a Docker container
+# that uses this service:
+#
+# - Define environment variables:
+# - VIRTUAL_HOST=<domain name>
+# - VIRTUAL_PORT=<port number> (only necessary if not 80)
#
-# This container works with or without the acme-companion service.
+# - EXPOSE the relevant port in your Dockerfile.
#
-# See more info here: https://github.com/nginx-proxy/nginx-proxy
+# - Join the "nginx-proxy-network" network.
+
+version: "3.7"
services:
+ # https://github.com/nginx-proxy/nginx-proxy
nginx-proxy:
- container_name: "nginx-proxy"
image: "nginxproxy/nginx-proxy"
restart: "always"
volumes:
- - "certs:/etc/nginx/certs"
- - "dhparam:/etc/nginx/dhparam"
- - "vhost:/etc/nginx/vhost.d"
- - "html:/usr/share/nginx/html"
- "/var/run/docker.sock:/tmp/docker.sock:ro"
networks:
- "nginx-proxy-network"
ports:
- "80:80"
- - "443:443"
-
-volumes:
- certs:
- name: "certs"
- dhparam:
- name: "dhparam"
- vhost:
- name: "vhost"
- html:
- name: "html"
networks:
nginx-proxy-network: