From 284ac9b142bd67449c984545c3d8a90d2a95f2c9 Mon Sep 17 00:00:00 2001 From: ckchen1417 Date: Mon, 24 Aug 2026 14:08:24 +0800 Subject: [PATCH] 2nd commit --- .Caddyfile.swp | Bin 0 -> 12288 bytes .env | 22 ++ .env.14jun2026 | 22 ++ .env:Zone.Identifier | 3 + .gitignore | 6 + Caddyfile | 82 ++++++++ Caddyfile.4mar2026 | 82 ++++++++ Caddyfile.gitnaviimmichnextcloud | 60 ++++++ Caddyfile:Zone.Identifier | 3 + dock.sh | 3 + docker-compose - Copy.yaml:Zone.Identifier | Bin 0 -> 25 bytes docker-compose - workingcopy-3jan2026 | 228 +++++++++++++++++++++ docker-compose.yaml | 228 +++++++++++++++++++++ docker-compose.yaml-with-plex | 227 ++++++++++++++++++++ docker-compose.yaml.gitnaviimmichnextcloud | 203 ++++++++++++++++++ docker-compose.yaml:Zone.Identifier | 3 + 16 files changed, 1172 insertions(+) create mode 100644 .Caddyfile.swp create mode 100644 .env create mode 100644 .env.14jun2026 create mode 100644 .env:Zone.Identifier create mode 100644 .gitignore create mode 100644 Caddyfile create mode 100644 Caddyfile.4mar2026 create mode 100644 Caddyfile.gitnaviimmichnextcloud create mode 100644 Caddyfile:Zone.Identifier create mode 100755 dock.sh create mode 100644 docker-compose - Copy.yaml:Zone.Identifier create mode 100644 docker-compose - workingcopy-3jan2026 create mode 100644 docker-compose.yaml create mode 100644 docker-compose.yaml-with-plex create mode 100644 docker-compose.yaml.gitnaviimmichnextcloud create mode 100644 docker-compose.yaml:Zone.Identifier diff --git a/.Caddyfile.swp b/.Caddyfile.swp new file mode 100644 index 0000000000000000000000000000000000000000..b2f6f7f78cc8e2a5d05bb47027a49dde7ba4ac90 GIT binary patch literal 12288 zcmeI2?Q0xG9LJ~D+G?8m^vYL`JqTL3huqbY9Efcrt%oF>iMEk~VQzMkon~)mot;f` zgz5|5h`taJ-`Ib^DuUo!--~a3qf!-$FMN0*ih|%9{m$+km)l%7c@faUEPU>=yTAR- z%xC8zA=9Z{YR%Kx$~3|803q*Pf9vYGdkOjLK|(lRw^#Q(77~75Z9O;B4wASi_*EpV zvM5?rfhTlzj(J{hRR*Hy8F$Yaa0U*_z$9tZr)xG_>EvVd;fG#4sKhRhGvEw31I~am z;0!ne&VV!E4BP<*Omv96hI-!Buj^v}`%vz?f9k%R0cXG&a0Z+KXTTY72AlzBz!`7` zoB?Ox4m7|#Lf$w+$WQm6^7#M%;P3xG?|gi+d<;GUAA+|*4=jVrU>ZCMPJmrmYSC3jR3bmBdTgU=cfZBeQzO?mMaSMcl@>HeofTW6b6H6u^dcog6Vp|t zX-60%G>wGDS(k+zJL+sLhlTrSpU^8wM3>7Kl-^|86JEKkl~Hs%=Dz5Py@K%=-Oj2% zK6FvApxkN~1wE@`L$`f=W+_HB=Jcg*D%dh;)}o3E0~rcPEzyO6Wm={e;Eyi#LQbdX zoC*TgQJNX4Li`euDi|%{EZoM5uM3C^*@pDA>Wb#+CmW5Nuk2-QX1!qNQ-k+#S#*}t zMCl7a_X*0j`_Lrvm=V|o3H`ZVk}I&A#FCF|-k@G+-n@;WOG2Z!-KIrd#(kIx1k<4m z*Qo4vCHKp5`b@K4pBdjY7Rf5(Ms7$WvmR)#TveU4H`ZApIEMTmHAbaJRtzP%hDVCPRw-tCWQvJ=boL$j1O0^A20-OTY_k z+W>l=@pTNnDSD9wfzZ9dt1Qsd4#ZaZ66P56WsDfiJQXcoNknWa*;uYDmv_dDmz+kt zpw>lkjx?em1Lg@Y;dbQSz8?LUqAUS3c7EDdv)Z}fedH~!UO!(!o@a#Z#N`EsVO-SG z9dUbR+ee~;9NA=FZh2T-qx_uF71vK$HA@^ zE5rFdpFFo@W>za-F>Dpk~Ez!kng{IjGjX`J)5F5B_ybgxr z(AU8V7@s%S_HjYQ%jKFhf;Ahpw9z=(-L4Y7Xk#!B%_&b%n+{6^_Wsi0*86_}xk@oF literal 0 HcmV?d00001 diff --git a/.env b/.env new file mode 100644 index 0000000..ec47729 --- /dev/null +++ b/.env @@ -0,0 +1,22 @@ +# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables + +# The location where your uploaded files are stored +UPLOAD_LOCATION=./library + +# The location where your database files are stored. Network shares are not supported for the database +DB_DATA_LOCATION=./postgres + +# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List +# TZ=Etc/UTC + +# The Immich version to use. You can pin this to a specific version like "v1.71.0" +IMMICH_VERSION=v2.7.5 + +# Connection secret for postgres. You should change it to a random password +# Please use only the characters `A-Za-z0-9`, without special characters or spaces +DB_PASSWORD=postgres + +# The values below this line do not need to be changed +################################################################################### +DB_USERNAME=postgres +DB_DATABASE_NAME=immich diff --git a/.env.14jun2026 b/.env.14jun2026 new file mode 100644 index 0000000..0450dc0 --- /dev/null +++ b/.env.14jun2026 @@ -0,0 +1,22 @@ +# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables + +# The location where your uploaded files are stored +UPLOAD_LOCATION=./library + +# The location where your database files are stored. Network shares are not supported for the database +DB_DATA_LOCATION=./postgres + +# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List +# TZ=Etc/UTC + +# The Immich version to use. You can pin this to a specific version like "v1.71.0" +IMMICH_VERSION=release + +# Connection secret for postgres. You should change it to a random password +# Please use only the characters `A-Za-z0-9`, without special characters or spaces +DB_PASSWORD=postgres + +# The values below this line do not need to be changed +################################################################################### +DB_USERNAME=postgres +DB_DATABASE_NAME=immich diff --git a/.env:Zone.Identifier b/.env:Zone.Identifier new file mode 100644 index 0000000..f5a6d96 --- /dev/null +++ b/.env:Zone.Identifier @@ -0,0 +1,3 @@ +[ZoneTransfer] +ZoneId=3 +ReferrerUrl=C:\Users\cck\Downloads\dockercomposefiles.zip diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fcf1adb --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +postgres/ +data/ +*.log +db-backups +library +plex diff --git a/Caddyfile b/Caddyfile new file mode 100644 index 0000000..d095d2a --- /dev/null +++ b/Caddyfile @@ -0,0 +1,82 @@ +# Caddyfile + +# Gitea - Code Hosting + +git.ccktgp.online { + reverse_proxy gitea:3000 { + header_up Host {host} + header_up X-Real-IP {remote} + header_up X-Forwarded-For {remote} + header_up X-Forwarded-Proto {scheme} + } +} + + +plex.ccktgp.online { + # Reverse proxy to Plex + reverse_proxy plex:32400 { + # Plex specific headers + header_up X-Real-IP {remote_host} + header_up X-Forwarded-For {remote_host} + header_up X-Forwarded-Proto {scheme} + + # Plex authentication headers + header_up X-Plex-Client-Identifier {http.request.header.X-Plex-Client-Identifier} + header_up X-Plex-Device {http.request.header.X-Plex-Device} + header_up X-Plex-Device-Name {http.request.header.X-Plex-Device-Name} + header_up X-Plex-Platform {http.request.header.X-Plex-Platform} + header_up X-Plex-Platform-Version {http.request.header.X-Plex-Platform-Version} + header_up X-Plex-Product {http.request.header.X-Plex-Product} + header_up X-Plex-Token {http.request.header.X-Plex-Token} + header_up X-Plex-Version {http.request.header.X-Plex-Version} + } + +} + +# Immich - Photo Backup & Gallery +photo.ccktgp.online { + # Main app and API + reverse_proxy immich-server:2283 { + header_up Host {host} + header_up X-Real-IP {remote} + header_up X-Forwarded-For {remote} + header_up X-Forwarded-Proto {scheme} + } + + # Microservices (if needed) + @machinelearning { + path /api/activities/* /api/jobs/* /api/search/* + } + reverse_proxy @machinelearning immich-server:2283 +} + +# Navidrome - Music Server +music.ccktgp.online { + reverse_proxy navidrome:4533 + + # WebSocket for real-time updates + @websockets { + path /ws + } + reverse_proxy @websockets navidrome:4533 +} + +# Nextcloud - File Sync & Collaboration +files.ccktgp.online { + reverse_proxy nextcloud:80 { + header_up Host {host} + header_up X-Real-IP {remote} + header_up X-Forwarded-For {remote} + header_up X-Forwarded-Proto {scheme} + } + + # Client endpoints for better performance + @client { + path /remote.php/dav/files/* /remote.php/webdav/* + } + reverse_proxy @client nextcloud:80 { + transport http { + read_timeout 3600s + } + } +} diff --git a/Caddyfile.4mar2026 b/Caddyfile.4mar2026 new file mode 100644 index 0000000..28860f6 --- /dev/null +++ b/Caddyfile.4mar2026 @@ -0,0 +1,82 @@ +# Caddyfile + +# Gitea - Code Hosting + +#git.ccktgp.club { +# reverse_proxy gitea:3000 { +# header_up Host {host} + # header_up X-Real-IP {remote} +# header_up X-Forwarded-For {remote} +# header_up X-Forwarded-Proto {scheme} +# } +#} +# + +git.ccktgp.club { + # Reverse proxy to Plex + reverse_proxy plex:32400 { + # Plex specific headers + header_up X-Real-IP {remote_host} + header_up X-Forwarded-For {remote_host} + header_up X-Forwarded-Proto {scheme} + + # Plex authentication headers + header_up X-Plex-Client-Identifier {http.request.header.X-Plex-Client-Identifier} + header_up X-Plex-Device {http.request.header.X-Plex-Device} + header_up X-Plex-Device-Name {http.request.header.X-Plex-Device-Name} + header_up X-Plex-Platform {http.request.header.X-Plex-Platform} + header_up X-Plex-Platform-Version {http.request.header.X-Plex-Platform-Version} + header_up X-Plex-Product {http.request.header.X-Plex-Product} + header_up X-Plex-Token {http.request.header.X-Plex-Token} + header_up X-Plex-Version {http.request.header.X-Plex-Version} + } + +} + +# Immich - Photo Backup & Gallery +photo.ccktgp.club { + # Main app and API + reverse_proxy immich-server:2283 { + header_up Host {host} + header_up X-Real-IP {remote} + header_up X-Forwarded-For {remote} + header_up X-Forwarded-Proto {scheme} + } + + # Microservices (if needed) + @machinelearning { + path /api/activities/* /api/jobs/* /api/search/* + } + reverse_proxy @machinelearning immich-server:2283 +} + +# Navidrome - Music Server +music.ccktgp.club { + reverse_proxy navidrome:4533 + + # WebSocket for real-time updates + @websockets { + path /ws + } + reverse_proxy @websockets navidrome:4533 +} + +# Nextcloud - File Sync & Collaboration +files.ccktgp.club { + reverse_proxy nextcloud:80 { + header_up Host {host} + header_up X-Real-IP {remote} + header_up X-Forwarded-For {remote} + header_up X-Forwarded-Proto {scheme} + } + + # Client endpoints for better performance + @client { + path /remote.php/dav/files/* /remote.php/webdav/* + } + reverse_proxy @client nextcloud:80 { + transport http { + read_timeout 3600s + } + } +} diff --git a/Caddyfile.gitnaviimmichnextcloud b/Caddyfile.gitnaviimmichnextcloud new file mode 100644 index 0000000..65a5947 --- /dev/null +++ b/Caddyfile.gitnaviimmichnextcloud @@ -0,0 +1,60 @@ +# Caddyfile + +# Gitea - Code Hosting + +git.ccktgp.club { + reverse_proxy gitea:3000 { + header_up Host {host} + header_up X-Real-IP {remote} + header_up X-Forwarded-For {remote} + header_up X-Forwarded-Proto {scheme} + } +} + +# Immich - Photo Backup & Gallery +photo.ccktgp.club { + # Main app and API + reverse_proxy immich-server:2283 { + header_up Host {host} + header_up X-Real-IP {remote} + header_up X-Forwarded-For {remote} + header_up X-Forwarded-Proto {scheme} + } + + # Microservices (if needed) + @machinelearning { + path /api/activities/* /api/jobs/* /api/search/* + } + reverse_proxy @machinelearning immich-server:2283 +} + +# Navidrome - Music Server +music.ccktgp.club { + reverse_proxy navidrome:4533 + + # WebSocket for real-time updates + @websockets { + path /ws + } + reverse_proxy @websockets navidrome:4533 +} + +# Nextcloud - File Sync & Collaboration +files.ccktgp.club { + reverse_proxy nextcloud:80 { + header_up Host {host} + header_up X-Real-IP {remote} + header_up X-Forwarded-For {remote} + header_up X-Forwarded-Proto {scheme} + } + + # Client endpoints for better performance + @client { + path /remote.php/dav/files/* /remote.php/webdav/* + } + reverse_proxy @client nextcloud:80 { + transport http { + read_timeout 3600s + } + } +} diff --git a/Caddyfile:Zone.Identifier b/Caddyfile:Zone.Identifier new file mode 100644 index 0000000..f5a6d96 --- /dev/null +++ b/Caddyfile:Zone.Identifier @@ -0,0 +1,3 @@ +[ZoneTransfer] +ZoneId=3 +ReferrerUrl=C:\Users\cck\Downloads\dockercomposefiles.zip diff --git a/dock.sh b/dock.sh new file mode 100755 index 0000000..6da72b7 --- /dev/null +++ b/dock.sh @@ -0,0 +1,3 @@ +docker compose down +docker compose up -d + diff --git a/docker-compose - Copy.yaml:Zone.Identifier b/docker-compose - Copy.yaml:Zone.Identifier new file mode 100644 index 0000000000000000000000000000000000000000..d6c1ec682968c796b9f5e9e080cc6f674b57c766 GIT binary patch literal 25 dcma!!%Fjy;DN4*MPD?F{<>dl#JyUFr831@K2x