From 58612f2c9d72c16af4d39764253a5f99fbcaef4b Mon Sep 17 00:00:00 2001 From: jfederico Date: Fri, 1 Sep 2023 10:21:49 -0400 Subject: [PATCH] updates for extra formats and general configs --- .../nginx/sites.template.scalelite-proxy | 2 +- docker-compose-dev.yml | 54 ++++++------------- docker-compose.yml | 14 ++--- dotenv | 26 +++++++-- 4 files changed, 47 insertions(+), 49 deletions(-) diff --git a/data/proxy/nginx/sites.template.scalelite-proxy b/data/proxy/nginx/sites.template.scalelite-proxy index a117a1b..03677a8 100644 --- a/data/proxy/nginx/sites.template.scalelite-proxy +++ b/data/proxy/nginx/sites.template.scalelite-proxy @@ -55,7 +55,7 @@ server { } location /recording { - proxy_pass http://docker-scalelite-recordings; + proxy_pass http://docker-scalelite-api; include /etc/nginx/sites-common; } diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index 0a77793..39c1e0d 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -14,7 +14,7 @@ volumes: services: postgres: - image: postgres:11-alpine + image: ${POSTGRES_DOCKER_IMAGE:-postgres:11-alpine} container_name: postgres restart: unless-stopped ports: @@ -26,7 +26,7 @@ services: - postgres-data-dev:/var/lib/postgresql/data redis: - image: redis:6.2-alpine + image: ${REDIS_DOCKER_IMAGE:-redis:6.2-alpine} container_name: redis restart: unless-stopped ports: @@ -35,17 +35,26 @@ services: - redis-data-dev:/data - ./data/redis/conf/redis.conf.template:/usr/local/etc/redis/redis.conf.template - /etc/letsencrypt:/etc/letsencrypt - command: /bin/sh -c "sed -e 's/$$HOSTNAME/redis.${DOMAIN_NAME:-xlab.blindside-dev.com}/' /usr/local/etc/redis/redis.conf.template > /usr/local/etc/redis/redis.conf && exec redis-server --appendonly yes" + command: /bin/sh -c "sed -e 's/$$HOSTNAME/${REDIS_HOST:-redis}.${DOMAIN_NAME:-user.blindside-ps.dev}/' /usr/local/etc/redis/redis.conf.template > /usr/local/etc/redis/redis.conf && exec redis-server --appendonly yes" - scalelite-nginx: - image: nginx:1.24 - container_name: scalelite-nginx + certbot: + image: ${CERTBOT_DOCKER_IMAGE:-certbot/certbot} + container_name: certbot + volumes: + - ./log/certbot/:/var/log/letsencrypt + - ./data/certbot/conf/:/etc/letsencrypt + - ./data/certbot/www/:/var/www/certbot + entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'" + + scalelite-proxy: + image: ${NGINX_DOCKER_IMAGE:-nginx:1.24} + container_name: scalelite-proxy restart: unless-stopped ports: - "80:80" - "443:443" environment: - - NGINX_HOSTNAME=${DOMAIN_NAME:-xlab.blindside-dev.com} + - NGINX_HOSTNAME=${SL_HOST:-sl}.${DOMAIN_NAME:-user.blindside-ps.dev} volumes: - ./log/proxy-nginx/:/var/log/nginx - ./data/proxy/nginx/sites.template.${DOCKER_PROXY_NGINX_TEMPLATE:-scalelite-proxy}:/etc/nginx/sites.template @@ -132,34 +141,3 @@ services: - scalelite-api logging: driver: journald - - keycloak: - image: quay.io/keycloak/keycloak:19.0.3-legacy - # image: quay.io/keycloak/keycloak:19.0.3 - # command: "start-dev --auto-build" - container_name: keycloak - restart: unless-stopped - environment: - # KEYCLOAK_ADMIN: admin - # KEYCLOAK_ADMIN_PASSWORD: adminadmin - # KC_DB_URL: postgres - # KC_DB: keycloakdb - # KC_DB_USERNAME: postgres - # KC_DB_PASSWORD: password - # KC_HOSTNAME_STRICT: "false" - # KC_PROXY: edge - KEYCLOAK_USER: admin - KEYCLOAK_PASSWORD: adminadmin - DB_VENDOR: POSTGRES - DB_ADDR: postgres - DB_DATABASE: keycloakdb - DB_USER: postgres - DB_PASSWORD: password - PROXY_ADDRESS_FORWARDING: "true" - volumes: - - ./data/certbot/conf/:/etc/letsencrypt - - ./data/certbot/conf/live/kc.${DOMAIN_NAME:-xlab.blindside-dev.com}/cert.pem:/etc/x509/https/tls.crt - - ./data/certbot/conf/live/kc.${DOMAIN_NAME:-xlab.blindside-dev.com}/privkey.pem:/etc/x509/https/tls.key - - ./data/keycloak/themes/demo:/opt/jboss/keycloak/themes/demo - depends_on: - - postgres diff --git a/docker-compose.yml b/docker-compose.yml index 9ccefde..b9f87d9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,27 +6,27 @@ volumes: services: postgres: - image: postgres:11-alpine + image: ${POSTGRES_DOCKER_IMAGE:-postgres:11-alpine} container_name: postgres restart: unless-stopped environment: - POSTGRES_USER=${POSTGRES_USER:-postgres} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-password} volumes: - - postgres-data:/var/lib/postgresql/data + - postgres-data-dev:/var/lib/postgresql/data redis: - image: redis:6.2-alpine + image: ${REDIS_DOCKER_IMAGE:-redis:6.2-alpine} container_name: redis restart: unless-stopped volumes: - redis-data:/data - ./data/redis/conf/redis.conf.template:/usr/local/etc/redis/redis.conf.template - ./data/certbot/conf/:/etc/letsencrypt - command: /bin/sh -c "sed -e 's/$$HOSTNAME/redis.${DOMAIN_NAME:-xlab.blindside-dev.com}/' /usr/local/etc/redis/redis.conf.template > /usr/local/etc/redis/redis.conf && exec redis-server --appendonly yes" + command: /bin/sh -c "sed -e 's/$$HOSTNAME/${REDIS_HOST:-redis}.${DOMAIN_NAME:-user.blindside-ps.dev}/' /usr/local/etc/redis/redis.conf.template > /usr/local/etc/redis/redis.conf && exec redis-server --appendonly yes" certbot: - image: certbot/certbot:v1.11.0 + image: ${CERTBOT_DOCKER_IMAGE:-certbot/certbot} container_name: certbot volumes: - ./log/certbot/:/var/log/letsencrypt @@ -35,14 +35,14 @@ services: entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'" scalelite-proxy: - image: nginx:1.24 + image: ${NGINX_DOCKER_IMAGE:-nginx:1.24} container_name: scalelite-proxy restart: unless-stopped ports: - "80:80" - "443:443" environment: - - NGINX_HOSTNAME=${URL_HOST:-sl.xlab.blindside-dev.com} + - NGINX_HOSTNAME=${URL_HOST:-sl.xlab.blindside-ps.dev} volumes: - ./log/proxy-nginx/:/var/log/nginx - ./data/proxy/nginx/sites.template.${DOCKER_PROXY_NGINX_TEMPLATE:-scalelite-proxy}:/etc/nginx/sites.template diff --git a/dotenv b/dotenv index a3904fa..20bac8e 100644 --- a/dotenv +++ b/dotenv @@ -1,10 +1,18 @@ -### Required by scalelite-api +### Required across containers SECRET_KEY_BASE= +DOMAIN_NAME= + +### Required by scalelite-api LOADBALANCER_SECRET= -URL_HOST= +SL_HOST= + +### Optional for scalelite-api +# LOADBALANCER_CHECKSUM_ALGORITHM=SHA256 + # ### Required by scalelite-api and scalelite-poller # REDIS_URL= +# REDIS_HOST= # ### Required by scalelite-api and scalelite-recording-importer # DATABASE_URL= @@ -24,9 +32,17 @@ SCALELITE_DOCKER_IMAGE=blindsidenetwks/scalelite:v1.0 ### Required when recordings are enabled and using BigBlueButton Playback Proxy to serve the recordings. SCALELITE_RECORDINGS_DOCKER_IMAGE=bigbluebutton/bbb-playback-proxy:focal-260-amazonlinux # +### Optional for nginx when using docker-compose +# NGINX_DOCKER_IMAGE= +# CERTBOT_DOCKER_IMAGE= +# ### Optional for postgres when using docker-compose # POSTGRES_USER= # POSTGRES_PASSWORD= +# POSTGRES_DOCKER_IMAGE= +# +### Optional for redis when using docker-compose +# REDIS_DOCKER_IMAGE= # ### Optional for init-letsencrypt.sh when using certbot for generating signed SSL certificates #LETSENCRYPT_EMAIL= @@ -52,8 +68,12 @@ SCALELITE_RECORDINGS_DOCKER_IMAGE=bigbluebutton/bbb-playback-proxy:focal-260-ama # 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 +# +### Optional for Multitenancy +# MULTITENANCY_ENABLED= +#