Compare commits
9 Commits
4c6ddebd1b
...
9258c9a547
Author | SHA1 | Date | |
---|---|---|---|
9258c9a547 | |||
88b76522ae | |||
1cbda3f57a | |||
486cd7cf21 | |||
c2667399ea | |||
8f5c987b73 | |||
|
7f8bb2fe7a | ||
7071a8b47c | |||
56df4d6162 |
3
.gitignore
vendored
3
.gitignore
vendored
@ -34,3 +34,6 @@ docker-compose.yml
|
||||
|
||||
# 2024-01-24 Hide static files for Hyperling.com.
|
||||
Config/Hyperling.com/files/*
|
||||
|
||||
# Ignore things like Config/Hyperling.com-Stage/
|
||||
*-Stage
|
||||
|
@ -10,7 +10,7 @@ product's self-built solutions can be found below.
|
||||
1. Install this project.
|
||||
|
||||
```
|
||||
git clone https://github.com/Hyperling/docker $PROJECT_DIR
|
||||
git clone https://git.hyperling.com/me/env-docker $PROJECT_DIR
|
||||
```
|
||||
|
||||
1. Add your user key to `$PROJECT_DIR/Config/DynamicDNS/private.key`. The key can
|
||||
|
@ -17,7 +17,7 @@ RUN npm install
|
||||
# Install + Run Website
|
||||
CMD cd /var/www/api && \
|
||||
rm -rfv pages main.js run.sh && \
|
||||
git clone https://github.com/Hyperling/Website website && \
|
||||
git clone https://git.hyperling.com/me/nodejs-website website && \
|
||||
rm -rfv website/files && \
|
||||
mv -v website/* ./ && \
|
||||
rm -rfv website && \
|
||||
|
@ -48,6 +48,10 @@ server {
|
||||
root /etc/nginx/letsencrypt/;
|
||||
}
|
||||
|
||||
# Allow decent sized uploads.
|
||||
client_max_body_size 0;
|
||||
client_body_buffer_size 100M;
|
||||
|
||||
# Send traffic to upstream server
|
||||
location / {
|
||||
## General format is PROTOCOL://SERVER:PORT.
|
||||
|
76
Config/ReverseProxy/config/conf.d/nextcloud.example.com
Normal file
76
Config/ReverseProxy/config/conf.d/nextcloud.example.com
Normal file
@ -0,0 +1,76 @@
|
||||
# 2025-01-02 Hyperling
|
||||
# A dummy test file since true scripts are being kept private.
|
||||
# This should help others understand how to get Nextcloud working.
|
||||
|
||||
## Instructions ##
|
||||
# Add this without the comment to your /etc/hosts to test that it is working,
|
||||
# YOUR_DOCKER_SERVER_IP cloud.example.com
|
||||
# If testing locally on a workstation,
|
||||
# 127.0.0.1 cloud.example.com
|
||||
# Then to test, first start the container,
|
||||
# cd $DOCKER_HOME/Config/ReverseProxy && docker compose build && docker compose up -d
|
||||
# Then from the system with the modified /etc/hosts,
|
||||
# curl --insecure cloud.example.com
|
||||
# You should see activity in the container log as well as the contents of the
|
||||
# proxied website in the terminal, NOT cloud.example.com. If using a browser then you
|
||||
# should notice that the URL is still cloud.example.com but the website is correct.
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name cloud.example.com;
|
||||
|
||||
location /.well-known/acme-challenge/ {
|
||||
default_type "text/plain";
|
||||
root /etc/nginx/letsencrypt/;
|
||||
}
|
||||
|
||||
location / {
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443 ssl;
|
||||
server_name cloud.example.com;
|
||||
|
||||
ssl_certificate /etc/nginx/certs/cloud.example.com/fullchain.pem; # managed by Certbot
|
||||
ssl_certificate_key /etc/nginx/certs/cloud.example.com/privkey.pem; # managed by Certbot
|
||||
|
||||
# https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/reverse_proxy_configuration.html#nginx
|
||||
rewrite ^/\.well-known/carddav https://$server_name/remote.php/dav/ redirect;
|
||||
rewrite ^/\.well-known/caldav https://$server_name/remote.php/dav/ redirect;
|
||||
|
||||
location /.well-known/acme-challenge/ {
|
||||
default_type "text/plain";
|
||||
root /etc/nginx/letsencrypt/;
|
||||
}
|
||||
|
||||
# Attempt to make OnlyOffice work both internally and externally.
|
||||
# https://helpcenter.onlyoffice.com/installation/docs-nextcloud-proxy.aspx
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection $proxy_connection;
|
||||
proxy_set_header X-Forwarded-Host $http_host/office;
|
||||
|
||||
# Send traffic to upstream server
|
||||
location / {
|
||||
expires epoch;
|
||||
add_header Pragma public;
|
||||
add_header Cache-Control "private, no-store";
|
||||
add_header Strict-Transport-Security "max-age=15552000; includeSubDomains; preload";
|
||||
|
||||
# Fix upload errors (HTTP Error: Request Entity Too Large).
|
||||
client_max_body_size 0;
|
||||
client_body_buffer_size 100M;
|
||||
|
||||
# Attempt to make OnlyOffice work both internally and externally.
|
||||
# https://helpcenter.onlyoffice.com/installation/docs-nextcloud-proxy.asp
|
||||
proxy_pass_header Server;
|
||||
proxy_pass http://hyperling-cloud;
|
||||
}
|
||||
|
||||
# Attempt to make OnlyOffice work both internally and externally.
|
||||
# https://helpcenter.onlyoffice.com/installation/docs-nextcloud-proxy.aspx
|
||||
location /office/ {
|
||||
proxy_pass http://hyperling-office-http;
|
||||
}
|
||||
}
|
@ -24,7 +24,7 @@ apt install git bash
|
||||
|
||||
Clone the project. You may choose anywhere, but `/opt/Docker` is recommended.
|
||||
```
|
||||
git clone https://github.com/Hyperling/Docker /opt/Docker
|
||||
git clone https://git.hyperling.com/me/env-docker /opt/Docker
|
||||
```
|
||||
|
||||
Load the environment variables from wherever you chose to put the project.
|
||||
|
Loading…
x
Reference in New Issue
Block a user