This is the containerized UC Berkeley Library installation of the Wowza commercial media server. This is one piece of the overall A/V stack which also includes github.com/BerkeleyLibrary/avplayer. For overall process documentation, see Google Docs.
For the old standalone installation and associated code, see the lap/wowza-legacy project.
The stack consists of a single container running both the Wowza streaming media engine application, and the Wowza streaming engine manager UI (as in a typical uncontainerized Wowza installation).
Git tags follow the Wowza Engine major.minor.patch version as defined in the Dockerfile, with a revision number used to track configuration/test changes. For example, for Wowza Engine 4.8.25, the first tag is 4.8.25-1.
Create a local .env file based on env.example if you do not have one in your working copy.
docker compose build --pull
docker compose up
docker compose exec app bashTo access Wowza Streaming Engine Manager, use the URL http://localhost:8088/enginemanager/login.htm with username and password specified as $WOWZA_MANAGER_USER and $WOWZA_MANAGER_PASSWORD in a .env file (see env.example).
See the README in the test directory.
The Wowza staging server uses a development license key that is only good for six months. The same key is also used in CI for testing Wowza container and configuration changes.
- Access to the
[email protected]SPA
- Log into https://www.wowza.com/ using the Library IT institutional account (username
[email protected], password in LPE under Shared-LIT-Applications) - Open a support ticket for Wowza Streaming Engine, requesting a 1-year R&D license.
- Look for email from Wowza to
[email protected]in response to the ticket, or check My Account / Support. Once the request is approved (which may take a few days),libraryitshould receive an email containing the license key (a string of the formERDA4-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXXXXXXXXX).- Note: this email should also include the expiration information
In a pinch, it should be possible to get a 30-day demo license quickly, without any human intervention on the Wowza side.
- Log into https://www.wowza.com/ using the Library IT institutional account (username
[email protected], password in LPE under Shared-LIT-Applications) - Navigate to https://www.wowza.com/media-server/developers/license, agree to the EULA, and submit
- Look for email from Wowza to
[email protected]containing the license key (should be a string of the formEDEV4-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXXXXXXXXX)- Note: this email should also include the expiration information
On the main branch of this repository:
- Locate your
.envfile in your working copy - Update:
- the WOWZA_LICENSE_KEY value
- the "generated" date comment
- the "expires" date comment
- Test the installation:
- build an image with
docker-compose build --pull - run tests with
docker-compose run app /opt/app/test/run_tests.py
- build an image with
- If the tests pass, update the
WOWZA_LICENSE_KEYrepository secret for GitHub Actions
In the ops/docker-swarm repo:
- Locate the stack file, files/staging/swarm/stacks/wowza-staging.yml
- Under wowza:environment, update:
- the
WOWZA_LICENSE_KEYvalue - the "expires" date comment
- the
- Commit and push the changes
After the ops/docker-swarm build redeploys the app, test the new key by logging into the staging Wowza administration UI:
- Navigate to https://wowza-manager.ucblib.org/.
- Log in (username
wowza, password in LPE under Shared-LIT-Applications).
- Log in (username
- Navigate to the "Home" screen
You should see something like:
Developer License (Expires Sep 16, 2021) - 182 days left
- Add a reminder to the DevOps shared calendar to update the license in another six months.
- Update the due date for this ticket to (at least) the day before the new license expires.