From 94bef079a80df3b891e6382cef37a0e97ca5cb4a Mon Sep 17 00:00:00 2001 From: bunkerity Date: Thu, 5 Aug 2021 17:05:31 +0200 Subject: [PATCH] examples - add architecture images --- examples/multisite-basic/architecture.png | Bin 0 -> 15709 bytes .../multisite-custom-confs/architecture.png | Bin 0 -> 31322 bytes .../architecture.png | Bin 0 -> 15490 bytes .../docker-compose.yml | 11 ----------- examples/nextcloud/architecture.png | Bin 0 -> 19001 bytes examples/passbolt/architecture.png | Bin 0 -> 13303 bytes examples/prestashop/architecture.png | Bin 0 -> 19511 bytes examples/redmine/architecture.png | Bin 0 -> 10078 bytes .../reverse-proxy-multisite/architecture.png | Bin 0 -> 13029 bytes .../reverse-proxy-singlesite/architecture.png | Bin 0 -> 13267 bytes .../reverse-proxy-websocket/architecture.png | Bin 0 -> 8973 bytes examples/swarm-redis/architecture.png | Bin 0 -> 16949 bytes examples/swarm/architecture.png | Bin 0 -> 13049 bytes examples/syslog/architecture.png | Bin 0 -> 19315 bytes examples/tomcat/architecture.png | Bin 0 -> 18655 bytes examples/tor-hidden-service/architecture.png | Bin 0 -> 15824 bytes examples/web-ui/architecture.png | Bin 0 -> 11133 bytes examples/wordpress/architecture.png | Bin 0 -> 19323 bytes examples/zammad/architecture.png | Bin 0 -> 14476 bytes examples/zammad/docker-compose.yml | 4 ++-- 20 files changed, 2 insertions(+), 13 deletions(-) create mode 100644 examples/multisite-basic/architecture.png create mode 100644 examples/multisite-custom-confs/architecture.png create mode 100644 examples/multisite-custom-subfolders/architecture.png create mode 100644 examples/nextcloud/architecture.png create mode 100644 examples/passbolt/architecture.png create mode 100644 examples/prestashop/architecture.png create mode 100644 examples/redmine/architecture.png create mode 100644 examples/reverse-proxy-multisite/architecture.png create mode 100644 examples/reverse-proxy-singlesite/architecture.png create mode 100644 examples/reverse-proxy-websocket/architecture.png create mode 100644 examples/swarm-redis/architecture.png create mode 100644 examples/swarm/architecture.png create mode 100644 examples/syslog/architecture.png create mode 100644 examples/tomcat/architecture.png create mode 100644 examples/tor-hidden-service/architecture.png create mode 100644 examples/web-ui/architecture.png create mode 100644 examples/wordpress/architecture.png create mode 100644 examples/zammad/architecture.png diff --git a/examples/multisite-basic/architecture.png b/examples/multisite-basic/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..ce423b3c98ab04566e93cb88bb910843f7e00bad GIT binary patch literal 15709 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 F{uh%%F5UnD literal 0 HcmV?d00001 diff --git a/examples/multisite-custom-confs/architecture.png b/examples/multisite-custom-confs/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..cc417c6be8e248eb1d447d139eec5a7216456f3e GIT binary patch literal 31322 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 Djs2#_ literal 0 HcmV?d00001 diff --git a/examples/multisite-custom-subfolders/docker-compose.yml b/examples/multisite-custom-subfolders/docker-compose.yml index 2285427ec..a704852f4 100644 --- a/examples/multisite-custom-subfolders/docker-compose.yml +++ b/examples/multisite-custom-subfolders/docker-compose.yml @@ -41,17 +41,6 @@ services: volumes: - ./apps/app1.example.com/web-files:/var/www/html # app1 project web root - app1_db: - image: mariadb - restart: always - volumes: - - ./apps/app1.example.com/db-data:/var/lib/mysql # app1 project data - environment: - - MYSQL_ROOT_PASSWORD=db-root-pwd # replace with a stronger password - - MYSQL_DATABASE=app - - MYSQL_USER=user - - MYSQL_PASSWORD=db-user-pwd # replace with a stronger password - app2: image: php:fpm restart: always diff --git a/examples/nextcloud/architecture.png b/examples/nextcloud/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..6f707a295d5d64aed5abe9e464875561896842ea GIT binary patch literal 19001 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 literal 0 HcmV?d00001 diff --git a/examples/prestashop/architecture.png b/examples/prestashop/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..8bfb11b1219a5ad764565da5f201a9b9272b493f GIT binary patch literal 19511 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 literal 0 HcmV?d00001 diff --git a/examples/redmine/architecture.png b/examples/redmine/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..db09cb70225a39a589e93394036d130c4443d768 GIT binary patch literal 10078 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 bzv8gB$~0FAXHvrV#39JbsC=%HG7bKJKNcFA literal 0 HcmV?d00001 diff --git a/examples/reverse-proxy-multisite/architecture.png b/examples/reverse-proxy-multisite/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..dff247f65813a21b2c2dd508ef333a95f339638c GIT binary patch literal 13029 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 literal 0 HcmV?d00001 diff --git a/examples/reverse-proxy-singlesite/architecture.png b/examples/reverse-proxy-singlesite/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..c23cb9de918b9b9b35fea0696e17380ced365266 GIT binary patch literal 13267 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 Qhy&5Op?kgP+P#qf1Ccp~r~m)} literal 0 HcmV?d00001 diff --git a/examples/reverse-proxy-websocket/architecture.png b/examples/reverse-proxy-websocket/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..274ad6550ba685258aee1d36ddb1eb768fdc8524 GIT binary patch literal 8973 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 KluHz!zWOhkx#1cB literal 0 HcmV?d00001 diff --git a/examples/swarm-redis/architecture.png b/examples/swarm-redis/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..bfd3e8f4c1148143b6fb05dcadfe4f18be436676 GIT binary patch literal 16949 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�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 R4j#ZEN(yT7h4&u6{vTtJv`7E| literal 0 HcmV?d00001 diff --git a/examples/syslog/architecture.png b/examples/syslog/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..b3a08fbf573ec7bf1d74b4b21c2f2a16c501d702 GIT binary patch literal 19315 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 literal 0 HcmV?d00001 diff --git a/examples/tomcat/architecture.png b/examples/tomcat/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..0ae45967ead862bf719c6b20020c0c995e14fb98 GIT binary patch literal 18655 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 literal 0 HcmV?d00001 diff --git a/examples/tor-hidden-service/architecture.png b/examples/tor-hidden-service/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..f627d12b0fd10a337b370c0cb8079e533819c93a GIT binary patch literal 15824 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 literal 0 HcmV?d00001 diff --git a/examples/wordpress/architecture.png b/examples/wordpress/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..b40f83ba2bcd728cee5a09dbbb136703eb7c953d GIT binary patch literal 19323 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 literal 0 HcmV?d00001 diff --git a/examples/zammad/architecture.png b/examples/zammad/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..0c5d66876aae6525ca2fccb4bc480e7e3da8f302 GIT binary patch literal 14476 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