| volumes: | volumes: | ||||
| - ${GITEA_DATA_VOLUME_PATH}:/data | - ${GITEA_DATA_VOLUME_PATH}:/data | ||||
| blog1: | |||||
| image: ghost | |||||
| restart: always | |||||
| # ports: | |||||
| # - "2368:2368" | |||||
| environment: | |||||
| database__client: sqlite3 | |||||
| database__connection__filename: content/data/ghost.db | |||||
| url: ${BLOG_1_URL} | |||||
| volumes: | |||||
| - ${BLOG_1_VOLUME_PATH}:/var/lib/ghost/content | |||||
| restart: always | |||||
| hauk: | hauk: | ||||
| build: | build: | ||||
| context: ./images/hauk/ | context: ./images/hauk/ |
| GITEA_DATA_VOLUME_PATH=${VOLUMES_PATH}/gitea/data | GITEA_DATA_VOLUME_PATH=${VOLUMES_PATH}/gitea/data | ||||
| GITEA_HTTP_PORT=2443 | GITEA_HTTP_PORT=2443 | ||||
| # GHOST BLOGS | |||||
| BLOG_1_SERVER_NAME=blog | |||||
| BLOG_1_URL=${BLOG_1_URL} | |||||
| BLOG_1_VOLUME_PATH=${VOLUMES_PATH}/blogs/blog1 | |||||
| # PI-HOLE | # PI-HOLE | ||||
| PIHOLE_CONFIG_VOLUME_PATH=${VOLUMES_PATH}/pihole/pihole | PIHOLE_CONFIG_VOLUME_PATH=${VOLUMES_PATH}/pihole/pihole |
| #acl gitea-acl ssl_fc_sni ${GITEA_URL} | #acl gitea-acl ssl_fc_sni ${GITEA_URL} | ||||
| acl nextcloud-acl ssl_fc_sni_reg ^${NEXTCLOUD_SERVER_NAME}\. | acl nextcloud-acl ssl_fc_sni_reg ^${NEXTCLOUD_SERVER_NAME}\. | ||||
| acl gitea-acl ssl_fc_sni_reg ^${GITEA_SERVER_NAME}\. | acl gitea-acl ssl_fc_sni_reg ^${GITEA_SERVER_NAME}\. | ||||
| acl blog1-acl ssl_fc_sni_reg ^${BLOG_1_SERVER_NAME}\. | |||||
| acl hauk-acl ssl_fc_sni_reg ^${HAUK_SERVER_NAME}\. | acl hauk-acl ssl_fc_sni_reg ^${HAUK_SERVER_NAME}\. | ||||
| use_backend letsencrypt-backend if letsencrypt-acl | use_backend letsencrypt-backend if letsencrypt-acl | ||||
| use_backend nextcloud if nextcloud-acl | use_backend nextcloud if nextcloud-acl | ||||
| use_backend gitea if gitea-acl | use_backend gitea if gitea-acl | ||||
| use_backend blog1 if blog1-acl | |||||
| use_backend hauk if hauk-acl | use_backend hauk if hauk-acl | ||||
| default_backend nextcloud | default_backend nextcloud | ||||
| server gitea gitea:2443 maxconn 32 check ssl verify none | server gitea gitea:2443 maxconn 32 check ssl verify none | ||||
| backend blog1 | |||||
| # https://forum.ghost.org/t/cant-get-full-site-ssl/12478/6 | |||||
| # https://blog.woodenstake.se/starting-a-blog-again/ | |||||
| option forwardfor | |||||
| http-request set-header X-Forwarded-Port %[dst_port] | |||||
| http-request add-header X-Forwarded-Proto https if { ssl_fc } | |||||
| server blog1 blog1:2368 maxconn 32 | |||||
| backend hauk | backend hauk | ||||
| server hauk hauk:80 maxconn 32 | server hauk hauk:80 maxconn 32 | ||||
| # Get Let's Encrypt certificates | # Get Let's Encrypt certificates | ||||
| HAPROXY_CERTS="" | HAPROXY_CERTS="" | ||||
| SERVER_NAMES="${NEXTCLOUD_SERVER_NAME} ${GITEA_SERVER_NAME} ${HAUK_SERVER_NAME}" | |||||
| SERVER_NAMES="${NEXTCLOUD_SERVER_NAME} ${GITEA_SERVER_NAME} ${BLOG_1_SERVER_NAME} ${HAUK_SERVER_NAME}" | |||||
| #echo Server names: $SERVER_NAMES | #echo Server names: $SERVER_NAMES | ||||
| for domain in ${DOMAINS}; do | for domain in ${DOMAINS}; do | ||||
| for server_name in ${SERVER_NAMES}; do | for server_name in ${SERVER_NAMES}; do | ||||
| #sed -i "s/\${GITEA_URL}/${GITEA_URL}/g" $CFG_FILE | #sed -i "s/\${GITEA_URL}/${GITEA_URL}/g" $CFG_FILE | ||||
| sed -i "s/\${NEXTCLOUD_SERVER_NAME}/${NEXTCLOUD_SERVER_NAME}/g" $CFG_FILE | sed -i "s/\${NEXTCLOUD_SERVER_NAME}/${NEXTCLOUD_SERVER_NAME}/g" $CFG_FILE | ||||
| sed -i "s/\${GITEA_SERVER_NAME}/${GITEA_SERVER_NAME}/g" $CFG_FILE | sed -i "s/\${GITEA_SERVER_NAME}/${GITEA_SERVER_NAME}/g" $CFG_FILE | ||||
| sed -i "s/\${BLOG_1_SERVER_NAME}/${BLOG_1_SERVER_NAME}/g" $CFG_FILE | |||||
| sed -i "s/\${HAUK_SERVER_NAME}/${HAUK_SERVER_NAME}/g" $CFG_FILE | sed -i "s/\${HAUK_SERVER_NAME}/${HAUK_SERVER_NAME}/g" $CFG_FILE | ||||
| #echo sed -i "s/\${HAPROXY_CERTS}/${HAPROXY_CERTS}/g" ${CFG_FILE} | #echo sed -i "s/\${HAPROXY_CERTS}/${HAPROXY_CERTS}/g" ${CFG_FILE} | ||||
| sed -i "s/\${HAPROXY_CERTS}/${HAPROXY_CERTS//\//\\/}/g" ${CFG_FILE} | sed -i "s/\${HAPROXY_CERTS}/${HAPROXY_CERTS//\//\\/}/g" ${CFG_FILE} |
| paperless_ftp_pwd=`eval "$PWD_GEN"` | paperless_ftp_pwd=`eval "$PWD_GEN"` | ||||
| fi | fi | ||||
| read -p "Blog 1 URL (https://blog.${domain})" blog_1_url | |||||
| if [[ ${#blog_1_url} -eq 0 ]]; then | |||||
| blog_1_url=https://blog.${domain} | |||||
| fi | |||||
| echo $'\E[33m' | echo $'\E[33m' | ||||
| echo "//////////////////////////////////////////////////" | echo "//////////////////////////////////////////////////" | ||||
| echo "///////////////// PLEASE CONFIRM /////////////////" | echo "///////////////// PLEASE CONFIRM /////////////////" | ||||
| echo Your Admin email. Let\'s Encrypt...: $admin_email | echo Your Admin email. Let\'s Encrypt...: $admin_email | ||||
| echo Your Paperless Web Server User: $paperless_webserver_user | echo Your Paperless Web Server User: $paperless_webserver_user | ||||
| echo Your SFTP User: $paperless_ftp_user | echo Your SFTP User: $paperless_ftp_user | ||||
| echo Your Blog 1 URL: $blog_1_url | |||||
| echo $'\E[1;37m' | echo $'\E[1;37m' | ||||
| read -p "Are These Settings Correct? Yes (y), No (n): " confirm | read -p "Are These Settings Correct? Yes (y), No (n): " confirm | ||||
| sed -i "s/\${PAPERLESS_FTP_USER}/${paperless_ftp_user}/g" $i | sed -i "s/\${PAPERLESS_FTP_USER}/${paperless_ftp_user}/g" $i | ||||
| sed -i "s/\${IP_LOOKUP}/${IP_LOOKUP}/g" $i | sed -i "s/\${IP_LOOKUP}/${IP_LOOKUP}/g" $i | ||||
| sed -i "s/\${IPv6_LOOKUP}/${IPv6_LOOKUP}/g" $i | sed -i "s/\${IPv6_LOOKUP}/${IPv6_LOOKUP}/g" $i | ||||
| sed -i "s/\${BLOG_1_URL}/${blog_1_url}/g" $i | |||||
| #sed -i "s/\${}/${}/g" $i | #sed -i "s/\${}/${}/g" $i | ||||
| done; | done; | ||||
| echo "" >> haproxy.env | echo "" >> haproxy.env | ||||
| echo "NEXTCLOUD_SERVER_NAME=${NEXTCLOUD_SERVER_NAME}" >> haproxy.env | echo "NEXTCLOUD_SERVER_NAME=${NEXTCLOUD_SERVER_NAME}" >> haproxy.env | ||||
| echo "GITEA_SERVER_NAME=${GITEA_SERVER_NAME}" >> haproxy.env | echo "GITEA_SERVER_NAME=${GITEA_SERVER_NAME}" >> haproxy.env | ||||
| echo "BLOG_1_SERVER_NAME=${BLOG_1_SERVER_NAME}" >> haproxy.env | |||||
| echo "HAUK_SERVER_NAME=${HAUK_SERVER_NAME}" >> haproxy.env | echo "HAUK_SERVER_NAME=${HAUK_SERVER_NAME}" >> haproxy.env | ||||
| echo $'\E[33m' | echo $'\E[33m' | ||||
| sudo mkdir -p ${PAPERLESS_EXPORT_VOLUME_PATH} | sudo mkdir -p ${PAPERLESS_EXPORT_VOLUME_PATH} | ||||
| # gitea | # gitea | ||||
| sudo mkdir -p ${GITEA_DATA_VOLUME_PATH} | sudo mkdir -p ${GITEA_DATA_VOLUME_PATH} | ||||
| # blogs | |||||
| sudo mkdir -p ${BLOG_1_VOLUME_PATH} | |||||
| # Pi-Hole | # Pi-Hole | ||||
| sudo mkdir -p ${PIHOLE_CONFIG_VOLUME_PATH} | sudo mkdir -p ${PIHOLE_CONFIG_VOLUME_PATH} | ||||
| sudo mkdir -p ${PIHOLE_DNSMASQ_VOLUME_PATH} | sudo mkdir -p ${PIHOLE_DNSMASQ_VOLUME_PATH} |