ฉันใช้ Ubuntu กับนักเทียบท่า และฉันต้องตั้งค่าเซิร์ฟเวอร์ภายในเครื่องด้วย Nextcloud และ Openproject สำหรับการเชื่อมต่อจากอินเทอร์เน็ต (ภายนอก) ฉันใช้ DNS แบบไดนามิก (บริการ ddns.net)
เมื่อฉันใช้การเชื่อมต่อนี้ใน localhost มันใช้งานได้ แต่ไม่มีอะไรทำงานจากภายนอก แต่ nginx ของฉันสามารถเข้าถึงได้เพราะฉันได้รับข้อผิดพลาด 503
ที่อยู่ ddns ของฉันคือ mydomain.ddns.net
การเปลี่ยนเส้นทางที่ต้องการคือ:
openproject.mydomain.ddns.net ==> คอนเทนเนอร์ openproject
nextcloud.mydomain.ddns.net ==> คอนเทนเนอร์ nextcloud
ฉันไม่สามารถกำหนดค่าคอนเทนเนอร์พร็อกซี nginx ให้เปลี่ยนเส้นทางไปยังคอนเทนเนอร์ได้อย่างถูกต้อง
ฉันมีไฟล์ docker-compose.yml นี้:
รุ่น: '3'
บริการ:
พร็อกซี:
ภาพ: jwilder/nginx-proxy:alpine
ป้ายกำกับ:
- "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy=true"
container_name: nextcloud-พร็อกซี
เครือข่าย:
- ถัดไป cloud_network
พอร์ต:
- 80:80
- 443:443
ปริมาณ:
- ./proxy/conf.d:/etc/nginx/conf.d:rw
- ./proxy/vhost.d:/etc/nginx/vhost.d:rw
- ./proxy/html:/usr/share/nginx/html:rw
- ./proxy/certs:/etc/nginx/certs:ro
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/tmp/docker.sock:ro
รีสตาร์ท: เว้นแต่จะหยุด
ให้เข้ารหัส:
รูปภาพ: jrcs/letsencrypt-nginx-proxy-companion
container_name: nextcloud-letsencrypt
ขึ้นอยู่กับ:
- หนังสือมอบฉันทะ
เครือข่าย:
- ถัดไป cloud_network
ปริมาณ:
- ./proxy/certs:/etc/nginx/certs:rw
- ./proxy/vhost.d:/etc/nginx/vhost.d:rw
- ./proxy/html:/usr/share/nginx/html:rw
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
รีสตาร์ท: เว้นแต่จะหยุด
ฐานข้อมูล:
ภาพ: mariadb
คำสั่ง: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
container_name: nextcloud-mariadb
เครือข่าย:
- ถัดไป cloud_network
ปริมาณ:
- db:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro
สิ่งแวดล้อม:
- MYSQL_ROOT_PASSWORD=รหัสผ่าน
- MYSQL_PASSWORD=รหัสผ่าน
- MYSQL_DATABASE=เน็กซ์คลาวด์
- MYSQL_USER=เน็กซ์คลาวด์
รีสตาร์ท: เว้นแต่จะหยุด
แอป:
รูปภาพ: nextcloud: ล่าสุด
container_name: แอพ nextcloud
เครือข่าย:
- ถัดไป cloud_network
ขึ้นอยู่กับ:
- ให้เข้ารหัส
- หนังสือมอบฉันทะ
- ฐานข้อมูล
ปริมาณ:
- nextcloud:/var/www/html
- ./app/config:/var/www/html/config
- ./app/custom_apps:/var/www/html/custom_apps
- ./app/data:/var/www/html/data
- ./app/themes:/var/www/html/themes
- /etc/localtime:/etc/localtime:ro
สิ่งแวดล้อม:
- VIRTUAL_HOST=nextcloud.mydomain.ddns.net
- LETSENCRYPT_HOST=nextcloud.mydomain.ddns.net
- [email protected]
รีสตาร์ท: เว้นแต่จะหยุด
แอป 2:
รูปภาพ: openproject/community:11
container_name: openproject-app
เครือข่าย:
- ถัดไป cloud_network
ขึ้นอยู่กับ:
- ให้เข้ารหัส
- หนังสือมอบฉันทะ
- db2
ปริมาณ:
- openproject:/var/www/html
- ./app/config:/var/www/html/config
- ./app/custom_apps:/var/www/html/custom_apps
- ./app/data:/var/www/html/data
- ./app/themes:/var/www/html/themes
- /etc/localtime:/etc/localtime:ro
สิ่งแวดล้อม:
- SECRET_KEY_BASE=ความลับ
- VIRTUAL_HOST=openproject.mydomain.ddns.net
- LETSENCRYPT_HOST=openproject.mydomain.ddns.net
- [email protected]
รีสตาร์ท: เว้นแต่จะหยุด
ฐานข้อมูล 2:
ภาพ: mariadb
คำสั่ง: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
container_name: openproject-mariadb
เครือข่าย:
- ถัดไป cloud_network
ปริมาณ:
- db2:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro
สิ่งแวดล้อม:
- MYSQL_ROOT_PASSWORD=รหัสผ่าน
- MYSQL_PASSWORD=รหัสผ่าน
- MYSQL_DATABASE=openproject
- MYSQL_USER=openproject
รีสตาร์ท: เว้นแต่จะหยุด
ปริมาณ:
เปิดโครงการ:
เน็กซ์คลาวด์:
ฐานข้อมูล:
ฐานข้อมูล 2:
เครือข่าย:
nextcloud_network:
ขอบคุณที่ช่วยเหลือ :)