Inspired by this presentation: My DockerCon 2020 Talk — Build & Deploy Multi-Container Application to AWS
Obtain nginx-repo.crt and nginx-repo.key from MyF5 or get a trial here: https://www.nginx.com/free-trial-request/
Place them in the nginx
subfolder of this repository
├── backend ├── client ├── db ├── docker-compose.yml ├── env ├── eXist-db AWS.graffle ├── eXist-db AWS.png ├── .git ├── .gitignore ├── LICENSE ├── nginx │ ├── configs │ ├── Dockerfile │ ├── Dockerfile.plus │ ├── nginx-repo.crt # NGINX Plus License Certificate │ └── nginx-repo.key # NGINX Plus License Key └── README.md
First, get the module:
cd nginx git clone https://github.com/nginxinc/nginx-openid-connect cd nginx-openid-connect
Then run the configure script to set OAuth parameters for openid_connect_configuration.conf
./configure.sh --auth_jwt_key request \ --client_id <Auth0_Client_ID> \ --pkce_enable \ https://<Auth0_Domain>/.well-known/openid-configuration cp openid_connect_configuration.conf ../configs cd ../..
This is required for now until docker-compose supports build secrets (just recently added in this PR)
DOCKER_BUILDKIT=1 docker build \ --no-cache \ --secret id=nginx-key,src=nginx/nginx-repo.key \ --secret id=nginx-crt,src=nginx/nginx-repo.crt \ -t nginxplus -f nginx/Dockerfile.plus ./nginx
In your application settings add a new "Allowed Callback URLs" that is equal to https://server-fqdn/_codexch. (I used http://localhost:80/_codexch in my dev install)
Then, change "Token Endpoint Authentication Method" to "None" in Auth0 for your Application. This is required for PKCE authorisation code flow.
docker-compose up -d
cd backend/xar
mvn clean package
- Open http://localhost:8080
- Click on
login
in the upper right corner. - Login as
admin
with no password - Click on
Package Manager
- Click on
Upload
- Select the
.xar
file in backend/xar/target - Open http://localhost/