GithubHelp home page GithubHelp logo

rykerwilliams / ennuicastr-docker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gpapp/ennuicastr-docker

0.0 0.0 0.0 226 KB

Script to set up ennuicastr in a docker instance

Shell 60.04% HTML 0.64% Dockerfile 39.31%

ennuicastr-docker's Introduction

ennuicastr-docker

Script to set up ennuicastr in a docker instance This was created to allow ennuicastr deployment in a closed docker environment, for those, who want to host it on their own.

Prerequisites

You will need a Ubuntu server (tested with 21.10) running

  • docker
  • ningx
  • two domain names something.xzy and jitsi_.something.xyz_ it can be anything like a subdomain, as long as the second prefixes the first with jitsi
  • letsencrypt certificates created for the domain above

Google authentication requires Google API keys generated for the site

Paypal integration requires PayPal keys set up

Setup

  1. Use a root shell.
  2. Check the code out to a place of your liking, this is where the runtimes will be kept!
  3. Create the environment .env file from the template and fill up the sections above with your settings
  4. start the script and wait for the magic to happen, might take an hour to build..
  5. If all goes well, check the created files in the run directory to see if your settings are applied properly
  6. Add a symlink to the nginx/nginx.conf in /etc/nginx/sites-available and TEST the config before restarting
ln -s (install path)/nginx/nginx.conf /etc/nginx/sites-available/<yoursite.xyz>.conf
service nginx configtest
  1. Point your browser to your site and test

Generating PayPal secrets

The included script doesn't work

curl -v POST https://api-m.sandbox.paypal.com/v1/oauth2/token \
  -H "Accept: application/json" \
  -H "Accept-Language: en_US" \
  -u "CLIENT_ID:SECRET" \
  -d "grant_type=client_credentials"
  • log onto the web instance and go to /ennuicastr-server/subscriptions
  • modify the create.js to use Bearer access_token from above instead of the Basic, but keep the base64 encoding of the token.
  • run create.js and put it directly in the (your install)/run/ennuicastr/config.js.template
  • rerun setup.sh

TROUBLESHOOTING

The embedded nginx is logging to (install path)/run/web/logs. This can be adjusted in the (install path)/jitsi-ennuicastr/defaults/meet.conf and the (install path)/nginx/internal-jitsi.conf files, than rerun setup. As it adds to the last docker layer, it will not take long to build.

  • Use the browser's developer panel to see if the resources are loaded properly, and check the connections are to the right hosts.
  • Make sure the names are pointing to the right server and resolve to that in your test environment.
  • Update your letsencrypt certificates.
  • Make sure the ports 443 and 15000-15050 are exposed and are accessible on your server.

Log onto the instances (mostly the web) and see what's happening there.

docker exec -it ennuicastr_web_1 bash

Notes

  • This is not for the faint of heart! The latest version of the projects are checked out from the repository, as all corresponding projects are under development, the changes may break the build
  • The listen port range for ennuicastr-daemon was reduced to 15000-15050 to support small instances, if you need more or want to relocate them, modify the jitsi-ennuicaster/Dockerfile and the setup.sh to update accordingly NB: All exposed ports open docker socket proxies, so you should consider that before extending the port range! I don't recommend to use this as a large instance!
  • You may add/modify files served by your instance in the jitsi-ennuicastr/web directory, but note you need to rerun setup (or docker compose) for changes to take effect.
  • To modify jitsy services, you need to remove the correspondig files from run and use docker compose down;docker-compose up -d to recreate the containers

Known issues

  • Fix BOSH connection -- maybe needs to use another certificate?
  • fix issue with ws on sound uploads (kills stream after 5 seconds!)
  • Fix secret.js creation and inclusion for creating Paypal subscription (needs to be done manually ATM, because secrets.js does not work!)

Todo

  • Modify scripts to take port range from config
  • Add magic button to add more money to administrator

ennuicastr-docker's People

Contributors

gpapp avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.