Merge branch '1-add-vite-pwa-plugin' into 'main'
Resolve "add vite pwa plugin" Closes #1 See merge request htwk-software/htwkalender-pwa!1
@@ -45,11 +45,14 @@ services:
|
|||||||
image: bitnami/nginx:1.25
|
image: bitnami/nginx:1.25
|
||||||
volumes:
|
volumes:
|
||||||
- ./reverseproxy.local.conf:/opt/bitnami/nginx/conf/nginx.conf
|
- ./reverseproxy.local.conf:/opt/bitnami/nginx/conf/nginx.conf
|
||||||
|
- ./local-cert/dev_htwkalender_de.pem:/opt/bitnami/nginx/conf/dev_htwkalender_de.pem
|
||||||
|
- ./local-cert/dev_htwkalender_de.key.pem:/opt/bitnami/nginx/conf/dev_htwkalender_de.key.pem
|
||||||
depends_on:
|
depends_on:
|
||||||
- htwkalender-backend
|
- htwkalender-backend
|
||||||
- htwkalender-frontend
|
- htwkalender-frontend
|
||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "80:80"
|
||||||
|
- "443:443"
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
pb_data:
|
pb_data:
|
||||||
|
2
frontend/.gitignore
vendored
@@ -23,3 +23,5 @@ dist-ssr
|
|||||||
*.sln
|
*.sln
|
||||||
*.sw?
|
*.sw?
|
||||||
*.iml
|
*.iml
|
||||||
|
|
||||||
|
dev-dist
|
@@ -1,18 +1,21 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="icon" href="/favicon.ico" sizes="32x32" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<link rel="icon" type="image/svg+xml" href="/htwk.svg" />
|
<title>HTWKalender</title>
|
||||||
<link rel="mask-icon" href="/htwk-mask.svg" color="#00494c" />
|
<meta name="description" content="Calendar implementation for the HTWK Leipzig timetable. Evaluation and display of the individual dates in iCal format.">
|
||||||
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
|
<meta name="keywords" content="HTWK, calendar, iCal, dates, events, schedule">
|
||||||
<link
|
<link rel="icon" href="/favicon.ico" sizes="32x32" />
|
||||||
|
<link rel="icon" type="image/svg+xml" href="/htwk.svg" />
|
||||||
|
<link rel="mask-icon" href="/htwk-mask.svg" color="#00494c" />
|
||||||
|
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
|
||||||
|
<meta name="theme-color" content="#1b2022">
|
||||||
|
<link
|
||||||
id="theme-link"
|
id="theme-link"
|
||||||
rel="stylesheet"
|
rel="stylesheet"
|
||||||
href="/themes/lara-light-blue/theme.css"
|
href="/themes/lara-light-blue/theme.css"
|
||||||
/>
|
/>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>HTWKalender</title>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
|
4368
frontend/package-lock.json
generated
@@ -21,6 +21,7 @@
|
|||||||
"@tanstack/vue-query": "^5.28.9",
|
"@tanstack/vue-query": "^5.28.9",
|
||||||
"@tanstack/vue-query-devtools": "^5.28.10",
|
"@tanstack/vue-query-devtools": "^5.28.10",
|
||||||
"@vueuse/core": "^10.9.0",
|
"@vueuse/core": "^10.9.0",
|
||||||
|
"country-flag-emoji-polyfill": "^0.1.8",
|
||||||
"pinia": "^2.1.7",
|
"pinia": "^2.1.7",
|
||||||
"primeflex": "^3.3.1",
|
"primeflex": "^3.3.1",
|
||||||
"primeicons": "^6.0.1",
|
"primeicons": "^6.0.1",
|
||||||
@@ -42,6 +43,8 @@
|
|||||||
"sass-loader": "^13.3.3",
|
"sass-loader": "^13.3.3",
|
||||||
"typescript": "^5.4.3",
|
"typescript": "^5.4.3",
|
||||||
"vite": "^5.2.7",
|
"vite": "^5.2.7",
|
||||||
|
"vite-plugin-mkcert": "^1.17.5",
|
||||||
|
"vite-plugin-pwa": "^0.19.8",
|
||||||
"vitest": "^1.4.0",
|
"vitest": "^1.4.0",
|
||||||
"vue-tsc": "^1.8.27"
|
"vue-tsc": "^1.8.27"
|
||||||
}
|
}
|
||||||
|
1
frontend/public/favicon.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path id="tapes" fill="#ffed00" d="m11.258 1.166-3.48 1.389 4.742 11.89L16 13.057Zm-7.801.398L0 2.944l4.742 11.89 3.46-1.379Z"/><style>#tapes{fill:#00964e}@media (prefers-color-scheme:dark){#tapes{fill:#ffed00}}</style></svg>
|
After Width: | Height: | Size: 288 B |
@@ -49,7 +49,7 @@ $shade900: rgba(map-get($colors, "htwk-schwarz"), 1) !default; //ground surface
|
|||||||
$hoverBg: rgba(255, 255, 255, 0.03) !default;
|
$hoverBg: rgba(255, 255, 255, 0.03) !default;
|
||||||
|
|
||||||
//global
|
//global
|
||||||
$fontFamily: "Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol !default;
|
$fontFamily: "Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Twemoji Country Flags, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol !default;
|
||||||
$fontSize: 1rem !default;
|
$fontSize: 1rem !default;
|
||||||
$fontWeight: normal !default;
|
$fontWeight: normal !default;
|
||||||
$textColor: $shade000 !default;
|
$textColor: $shade000 !default;
|
||||||
@@ -887,10 +887,10 @@ $imagePreviewActionIconFontSize: 1.5rem !default;
|
|||||||
$imagePreviewActionIconBorderRadius: 50% !default;
|
$imagePreviewActionIconBorderRadius: 50% !default;
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
|
font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Twemoji Country Flags, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
|
||||||
font-feature-settings: "cv02", "cv03", "cv04", "cv11";
|
font-feature-settings: "cv02", "cv03", "cv04", "cv11";
|
||||||
font-variation-settings: normal;
|
font-variation-settings: normal;
|
||||||
--font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
|
--font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Twemoji Country Flags, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
|
||||||
--font-feature-settings: "cv02", "cv03", "cv04", "cv11";
|
--font-feature-settings: "cv02", "cv03", "cv04", "cv11";
|
||||||
--surface-a: #{$shade800};
|
--surface-a: #{$shade800};
|
||||||
--surface-b: #{$shade900};
|
--surface-b: #{$shade900};
|
||||||
|
@@ -51,7 +51,7 @@ $shade800:#374151 !default; //unused
|
|||||||
$shade900:#1f2937 !default; //unused
|
$shade900:#1f2937 !default; //unused
|
||||||
|
|
||||||
//global
|
//global
|
||||||
$fontFamily:"Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol !default;
|
$fontFamily:"Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Twemoji Country Flags, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol !default;
|
||||||
$fontSize:1rem !default;
|
$fontSize:1rem !default;
|
||||||
$fontWeight:normal !default;
|
$fontWeight:normal !default;
|
||||||
$textColor:$shade700 !default;
|
$textColor:$shade700 !default;
|
||||||
@@ -881,10 +881,10 @@ $imagePreviewActionIconFontSize:1.5rem !default;
|
|||||||
$imagePreviewActionIconBorderRadius:50% !default;
|
$imagePreviewActionIconBorderRadius:50% !default;
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
font-family:"Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
|
font-family:"Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Twemoji Country Flags, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
|
||||||
font-feature-settings: "cv02","cv03","cv04","cv11";
|
font-feature-settings: "cv02","cv03","cv04","cv11";
|
||||||
font-variation-settings: normal;
|
font-variation-settings: normal;
|
||||||
--font-family:"Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
|
--font-family:"Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Twemoji Country Flags, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
|
||||||
--font-feature-settings: "cv02","cv03","cv04","cv11";
|
--font-feature-settings: "cv02","cv03","cv04","cv11";
|
||||||
--surface-a:#{$shade000};
|
--surface-a:#{$shade000};
|
||||||
--surface-b:#{$shade100};
|
--surface-b:#{$shade100};
|
||||||
|
BIN
frontend/public/pwa-192x192.png
Normal file
After Width: | Height: | Size: 767 B |
BIN
frontend/public/pwa-512x512.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
frontend/public/pwa-maskable-192x192.png
Normal file
After Width: | Height: | Size: 595 B |
BIN
frontend/public/pwa-maskable-512x512.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
2
frontend/public/robots.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
User-agent: *
|
||||||
|
Allow: /
|
@@ -1,8 +1,8 @@
|
|||||||
:root {
|
:root {
|
||||||
font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
|
font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Twemoji Country Flags, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
|
||||||
font-feature-settings: "cv02", "cv03", "cv04", "cv11";
|
font-feature-settings: "cv02", "cv03", "cv04", "cv11";
|
||||||
font-variation-settings: normal;
|
font-variation-settings: normal;
|
||||||
--font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
|
--font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Twemoji Country Flags, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
|
||||||
--font-feature-settings: "cv02", "cv03", "cv04", "cv11";
|
--font-feature-settings: "cv02", "cv03", "cv04", "cv11";
|
||||||
--surface-a: #2e3639;
|
--surface-a: #2e3639;
|
||||||
--surface-b: black;
|
--surface-b: black;
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
:root {
|
:root {
|
||||||
font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
|
font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Twemoji Country Flags, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
|
||||||
font-feature-settings: "cv02", "cv03", "cv04", "cv11";
|
font-feature-settings: "cv02", "cv03", "cv04", "cv11";
|
||||||
font-variation-settings: normal;
|
font-variation-settings: normal;
|
||||||
--font-family:"Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
|
--font-family:"Source Sans Pro", -apple-system, BlinkMacSystemFont, Segoe UI, Twemoji Country Flags, Roboto, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
|
||||||
--font-feature-settings: "cv02","cv03","cv04","cv11";
|
--font-feature-settings: "cv02","cv03","cv04","cv11";
|
||||||
--surface-a:#ffffff;
|
--surface-a:#ffffff;
|
||||||
--surface-b:#f9fafb;
|
--surface-b:#f9fafb;
|
||||||
|
BIN
frontend/public/themes/pwa-192x192.png
Normal file
After Width: | Height: | Size: 767 B |
BIN
frontend/public/themes/pwa-512x512.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
frontend/public/themes/pwa-maskable-192x192.png
Normal file
After Width: | Height: | Size: 595 B |
BIN
frontend/public/themes/pwa-maskable-512x512.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
@@ -64,7 +64,7 @@ updateLocale(localeStore().locale);
|
|||||||
<template #value="slotProps">
|
<template #value="slotProps">
|
||||||
<div v-if="slotProps.value" class="flex align-items-center">
|
<div v-if="slotProps.value" class="flex align-items-center">
|
||||||
<div class="mr-2 flag">{{ displayIcon(slotProps.value) }}</div>
|
<div class="mr-2 flag">{{ displayIcon(slotProps.value) }}</div>
|
||||||
<div>{{ displayCountry(slotProps.value) }}</div>
|
<div style="font-family: 'Twemoji Country Flags', 'Helvetica', 'Comic Sans', serif;">{{ displayCountry(slotProps.value) }}</div>
|
||||||
</div>
|
</div>
|
||||||
<span v-else>
|
<span v-else>
|
||||||
{{ slotProps.placeholder }}
|
{{ slotProps.placeholder }}
|
||||||
|
@@ -55,6 +55,9 @@ import Skeleton from "primevue/skeleton";
|
|||||||
import Calendar from "primevue/calendar";
|
import Calendar from "primevue/calendar";
|
||||||
import i18n from "./i18n";
|
import i18n from "./i18n";
|
||||||
import { VueQueryPlugin } from "@tanstack/vue-query";
|
import { VueQueryPlugin } from "@tanstack/vue-query";
|
||||||
|
import { polyfillCountryFlagEmojis } from "country-flag-emoji-polyfill";
|
||||||
|
|
||||||
|
polyfillCountryFlagEmojis();
|
||||||
|
|
||||||
const app = createApp(App);
|
const app = createApp(App);
|
||||||
const pinia = createPinia();
|
const pinia = createPinia();
|
||||||
|
@@ -17,10 +17,66 @@
|
|||||||
import { defineConfig } from "vite";
|
import { defineConfig } from "vite";
|
||||||
import vue from "@vitejs/plugin-vue";
|
import vue from "@vitejs/plugin-vue";
|
||||||
import { fileURLToPath } from "node:url";
|
import { fileURLToPath } from "node:url";
|
||||||
|
import { VitePWA } from 'vite-plugin-pwa';
|
||||||
|
import mkcert from 'vite-plugin-mkcert';
|
||||||
|
|
||||||
// https://vitejs.dev/config/
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [vue()],
|
plugins: [
|
||||||
|
vue(),
|
||||||
|
mkcert(),
|
||||||
|
VitePWA({
|
||||||
|
mode: 'development',
|
||||||
|
base: '/',
|
||||||
|
injectRegister: 'auto',
|
||||||
|
includeAssets: ['favicon.ico', 'apple-touch-icon.png', 'mask-icon.svg'],
|
||||||
|
manifest: {
|
||||||
|
name: 'HTWKalender',
|
||||||
|
short_name: 'HTWKalender',
|
||||||
|
description: 'Calendar implementation for the HTWK Leipzig timetable. Evaluation and display of the individual dates in iCal format.',
|
||||||
|
theme_color: '#FFFFFF',
|
||||||
|
background_color: '#FFFFFF',
|
||||||
|
display: 'standalone',
|
||||||
|
start_url: '/',
|
||||||
|
icons: [
|
||||||
|
{
|
||||||
|
src: "/pwa-192x192.png",
|
||||||
|
sizes: "192x192",
|
||||||
|
type: "image/png",
|
||||||
|
purpose: "any"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: "/pwa-512x512.png",
|
||||||
|
sizes: "512x512",
|
||||||
|
type: "image/png",
|
||||||
|
purpose: "any"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: "/pwa-maskable-192x192.png",
|
||||||
|
sizes: "192x192",
|
||||||
|
type: "image/png",
|
||||||
|
purpose: "maskable"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: "/pwa-maskable-512x512.png",
|
||||||
|
sizes: "512x512",
|
||||||
|
type: "image/png",
|
||||||
|
purpose: "maskable"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
},
|
||||||
|
registerType: 'autoUpdate',
|
||||||
|
workbox: {
|
||||||
|
globPatterns: ['**/*.{js,css,html,ico,png,svg,json,vue,txt,woff2}'],
|
||||||
|
cleanupOutdatedCaches: true
|
||||||
|
},
|
||||||
|
devOptions: {
|
||||||
|
enabled: true,
|
||||||
|
/* when using generateSW the PWA plugin will switch to classic */
|
||||||
|
type: 'module',
|
||||||
|
navigateFallback: 'index.html',
|
||||||
|
suppressWarnings: true,
|
||||||
|
}
|
||||||
|
})],
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
"@": fileURLToPath(new URL("./src", import.meta.url)),
|
"@": fileURLToPath(new URL("./src", import.meta.url)),
|
||||||
|
28
local-cert/dev_htwkalender_de.key.pem
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCoN9Mg1K0oPrNX
|
||||||
|
JSQW9mFbFDkUainfxtceHSBIEONu25806IQtbdqam9vptDp244zBpVhwmboqcxHE
|
||||||
|
YycWd2bSJZwvPuX4K4nWXxqGgfv0KspyphDrUoy8hiVAX6s6oSBB7V/3R2cTYk1Y
|
||||||
|
bvivE8y3FKxGi3pymkrYa2eIMw/GjIuVPUPUEeaE89QoQUhi9bc3wLpywGzseSSr
|
||||||
|
CwKOje61idivTWU3NEZnH98YZvS6Ifayj85gGCM0KdPdXsVxDkO/J32XJ6a2DxxK
|
||||||
|
GS0i9agasFPmghOe73knWhXFEi+TA9NoTod6ifxjdH9gFJHOD3PKEUrmbBbU1RLO
|
||||||
|
hLO1Xf7/AgMBAAECggEAR6xNeUIUqz6X5CwPhfchQRDLRz76q32Jv6tySzJi7SOH
|
||||||
|
YKAnXUHesBxzZU6k0G4g1YtRNNzTHO4dZltG1sQ2G5jpxJmcm5JVbvDjmOb+RqkK
|
||||||
|
zDGkqNdp3pObgKOijd8EIwL0biROr0wln2Xc8J/TjDgzNPWNzRGfjTmqCbaT5Kjg
|
||||||
|
VOr1lEBZ27zVPJZrqUp5gVDlflbccZzOWOP2ah06uC9+RT5GQBDa0QBjoEgfgsBj
|
||||||
|
hEJ+il1ovy2siKlH8i+MGPbLx6TEIHtMFogliGfpu2KSx3AKxj739TaW0sJvWShf
|
||||||
|
kmL09dzhAjv0LtLJyAXpQ/TlUxJ4WVD1/iGDirWPbQKBgQDqVk9r2Hb4cyFTvG+3
|
||||||
|
VDviYZW6f80VB0s/tNurR0PKooyzWXW+gRmDOdr6P2AGbSeukmESBANOTG25yFgf
|
||||||
|
KqxwfxvvqYIUZXNclqrUtLLN+PBPSBMheiEaaZ8nVEOJUBxQScvvUTnDl6sqRAjZ
|
||||||
|
b++4Cjk2uD5/ExtHCDy4LxBIIwKBgQC3xMcfgRqyjP7z1QJ9Ju2MpoJvlHHNhjdA
|
||||||
|
Jyu4rXbv07p1ep54ls3p3LRKv1meO+O9b9Z6ao7WTXG5rbST0yfGqG+8BT/F8j1A
|
||||||
|
ALIscCLv9TgAYhndoxnY+s+ZoTdKewhmYnQF/W2WfIVmJ5yCCSr09CjDUwfGolrd
|
||||||
|
NNrwGEPNdQKBgH9r9zu5NNfcIp8Zs9WIJBfw4C3NGIL6uFwnx9rWoXIp+T/8wR2Z
|
||||||
|
rXnBl+TDWT+lUxKF3eqh6/pDbNa8rc4ksidptpMXJPhaQeRyuOl4aFG/r0ws8Nof
|
||||||
|
QqjODhCgrSiZOwwdVJsJG9PTQOt2mylAyKTWSk4K2VDX3tk9DWdJkBzpAoGAHpss
|
||||||
|
WsfizWgEMlIAtx1bpPg6cyDzDzrSSuH7OyfQzkKiJFzGtejP5Ko4cNaLs3ngBTXy
|
||||||
|
L7M9lN2TGkye7ZvWXRTCfzsUkwA0SUuUYShP+U0LBa1RB4PZkzS6jKi4D7SMAplV
|
||||||
|
H4ZE0TJt+USRoWqrd96OR3G1stRpc7wQ1roD2N0CgYEAjDab4b8PmPvBI/HMb0Yg
|
||||||
|
/zIsN9UYwNVzcRhDoXDpvK+NU76Mni6IKvryqbVfrFQ2cIRhaVQeAWogELkCrBwM
|
||||||
|
t1y9O+s9u3OdvVoPzgv9ZNgqGNhUh1SIjoFen1Wh6dOILEgLNxf8mmaGlyMp25aA
|
||||||
|
xvjtITjBVgMQy6Q3pAhjXpU=
|
||||||
|
-----END PRIVATE KEY-----
|
21
local-cert/dev_htwkalender_de.pem
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIDXzCCAkegAwIBAgIUTy7qvUaZsPyv1ye02pMyOiSQGKkwDQYJKoZIhvcNAQEL
|
||||||
|
BQAwPzELMAkGA1UEBhMCREUxDzANBgNVBAgMBlNheG9ueTEQMA4GA1UEBwwHTGVp
|
||||||
|
cHppZzENMAsGA1UECgwESFRXSzAeFw0yNDA1MTcxMDE3MzNaFw0yNTA1MTcxMDE3
|
||||||
|
MzNaMD8xCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZTYXhvbnkxEDAOBgNVBAcMB0xl
|
||||||
|
aXB6aWcxDTALBgNVBAoMBEhUV0swggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
|
||||||
|
AoIBAQCoN9Mg1K0oPrNXJSQW9mFbFDkUainfxtceHSBIEONu25806IQtbdqam9vp
|
||||||
|
tDp244zBpVhwmboqcxHEYycWd2bSJZwvPuX4K4nWXxqGgfv0KspyphDrUoy8hiVA
|
||||||
|
X6s6oSBB7V/3R2cTYk1YbvivE8y3FKxGi3pymkrYa2eIMw/GjIuVPUPUEeaE89Qo
|
||||||
|
QUhi9bc3wLpywGzseSSrCwKOje61idivTWU3NEZnH98YZvS6Ifayj85gGCM0KdPd
|
||||||
|
XsVxDkO/J32XJ6a2DxxKGS0i9agasFPmghOe73knWhXFEi+TA9NoTod6ifxjdH9g
|
||||||
|
FJHOD3PKEUrmbBbU1RLOhLO1Xf7/AgMBAAGjUzBRMB0GA1UdDgQWBBTwpRfij80j
|
||||||
|
WQAWAW0OLRTb1+in7TAfBgNVHSMEGDAWgBTwpRfij80jWQAWAW0OLRTb1+in7TAP
|
||||||
|
BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBgY+EwzFyotxoNmpE1
|
||||||
|
Q8nB1jUmVnESBOjjN8D9ct9dhbAl6ewmca0z2hniXrP0CsnmkrpjlDUySUAlAb2K
|
||||||
|
ZJNvvzkVVhXeivB4GjS3/Z3ZdLQvIO9y14tA4CuydsIzXX/ElKxg8ezgEpJVdIQ5
|
||||||
|
OpQhwtenLceQAevYdeHx/tydnLMB/zGNQMF0VHpCqchxxavlaRY332RrJLLFydwW
|
||||||
|
j3qiWiYLZ84qF7Y6A87ekcTbDsa5gc6mrAp676Gvoq75KeYyNqIASzYNqZ0c8t5u
|
||||||
|
h8P3tOFANUpr7cdQUG0VNY9Xabhxa8ELFi/wo6/Kb69dkG1O0brPjzRZgs69hVsX
|
||||||
|
n+g+
|
||||||
|
-----END CERTIFICATE-----
|
@@ -71,4 +71,31 @@ http {
|
|||||||
proxy_pass http://htwkalender-frontend:8000;
|
proxy_pass http://htwkalender-frontend:8000;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
listen [::]:443 ssl;
|
||||||
|
|
||||||
|
ssl_certificate /opt/bitnami/nginx/conf/dev_htwkalender_de.pem;
|
||||||
|
ssl_certificate_key /opt/bitnami/nginx/conf/dev_htwkalender_de.key.pem;
|
||||||
|
|
||||||
|
location /api {
|
||||||
|
proxy_pass http://htwkalender-backend:8090;
|
||||||
|
client_max_body_size 20m;
|
||||||
|
proxy_connect_timeout 600s;
|
||||||
|
proxy_read_timeout 600s;
|
||||||
|
proxy_send_timeout 600s;
|
||||||
|
send_timeout 600s;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /_ {
|
||||||
|
proxy_pass http://htwkalender-backend:8090;
|
||||||
|
# Increase upload file size
|
||||||
|
client_max_body_size 100m;
|
||||||
|
}
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass https://htwkalender-frontend:8000;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|