Tidy up
This commit is contained in:
1
.example.env
Normal file
1
.example.env
Normal file
@@ -0,0 +1 @@
|
|||||||
|
DOMAIN=localhost
|
||||||
@@ -18,6 +18,8 @@ services:
|
|||||||
proxy:
|
proxy:
|
||||||
build:
|
build:
|
||||||
context: ./services/nginx
|
context: ./services/nginx
|
||||||
|
args:
|
||||||
|
DOMAIN: ${DOMAIN:?DOMAIN not set}
|
||||||
networks:
|
networks:
|
||||||
- nextcloud-frontend
|
- nextcloud-frontend
|
||||||
- gitea-frontend
|
- gitea-frontend
|
||||||
|
|||||||
@@ -21,11 +21,9 @@ Alternatively to generate a CA signed certificate (if your own a domain):
|
|||||||
./tools/generate_cert.bash yourdomain.com admin@email.com .
|
./tools/generate_cert.bash yourdomain.com admin@email.com .
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Configure the host name (e.g. for `localhost`):
|
2. Make a `.env` configuration file
|
||||||
|
|
||||||
```
|
See `.example.env`.
|
||||||
./tools/configure.bash localhost .
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Start the services.
|
3. Start the services.
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
FROM nginx:1.28-alpine
|
FROM nginx:1.28-alpine
|
||||||
|
|
||||||
COPY ./default.conf /etc/nginx/conf.d/default.conf
|
ARG DOMAIN
|
||||||
|
COPY ./default.template.conf /tmp/default.template.conf
|
||||||
|
RUN envsubst '$DOMAIN' < /tmp/default.template.conf > /etc/nginx/conf.d/default.conf
|
||||||
COPY ./server.key /etc/ssl/crt/server.key
|
COPY ./server.key /etc/ssl/crt/server.key
|
||||||
COPY ./server.crt /etc/ssl/crt/server.crt
|
COPY ./server.crt /etc/ssl/crt/server.crt
|
||||||
|
|||||||
@@ -13,14 +13,17 @@ upstream php-handler {
|
|||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
|
|
||||||
server_name _;
|
server_name ${DOMAIN} www.${DOMAIN}
|
||||||
|
nextcloud.${DOMAIN}
|
||||||
|
gitea.${DOMAIN}
|
||||||
|
redmine.${DOMAIN};
|
||||||
|
|
||||||
return 301 https://$host$request_uri;
|
return 301 https://$host$request_uri;
|
||||||
}
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 443 ssl;
|
listen 443 ssl;
|
||||||
server_name gitea.yourdomain.com;
|
server_name gitea.${DOMAIN};
|
||||||
|
|
||||||
ssl_certificate /etc/ssl/crt/server.crt;
|
ssl_certificate /etc/ssl/crt/server.crt;
|
||||||
ssl_certificate_key /etc/ssl/crt/server.key;
|
ssl_certificate_key /etc/ssl/crt/server.key;
|
||||||
@@ -40,7 +43,7 @@ server {
|
|||||||
|
|
||||||
server {
|
server {
|
||||||
listen 443 ssl;
|
listen 443 ssl;
|
||||||
server_name redmine.yourdomain.com;
|
server_name redmine.${DOMAIN};
|
||||||
|
|
||||||
ssl_certificate /etc/ssl/crt/server.crt;
|
ssl_certificate /etc/ssl/crt/server.crt;
|
||||||
ssl_certificate_key /etc/ssl/crt/server.key;
|
ssl_certificate_key /etc/ssl/crt/server.key;
|
||||||
@@ -53,7 +56,7 @@ server {
|
|||||||
# https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/web/nginx.conf
|
# https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/web/nginx.conf
|
||||||
server {
|
server {
|
||||||
listen 443 ssl;
|
listen 443 ssl;
|
||||||
server_name nextcloud.yourdomain.com;
|
server_name nextcloud.${DOMAIN};
|
||||||
|
|
||||||
ssl_certificate /etc/ssl/crt/server.crt;
|
ssl_certificate /etc/ssl/crt/server.crt;
|
||||||
ssl_certificate_key /etc/ssl/crt/server.key;
|
ssl_certificate_key /etc/ssl/crt/server.key;
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
set -eu
|
|
||||||
|
|
||||||
usage="Usage: $0 server_name project_root"
|
|
||||||
server_name="${1:?$usage}"
|
|
||||||
root="${2:?$usage}"
|
|
||||||
|
|
||||||
# Configure hostname for Nginx
|
|
||||||
sed -Ei "s/(^[[:blank:]]*server_name [^_][^.]*\.)[^;]*/\1${server_name}/" "$root"/services/nginx/default.conf
|
|
||||||
|
|
||||||
# Configure hostname for Gitea
|
|
||||||
# Note that this works only if you use a docker volume named `tvcloud_gitea` (this project default).
|
|
||||||
gitea_conf_file=/var/lib/docker/volumes/tvcloud_gitea/_data/gitea/conf/app.init
|
|
||||||
if [[ ! -e $gitea_conf_file ]]; then
|
|
||||||
sudo mkdir -p "$(dirname "$gitea_conf_file")"
|
|
||||||
sudo touch "$gitea_conf_file"
|
|
||||||
fi
|
|
||||||
if sudo grep -Eq "\[server\] ROOT_URL = https://gitea\." $gitea_conf_file; then
|
|
||||||
sudo sed -Ei "s/(\[server\] ROOT_URL = https:\/\/gitea\.).*/\1$server_name/" "$gitea_conf_file"
|
|
||||||
else
|
|
||||||
echo "[server] ROOT_URL = https://gitea.${server_name}/" | sudo tee -a "$gitea_conf_file" >/dev/null
|
|
||||||
fi
|
|
||||||
Reference in New Issue
Block a user