🏗️(project) expose app Desk to nginx

Now that we have a out folder for the Desk app, we can expose it
to our server nginx.
This commit is contained in:
Anthony LC
2024-01-17 17:20:09 +01:00
committed by Anthony LC
parent 9ee39e1068
commit 97e7d99c02
3 changed files with 2183 additions and 2230 deletions

View File

@@ -92,8 +92,10 @@ services:
image: nginx:1.25 image: nginx:1.25
ports: ports:
- "8082:8082" - "8082:8082"
- "8088:8088"
volumes: volumes:
- ./docker/files/etc/nginx/conf.d:/etc/nginx/conf.d:ro - ./docker/files/etc/nginx/conf.d:/etc/nginx/conf.d:ro
- ./src/frontend/apps/desk/out:/home/desk
- ./data/media:/data/media:ro - ./data/media:/data/media:ro
depends_on: depends_on:
- app - app

View File

@@ -53,9 +53,7 @@
"value": "people" "value": "people"
} }
], ],
"realmRoles": [ "realmRoles": ["user"]
"user"
]
}, },
{ {
"username": "user-e2e", "username": "user-e2e",
@@ -66,9 +64,7 @@
"value": "password-e2e" "value": "password-e2e"
} }
], ],
"realmRoles": [ "realmRoles": ["user"]
"user"
]
} }
], ],
"roles": { "roles": {
@@ -88,15 +84,9 @@
"description": "${role_default-roles}", "description": "${role_default-roles}",
"composite": true, "composite": true,
"composites": { "composites": {
"realm": [ "realm": ["offline_access", "uma_authorization"],
"offline_access",
"uma_authorization"
],
"client": { "client": {
"account": [ "account": ["view-profile", "manage-account"]
"view-profile",
"manage-account"
]
} }
}, },
"clientRole": false, "clientRole": false,
@@ -245,9 +235,7 @@
"composite": true, "composite": true,
"composites": { "composites": {
"client": { "client": {
"realm-management": [ "realm-management": ["query-clients"]
"query-clients"
]
} }
}, },
"clientRole": true, "clientRole": true,
@@ -270,10 +258,7 @@
"composite": true, "composite": true,
"composites": { "composites": {
"client": { "client": {
"realm-management": [ "realm-management": ["query-users", "query-groups"]
"query-users",
"query-groups"
]
} }
}, },
"clientRole": true, "clientRole": true,
@@ -349,9 +334,7 @@
"composite": true, "composite": true,
"composites": { "composites": {
"client": { "client": {
"account": [ "account": ["view-consent"]
"view-consent"
]
} }
}, },
"clientRole": true, "clientRole": true,
@@ -383,9 +366,7 @@
"composite": true, "composite": true,
"composites": { "composites": {
"client": { "client": {
"account": [ "account": ["manage-account-links"]
"manage-account-links"
]
} }
}, },
"clientRole": true, "clientRole": true,
@@ -440,9 +421,7 @@
"clientRole": false, "clientRole": false,
"containerId": "ccf4fd40-4286-474d-854a-4714282a8bec" "containerId": "ccf4fd40-4286-474d-854a-4714282a8bec"
}, },
"requiredCredentials": [ "requiredCredentials": ["password"],
"password"
],
"otpPolicyType": "totp", "otpPolicyType": "totp",
"otpPolicyAlgorithm": "HmacSHA1", "otpPolicyAlgorithm": "HmacSHA1",
"otpPolicyInitialCounter": 0, "otpPolicyInitialCounter": 0,
@@ -450,14 +429,9 @@
"otpPolicyLookAheadWindow": 1, "otpPolicyLookAheadWindow": 1,
"otpPolicyPeriod": 30, "otpPolicyPeriod": 30,
"otpPolicyCodeReusable": false, "otpPolicyCodeReusable": false,
"otpSupportedApplications": [ "otpSupportedApplications": ["totpAppGoogleName", "totpAppFreeOTPName"],
"totpAppGoogleName",
"totpAppFreeOTPName"
],
"webAuthnPolicyRpEntityName": "keycloak", "webAuthnPolicyRpEntityName": "keycloak",
"webAuthnPolicySignatureAlgorithms": [ "webAuthnPolicySignatureAlgorithms": ["ES256"],
"ES256"
],
"webAuthnPolicyRpId": "", "webAuthnPolicyRpId": "",
"webAuthnPolicyAttestationConveyancePreference": "not specified", "webAuthnPolicyAttestationConveyancePreference": "not specified",
"webAuthnPolicyAuthenticatorAttachment": "not specified", "webAuthnPolicyAuthenticatorAttachment": "not specified",
@@ -467,9 +441,7 @@
"webAuthnPolicyAvoidSameAuthenticatorRegister": false, "webAuthnPolicyAvoidSameAuthenticatorRegister": false,
"webAuthnPolicyAcceptableAaguids": [], "webAuthnPolicyAcceptableAaguids": [],
"webAuthnPolicyPasswordlessRpEntityName": "keycloak", "webAuthnPolicyPasswordlessRpEntityName": "keycloak",
"webAuthnPolicyPasswordlessSignatureAlgorithms": [ "webAuthnPolicyPasswordlessSignatureAlgorithms": ["ES256"],
"ES256"
],
"webAuthnPolicyPasswordlessRpId": "", "webAuthnPolicyPasswordlessRpId": "",
"webAuthnPolicyPasswordlessAttestationConveyancePreference": "not specified", "webAuthnPolicyPasswordlessAttestationConveyancePreference": "not specified",
"webAuthnPolicyPasswordlessAuthenticatorAttachment": "not specified", "webAuthnPolicyPasswordlessAuthenticatorAttachment": "not specified",
@@ -481,19 +453,14 @@
"scopeMappings": [ "scopeMappings": [
{ {
"clientScope": "offline_access", "clientScope": "offline_access",
"roles": [ "roles": ["offline_access"]
"offline_access"
]
} }
], ],
"clientScopeMappings": { "clientScopeMappings": {
"account": [ "account": [
{ {
"client": "account-console", "client": "account-console",
"roles": [ "roles": ["manage-account", "view-groups"]
"manage-account",
"view-groups"
]
} }
] ]
}, },
@@ -508,9 +475,7 @@
"enabled": true, "enabled": true,
"alwaysDisplayInConsole": false, "alwaysDisplayInConsole": false,
"clientAuthenticatorType": "client-secret", "clientAuthenticatorType": "client-secret",
"redirectUris": [ "redirectUris": ["/realms/people/account/*"],
"/realms/people/account/*"
],
"webOrigins": [], "webOrigins": [],
"notBefore": 0, "notBefore": 0,
"bearerOnly": false, "bearerOnly": false,
@@ -552,9 +517,7 @@
"enabled": true, "enabled": true,
"alwaysDisplayInConsole": false, "alwaysDisplayInConsole": false,
"clientAuthenticatorType": "client-secret", "clientAuthenticatorType": "client-secret",
"redirectUris": [ "redirectUris": ["/realms/people/account/*"],
"/realms/people/account/*"
],
"webOrigins": [], "webOrigins": [],
"notBefore": 0, "notBefore": 0,
"bearerOnly": false, "bearerOnly": false,
@@ -689,10 +652,12 @@
"", "",
"http://localhost:8070/*", "http://localhost:8070/*",
"http://localhost:3200/*", "http://localhost:3200/*",
"http://localhost:8088/*",
"http://localhost:3000/*" "http://localhost:3000/*"
], ],
"webOrigins": [ "webOrigins": [
"http://localhost:3200", "http://localhost:3200",
"http://localhost:8088",
"http://localhost:8070", "http://localhost:8070",
"http://localhost:3000" "http://localhost:3000"
], ],
@@ -779,12 +744,8 @@
"enabled": true, "enabled": true,
"alwaysDisplayInConsole": false, "alwaysDisplayInConsole": false,
"clientAuthenticatorType": "client-secret", "clientAuthenticatorType": "client-secret",
"redirectUris": [ "redirectUris": ["/admin/people/console/*"],
"/admin/people/console/*" "webOrigins": ["+"],
],
"webOrigins": [
"+"
],
"notBefore": 0, "notBefore": 0,
"bearerOnly": false, "bearerOnly": false,
"consentRequired": false, "consentRequired": false,
@@ -1367,9 +1328,7 @@
}, },
"smtpServer": {}, "smtpServer": {},
"eventsEnabled": false, "eventsEnabled": false,
"eventsListeners": [ "eventsListeners": ["jboss-logging"],
"jboss-logging"
],
"enabledEventTypes": [], "enabledEventTypes": [],
"adminEventsEnabled": false, "adminEventsEnabled": false,
"adminEventsDetailsEnabled": false, "adminEventsDetailsEnabled": false,
@@ -1392,9 +1351,7 @@
"subType": "anonymous", "subType": "anonymous",
"subComponents": {}, "subComponents": {},
"config": { "config": {
"allow-default-scopes": [ "allow-default-scopes": ["true"]
"true"
]
} }
}, },
{ {
@@ -1404,9 +1361,7 @@
"subType": "anonymous", "subType": "anonymous",
"subComponents": {}, "subComponents": {},
"config": { "config": {
"max-clients": [ "max-clients": ["200"]
"200"
]
} }
}, },
{ {
@@ -1416,9 +1371,7 @@
"subType": "authenticated", "subType": "authenticated",
"subComponents": {}, "subComponents": {},
"config": { "config": {
"allow-default-scopes": [ "allow-default-scopes": ["true"]
"true"
]
} }
}, },
{ {
@@ -1474,12 +1427,8 @@
"subType": "anonymous", "subType": "anonymous",
"subComponents": {}, "subComponents": {},
"config": { "config": {
"host-sending-registration-request-must-match": [ "host-sending-registration-request-must-match": ["true"],
"true" "client-uris-must-match": ["true"]
],
"client-uris-must-match": [
"true"
]
} }
} }
], ],
@@ -1498,9 +1447,7 @@
"providerId": "aes-generated", "providerId": "aes-generated",
"subComponents": {}, "subComponents": {},
"config": { "config": {
"priority": [ "priority": ["100"]
"100"
]
} }
}, },
{ {
@@ -1509,12 +1456,8 @@
"providerId": "hmac-generated", "providerId": "hmac-generated",
"subComponents": {}, "subComponents": {},
"config": { "config": {
"priority": [ "priority": ["100"],
"100" "algorithm": ["HS256"]
],
"algorithm": [
"HS256"
]
} }
}, },
{ {
@@ -1523,12 +1466,8 @@
"providerId": "rsa-enc-generated", "providerId": "rsa-enc-generated",
"subComponents": {}, "subComponents": {},
"config": { "config": {
"priority": [ "priority": ["100"],
"100" "algorithm": ["RSA-OAEP"]
],
"algorithm": [
"RSA-OAEP"
]
} }
}, },
{ {
@@ -1537,9 +1476,7 @@
"providerId": "rsa-generated", "providerId": "rsa-generated",
"subComponents": {}, "subComponents": {},
"config": { "config": {
"priority": [ "priority": ["100"]
"100"
]
} }
} }
] ]
@@ -2273,4 +2210,3 @@
"policies": [] "policies": []
} }
} }

View File

@@ -8,12 +8,27 @@ server {
alias /data/media; alias /data/media;
} }
# location / {
# proxy_pass http://app:8000;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# }
}
server {
listen 8088;
server_name localhost;
root /home/desk;
location / { location / {
proxy_pass http://app:8000; try_files $uri index.html $uri/ =404;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
} }
error_page 404 /404.html;
location = /404.html {
internal;
}
} }