mirror of
https://github.com/michelleDeko/scalelite-run.git
synced 2025-12-16 22:32:10 +01:00
some fixes and necessary updates for init-letsencrypt.sh
This commit is contained in:
10
README.md
10
README.md
@@ -32,6 +32,11 @@ Create a new .env file based on the dotenv file included.
|
||||
|
||||
```
|
||||
cp dotenv .env
|
||||
|
||||
sed -e '/SECRET_KEY_BASE=/ s/^${openssl rand -hex 64}*/#/' -i .env
|
||||
|
||||
sed -i 's/SECRET_KEY_BASE=.*/SECRET_KEY_BASE=[${openssl rand -hex 64}]/' .env
|
||||
|
||||
```
|
||||
|
||||
Most required variables are pre-set by default, the ones that must be set before starting are:
|
||||
@@ -43,3 +48,8 @@ URL_HOST=
|
||||
NGINX_SSL=
|
||||
```
|
||||
|
||||
Also, when using the `init-letsencrypt.sh` script, you should add the email.
|
||||
|
||||
```
|
||||
LETSENCRYPT_EMAIL=
|
||||
```
|
||||
|
||||
@@ -61,7 +61,7 @@ services:
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./log/recordings/:/var/log/nginx
|
||||
- ${SCALELITE_RECORDING_DIR-/mnt/scalelite-recordings/var/bigbluebutton}/published:/var/bigbluebutton/published
|
||||
- ${SCALELITE_RECORDING_DIR:-/mnt/scalelite-recordings/var/bigbluebutton}/published:/var/bigbluebutton/published
|
||||
depends_on:
|
||||
- scalelite-api
|
||||
|
||||
@@ -74,12 +74,12 @@ services:
|
||||
environment:
|
||||
- REDIS_URL=${REDIS_URL:-redis://redis:6379}
|
||||
- DATABASE_URL=${DATABASE_URL:-postgres://postgres:password@postgres:5432/scalelite?pool=5}
|
||||
- RECORDING_DISABLED=${RECORDING_DISABLED-false}
|
||||
- SERVER_ID_IS_HOSTNAME=${SERVER_ID_IS_HOSTNAME-false}
|
||||
- RAILS_LOG_TO_STDOUT=${RAILS_LOG_TO_STDOUT}
|
||||
- RECORDING_DISABLED=${RECORDING_DISABLED:-false}
|
||||
- SERVER_ID_IS_HOSTNAME=${SERVER_ID_IS_HOSTNAME:-false}
|
||||
- RAILS_LOG_TO_STDOUT=${RAILS_LOG_TO_STDOUT:-false}
|
||||
volumes:
|
||||
- ./log/scalelite-api/:/srv/scalelite/log/
|
||||
- ${SCALELITE_RECORDING_DIR-/mnt/scalelite-recordings/var/bigbluebutton}:/var/bigbluebutton
|
||||
- ${SCALELITE_RECORDING_DIR:-/mnt/scalelite-recordings/var/bigbluebutton}:/var/bigbluebutton
|
||||
depends_on:
|
||||
- postgres
|
||||
- redis
|
||||
@@ -94,8 +94,8 @@ services:
|
||||
- .env
|
||||
environment:
|
||||
- REDIS_URL=${REDIS_URL:-redis://redis:6379}
|
||||
- SERVER_ID_IS_HOSTNAME=${SERVER_ID_IS_HOSTNAME-false}
|
||||
- RAILS_LOG_TO_STDOUT=${RAILS_LOG_TO_STDOUT}
|
||||
- SERVER_ID_IS_HOSTNAME=${SERVER_ID_IS_HOSTNAME:-false}
|
||||
- RAILS_LOG_TO_STDOUT=${RAILS_LOG_TO_STDOUT:-false}
|
||||
volumes:
|
||||
- ./log/scalelite-poller/:/app/log
|
||||
command: /bin/sh -c "bin/start-poller"
|
||||
@@ -113,11 +113,11 @@ services:
|
||||
environment:
|
||||
- DATABASE_URL=${DATABASE_URL:-postgres://postgres:password@postgres:5432/scalelite?pool=5}
|
||||
- RECORDING_DISABLED=false
|
||||
- RAILS_LOG_TO_STDOUT=${RAILS_LOG_TO_STDOUT}
|
||||
- RAILS_LOG_TO_STDOUT=${RAILS_LOG_TO_STDOUT:-false}
|
||||
volumes:
|
||||
- ./log/scalelite-recording-importer/:/app/log
|
||||
- ${SCALELITE_RECORDING_DIR-/mnt/scalelite-recordings/var/bigbluebutton}:/var/bigbluebutton
|
||||
- ${SCALELITE_RECORDING_DIR-/mnt/scalelite-recordings/var/bigbluebutton}/spool:/var/bigbluebutton/spool
|
||||
- ${SCALELITE_RECORDING_DIR:-/mnt/scalelite-recordings/var/bigbluebutton}:/var/bigbluebutton
|
||||
- ${SCALELITE_RECORDING_DIR:-/mnt/scalelite-recordings/var/bigbluebutton}/spool:/var/bigbluebutton/spool
|
||||
command: /bin/sh -c "bin/start-recording-importer"
|
||||
depends_on:
|
||||
- scalelite-api
|
||||
|
||||
15
dotenv
15
dotenv
@@ -46,7 +46,14 @@ SCALELITE_RECORDINGS_DOCKER_IMAGE=bigbluebutton/bbb-playback-proxy:bionic-230-am
|
||||
#
|
||||
### Optional for development when using different profiles
|
||||
# DOCKER_PROXY_NGINX_TEMPLATE=scalelite-proxy
|
||||
DOCKER_PROXY_NGINX_TEMPLATE=scalelite-proxy-protected
|
||||
#DOCKER_PROXY_NGINX_TEMPLATE=scalelite-local
|
||||
#DOCKER_PROXY_NGINX_TEMPLATE=scalelite-local-protected
|
||||
#DOCKER_PROXY_NGINX_TEMPLATE=scalelite-cluster
|
||||
# Examples:
|
||||
# scalelite-proxy <default>
|
||||
# scalelite-proxy-protected
|
||||
# scalelite-local
|
||||
# scalelite-local-protected
|
||||
# scalelite-cluster
|
||||
|
||||
### Optional for the deployment, but required when using init-letsencrypt.sh script
|
||||
# LETSENCRYPT_EMAIL=
|
||||
# LETSENCRYPT_STAGING=0
|
||||
# Set to 1 if you're testing your setup to avoid hitting request limits
|
||||
|
||||
22
dotenv-dev
22
dotenv-dev
@@ -1,22 +0,0 @@
|
||||
SECRET_KEY_BASE=secret
|
||||
LOADBALANCER_SECRET=secret
|
||||
URL_HOST=sl.example.com
|
||||
|
||||
SCALELITE_DOCKER_IMAGE=blindsidenetwks/master:v1.0
|
||||
SCALELITE_RECORDINGS_DOCKER_IMAGE=bigbluebutton/bbb-playback-proxy:bionic-230-amazonlinux
|
||||
|
||||
DB_DISABLED: "false"
|
||||
POLL_INTERVAL: "60"
|
||||
RECORDING_DISABLED: "false"
|
||||
RECORDING_IMPORT_POLL: "true"
|
||||
RECORDING_IMPORT_POLL_INTERVAL: "60"
|
||||
|
||||
DOCKER_VOL_SCALELITE_API=/home/ubuntu/scalelite-run/data/scalelite
|
||||
DOCKER_VOL_POSTGRES_DATA=/home/ubuntu/scalelite-run/data/postgres
|
||||
DOCKER_VOL_REDIS_DATA=/home/ubuntu/scalelite-run/data/redis
|
||||
|
||||
DOCKER_PROXY_NGINX_TEMPLATE=scalelite-proxy
|
||||
#DOCKER_PROXY_NGINX_TEMPLATE=scalelite-proxy-protected
|
||||
#DOCKER_PROXY_NGINX_TEMPLATE=scalelite-local
|
||||
#DOCKER_PROXY_NGINX_TEMPLATE=scalelite-local-protected
|
||||
#DOCKER_PROXY_NGINX_TEMPLATE=scalelite-cluster
|
||||
@@ -10,6 +10,17 @@ if [[ ! -f ./.env ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Local .env
|
||||
if [ -f .env ]; then
|
||||
# Load Environment Variables
|
||||
export $(cat .env | grep -v '#' | sed 's/\r$//' | awk '/=/ {print $1}' )
|
||||
fi
|
||||
|
||||
if [[ -z "$LETSENCRYPT_EMAIL" ]]; then
|
||||
echo "Settung up an email for letsencrypt certificates is strongly recommended."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
usage() {
|
||||
echo -e "Initializes letsencrypt certificates for Nginx proxy container\n"
|
||||
echo -e "Usage: $0 [-z|-r|-h]\n"
|
||||
@@ -33,18 +44,13 @@ do
|
||||
esac
|
||||
done
|
||||
|
||||
URL_HOST=$(grep URL_HOST .env | cut -d '=' -f2)
|
||||
echo $URL_HOST
|
||||
NGINX_CONTAINER_NAME=$(grep DOCKER_PROXY_NGINX_TEMPLATE .env | cut -d '=' -f2)
|
||||
if [[ -z "$NGINX_CONTAINER_NAME" ]]; then
|
||||
NGINX_CONTAINER_NAME=scalelite-proxy
|
||||
fi
|
||||
|
||||
domains=($URL_HOST)
|
||||
rsa_key_size=4096
|
||||
data_path="./data/certbot"
|
||||
email="$LETSENCRYPT_EMAIL" # Adding a valid address is strongly recommended
|
||||
staging=${LETSENCRYPT_STAGING:-0} # Set to 1 if you're testing your setup to avoid hitting request limits
|
||||
email="$LETSENCRYPT_EMAIL" # Adding a valid address is strongly recommended.
|
||||
staging=${LETSENCRYPT_STAGING:-0}
|
||||
|
||||
if [ -d "$data_path" ] && [ "$replaceExisting" -eq 0 ]; then
|
||||
if [ "$interactive" -eq 0 ]; then
|
||||
@@ -76,9 +82,8 @@ docker-compose run --rm --entrypoint "\
|
||||
-subj '/CN=localhost'" certbot
|
||||
echo
|
||||
|
||||
|
||||
echo "### Starting $NGINX_CONTAINER_NAME ..."
|
||||
docker-compose up --force-recreate -d $NGINX_CONTAINER_NAME
|
||||
echo "### Starting scalelite-proxy ..."
|
||||
docker-compose up --force-recreate -d scalelite-proxy
|
||||
echo
|
||||
|
||||
echo "### Deleting dummy certificate for $domains ..."
|
||||
|
||||
Reference in New Issue
Block a user