This commit is contained in:
2025-12-18 12:28:45 +01:00
parent 7cae71d673
commit 3c23f3d8d5
4 changed files with 23 additions and 13 deletions

5
.gitignore vendored
View File

@@ -1,4 +1,3 @@
server.crt
server.key
services/nginx/server.crt
services/nginx/server.key
.env
services/nextcloud/db.env

View File

@@ -4,14 +4,18 @@ 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 OpenProject
sed -Ei "s/(^OPENPROJECT_HOST__NAME=[^.]*\.).*/\1${server_name}/" "$root"/.env
# 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
mkdir -p $(dirname "$gitea_conf_file")
mkdir -p "$(dirname "$gitea_conf_file")"
touch "$gitea_conf_file"
fi
if grep -Eq "\[server\] ROOT_URL = https://gitea\." $gitea_conf_file; then

View File

@@ -10,11 +10,18 @@ This project is a personal cloud of services:
1. Generate a self-signed certificate for the proxy.
```
host=tvcloud.fr
mkcert \
-cert-file services/nginx/server.crt \
-key-file services/nginx/server.key \
gitea.$host nextcloud.$host openproject.$host $host 127.0.0.1 ::1
host=yourdomain.com
mkcert -cert-file services/nginx/server.crt -key-file services/nginx/server.key \
gitea.$host nextcloud.$host openproject.$host \
$host 127.0.0.1 ::1
```
Alternatively you can generate a real CA signed certificate (if your own a domain):
```
sudo certbot certonly --cert-path services/nginx/server.crt --key-path services/nginx/server.key \
--manual --preferred-challenges dns --agree-tos --email admin@example.com \
-d gitea.yourdomain.com -d nextcloud.yourdomain.com -d openproject.yourdomain.com
```
2. Make a `.env` file (for `docker compose`).
@@ -24,7 +31,7 @@ See `.example.env`.
3. Configure the host name.
```
host=tvcloud.fr
host=yourdomain.com
sudo ./configure.bash $host .
```

View File

@@ -20,7 +20,7 @@ server {
server {
listen 443 ssl;
server_name openproject.tvcloud.fr;
server_name openproject.yourdomain.com;
ssl_certificate /etc/ssl/crt/server.crt;
ssl_certificate_key /etc/ssl/crt/server.key;
@@ -40,7 +40,7 @@ server {
server {
listen 443 ssl;
server_name gitea.tvcloud.fr;
server_name gitea.yourdomain.com;
ssl_certificate /etc/ssl/crt/server.crt;
ssl_certificate_key /etc/ssl/crt/server.key;
@@ -61,7 +61,7 @@ server {
# https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/web/nginx.conf
server {
listen 443 ssl;
server_name nextcloud.localhost;
server_name nextcloud.yourdomain.com;
ssl_certificate /etc/ssl/crt/server.crt;
ssl_certificate_key /etc/ssl/crt/server.key;