A Progressive Web Application (PWA) for the Street Music Festival in Ludwigsburg
Welcome to StreetbeatzLB, a university group project developed for the "LabSWPS" lecture at the University of Heilbronn. This project aims to create an immersive and user-friendly Progressive Web Application (PWA) for the Street Music Festival in Ludwigsburg.
- gittesserakt: Hannes Jetter
- Holli777: Nicolas Holl
- Dennisdude: Dennis Deifel
- JxWorker: Michel Jouaux
- Mousa-M: Moutassem Mousa
- memento-morty: Dominik Buzov
This document describes how to deploy the application on a production server running docker. It is assumed that the server is running a linux distribution (tested on Ubuntu 22.04) and that the user has knowledge of linux, docker and a general understanding of application deployment and server administration. Of course, you can modify the deployment script and application to fit your needs.
If the application is deployed on a production server, the following prerequisites need to be met:
- Docker installed
- Docker Compose installed
- Ability to run bash scripts
- Server with internet access
- Domain name pointing to the server
- Valid SSL certificate for the domain name
- if you don't have a reverse proxy in front of the application that handles SSL handshake and certificate management, the deployment will create one for you using nginx, but you will need to provide valid ssl certificate files (in .pem and .key format) to the application
- Auth0 account and tenant with a valid configuration for the application
- if you don't have an Auth0 account, you can create one for free here
If one of the prerequisites is not met, the deployment will fail.
(all commands are run in the root directory of the project and might need to be run with sudo depending on the configuration of the server)
-
Clone the repository to the server and change into the directory of the project:
# clone from github git clone https://github.com/gittesserakt/StreetbeatzLB.git # or clone from bitbucket (university repository not available to the public) git clone https://bitbucket-student.it.hs-heilbronn.de/scm/swpbuga23strm/smf.git
-
Make the deployment script executable:
chmod +x streetbeatzlb_prod.sh
-
Run the deployment script with the init argument (this will create the necessary files and folders):
./streetbeatzlb_prod.sh init
-
Edit the .env file in the generated Environment directory of the project and fill in the necessary values.
-
Run the deployment script with the build argument (this creates a docker container that will build the application and copy the files to the necessary folders):
./streetbeatzlb_prod.sh build
- Run the deployment script with the start argument (this will start docker-compose in detached mode):
./streetbeatzlb_prod.sh start
- Run the deployment script with the stop argument (this will stop docker-compose and removes all containers, images, etc.):
./streetbeatzlb_prod.sh stop
- Stop the application (see above)
- Now you can just delete the project folder and all files and folders created by the deployment script
This project is licensed under the MIT License, which grants permission for anyone to view, use, modify, and distribute the code. However, please note that the creators and contributors of StreetbeatzLB are not liable for any damages or issues that may arise from the use or deployment of this application. We do not provide support or maintenance for deploying, hosting, or running the application on your own servers. By using this code, you acknowledge and agree that you assume all responsibility and risk associated with deploying and running the application.