remove environments from git

This commit is contained in:
PxlLoewe
2025-06-11 20:25:25 -07:00
parent 42d9583bc8
commit 2bbb7b1ffb
5 changed files with 137 additions and 143 deletions

82
.env.example Normal file
View File

@@ -0,0 +1,82 @@
# ───────────────────────────────────────────────
# 🔐 Authentifizierung & Cookies
# ───────────────────────────────────────────────
AUTH_DISPATCH_SECRET=
AUTH_HUB_SECRET=
AUTH_DISPATCH_COOKIE_PREFIX=
AUTH_HUB_COOKIE_PREFIX=
AUTH_DISPATCH_URL=
AUTH_HUB_URL=
NEXT_PUBLIC_DISPATCH_SERVICE_ID=
# ───────────────────────────────────────────────
# 🌐 Öffentliche URLs
# ───────────────────────────────────────────────
NEXT_PUBLIC_HUB_URL=
NEXT_PUBLIC_HUB_SERVER_URL=
NEXT_PUBLIC_DISPATCH_URL=
NEXT_PUBLIC_DISPATCH_SERVER_URL=
DISCORD_SERVER_URL=
NEXT_PUBLIC_ESRI_ACCESS_TOKEN=
NEXT_PUBLIC_OPENAIP_ACCESS=
# ───────────────────────────────────────────────
# 🗄️ Datenbank
# ───────────────────────────────────────────────
DATABASE_URL=
# ───────────────────────────────────────────────
# 📡 LiveKit Konfiguration
# ───────────────────────────────────────────────
NEXT_PUBLIC_LIVEKIT_URL=
LIVEKIT_API_KEY=
LIVEKIT_API_SECRET=
# ───────────────────────────────────────────────
# 🚦 Dispatch Server (Backend)
# ───────────────────────────────────────────────
DISPATCH_SERVER_PORT=
DISPATCH_APP_TOKEN=
REDIS_HOST=
REDIS_PORT=
# ───────────────────────────────────────────────
# 🧠 HUB Server (Backend)
# ───────────────────────────────────────────────
HUB_SERVER_PORT=
DISCORD_SERVER_PORT=
# ───────────────────────────────────────────────
# 📚 Moodle
# ───────────────────────────────────────────────
MOODLE_URL=
MOODLE_API_TOKEN=
MOODLE_USER_PASSWORD=
NEXT_PUBLIC_MOODLE_URL=
# ───────────────────────────────────────────────
# 📧 E-Mail Einstellungen (nur HUB Server)
# ───────────────────────────────────────────────
MAIL_SERVER=
MAIL_PORT=
MAIL_USER=
MAIL_PASSWORD=
# ───────────────────────────────────────────────
# 🕹️ Discord OAuth (optional)
# ───────────────────────────────────────────────
DISCORD_GUILD_ID=
DISCORD_OAUTH_CLIENT_ID=
DISCORD_OAUTH_SECRET=
DISCORD_BOT_TOKEN=
DISCORD_REDIRECT_URL=
NEXT_PUBLIC_DISCORD_URL=

View File

@@ -1,82 +1,82 @@
# ───────────────────────────────────────────────
# 🔐 Authentifizierung & Cookies
# ───────────────────────────────────────────────
AUTH_DISPATCH_SECRET=dispatch
AUTH_HUB_SECRET=var
AUTH_DISPATCH_SECRET=
AUTH_HUB_SECRET=
AUTH_DISPATCH_COOKIE_PREFIX=DISPATCH
AUTH_HUB_COOKIE_PREFIX=HUB
AUTH_DISPATCH_COOKIE_PREFIX=
AUTH_HUB_COOKIE_PREFIX=
AUTH_DISPATCH_URL=https://dispatch.premiumag.de
AUTH_HUB_URL=https://hub.premiumag.de
NEXT_PUBLIC_DISPATCH_SERVICE_ID=1
AUTH_DISPATCH_URL=
AUTH_HUB_URL=
NEXT_PUBLIC_DISPATCH_SERVICE_ID=
# ───────────────────────────────────────────────
# 🌐 Öffentliche URLs
# ───────────────────────────────────────────────
NEXT_PUBLIC_HUB_URL=https://hub.premiumag.de
NEXT_PUBLIC_HUB_SERVER_URL=https://api.hub.premiumag.de
NEXT_PUBLIC_DISPATCH_URL=https://dispatch.premiumag.de
NEXT_PUBLIC_DISPATCH_SERVER_URL=https://api.dispatch.premiumag.de
DISCORD_SERVER_URL=http://discord-server:3000
NEXT_PUBLIC_HUB_URL=
NEXT_PUBLIC_HUB_SERVER_URL=
NEXT_PUBLIC_DISPATCH_URL=
NEXT_PUBLIC_DISPATCH_SERVER_URL=
DISCORD_SERVER_URL=
NEXT_PUBLIC_ESRI_ACCESS_TOKEN=
NEXT_PUBLIC_OPENAIP_ACCESS=6e85069940543ef02f8615b737059d98
NEXT_PUBLIC_OPENAIP_ACCESS=
# ───────────────────────────────────────────────
# 🗄️ Datenbank
# ───────────────────────────────────────────────
DATABASE_URL=postgresql://persistant-data:persistant-data-pw@postgres:5432/var
DATABASE_URL=
# ───────────────────────────────────────────────
# 📡 LiveKit Konfiguration
# ───────────────────────────────────────────────
NEXT_PUBLIC_LIVEKIT_URL=wss://livekit.premiumag.de
LIVEKIT_API_KEY=APIAnsGdtdYp2Ho
LIVEKIT_API_SECRET=tdPjVsYUx8ddC7K9NvdmVAeLRF9GeADD6Fedm1x63fWC
NEXT_PUBLIC_LIVEKIT_URL=
LIVEKIT_API_KEY=
LIVEKIT_API_SECRET=
# ───────────────────────────────────────────────
# 🚦 Dispatch Server (Backend)
# ───────────────────────────────────────────────
DISPATCH_SERVER_PORT=3000
DISPATCH_APP_TOKEN=dispatch
DISPATCH_SERVER_PORT=
DISPATCH_APP_TOKEN=
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_HOST=
REDIS_PORT=
# ───────────────────────────────────────────────
# 🧠 HUB Server (Backend)
# ───────────────────────────────────────────────
HUB_SERVER_PORT=3000
HUB_SERVER_PORT=
DISCORD_SERVER_PORT=3000
DISCORD_SERVER_PORT=
# ───────────────────────────────────────────────
# 📚 Moodle
# ───────────────────────────────────────────────
MOODLE_URL=https://02.premiumag.de:8081
MOODLE_API_TOKEN=ac346f0324647b68488d13fd52a9bbe8
MOODLE_USER_PASSWORD=var-api-user-P1
NEXT_PUBLIC_MOODLE_URL=https://02.premiumag.de:8081
MOODLE_URL=
MOODLE_API_TOKEN=
MOODLE_USER_PASSWORD=
NEXT_PUBLIC_MOODLE_URL=
# ───────────────────────────────────────────────
# 📧 E-Mail Einstellungen (nur HUB Server)
# ───────────────────────────────────────────────
MAIL_SERVER=asmtp.mail.hostpoint.ch
MAIL_PORT=465
MAIL_USER=noreply@virtualairrescue.com
MAIL_PASSWORD=b7316PB8aDPCC%-&
MAIL_SERVER=
MAIL_PORT=
MAIL_USER=
MAIL_PASSWORD=
# ───────────────────────────────────────────────
# 🕹️ Discord OAuth (optional)
# ───────────────────────────────────────────────
DISCORD_GUILD_ID=1077269395019141140
DISCORD_GUILD_ID=
DISCORD_OAUTH_CLIENT_ID=930384053344034846
DISCORD_OAUTH_SECRET=96aSvmIePqFTbGc54mad0QsZfDnYwhl1
DISCORD_BOT_TOKEN=OTMwMzg0MDUzMzQ0MDM0ODQ2.G7zIy-._hE3dTbtUv6sd7nIP2PUn3d8s-2MFk0x3nYMg8
DISCORD_REDIRECT_URL=https://hub.premiumag.de/api/discord-redirect
NEXT_PUBLIC_DISCORD_URL=https://discord.com/oauth2/authorize?client_id=930384053344034846&response_type=code&redirect_uri=https%3A%2F%2Fhub.premiumag.de%2Fapi%2Fdiscord-redirect&scope=identify+guilds+email
DISCORD_OAUTH_CLIENT_ID=
DISCORD_OAUTH_SECRET=
DISCORD_BOT_TOKEN=
DISCORD_REDIRECT_URL=
NEXT_PUBLIC_DISCORD_URL=

4
.gitignore vendored
View File

@@ -18,9 +18,7 @@ mkcert
# Local env files
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
.env.prod
# Testing
coverage

View File

@@ -34,30 +34,15 @@ export const StationForm = ({ station }: { station?: Station }) => {
<h2 className="card-title">
<FileText className="w-5 h-5" /> Allgemeines
</h2>
<Input
form={form}
label="BOS Rufname"
name="bosCallsign"
className="input-sm"
/>
<Input form={form} label="BOS Rufname" name="bosCallsign" className="input-sm" />
<Input
form={form}
label="BOS Rufname (kurz)"
name="bosCallsignShort"
className="input-sm"
/>
<Input
form={form}
label="Betreiber"
name="operator"
className="input-sm"
/>
<Input
form={form}
label="ATC Rufname"
name="atcCallsign"
className="input-sm"
/>
<Input form={form} label="Betreiber" name="operator" className="input-sm" />
<Input form={form} label="ATC Rufname" name="atcCallsign" className="input-sm" />
<Input
form={form}
label="FIR (Flight Information Region)"
@@ -72,9 +57,7 @@ export const StationForm = ({ station }: { station?: Station }) => {
/>
<label className="form-control w-full">
<span className="label-text text-lg flex items-center gap-2">
BOS Nutzung
</span>
<span className="label-text text-lg flex items-center gap-2">BOS Nutzung</span>
<select
className="input-sm select select-bordered select-sm"
{...form.register("bosUse")}
@@ -94,9 +77,7 @@ export const StationForm = ({ station }: { station?: Station }) => {
<LocateIcon className="w-5 h-5" /> Standort + Ausrüstung
</h2>
<label className="form-control w-full">
<span className="label-text text-lg flex items-center gap-2">
Land
</span>
<span className="label-text text-lg flex items-center gap-2">Land</span>
<select
className="input-sm select select-bordered select-sm"
{...form.register("country", {})}
@@ -108,55 +89,30 @@ export const StationForm = ({ station }: { station?: Station }) => {
))}
</select>
</label>
<Input
form={form}
label="Bundesland"
name="locationState"
className="input-sm"
/>
<Input form={form} label="Bundesland" name="locationState" className="input-sm" />
<Input
form={form}
label="Bundesland (kurz)"
name="locationStateShort"
className="input-sm"
/>
<span className="label-text text-lg flex items-center gap-2">
Ausgerüstet mit:
</span>
<span className="label-text text-lg flex items-center gap-2">Ausgerüstet mit:</span>
<div className="form-control space-y-2">
<label className="label cursor-pointer flex">
<span className="flex-1 text-left">Winde</span>
<input
type="checkbox"
className="toggle"
{...form.register("hasWinch")}
/>
<input type="checkbox" className="toggle" {...form.register("hasWinch")} />
</label>
<label className="label cursor-pointer flex">
<span className="flex-1 text-left">Nachtsicht gerät</span>
<input
type="checkbox"
className="toggle"
{...form.register("hasNvg")}
/>
<span className="flex-1 text-left">Nachtsicht-Gerät</span>
<input type="checkbox" className="toggle" {...form.register("hasNvg")} />
</label>
<label className="label cursor-pointer flex">
<span className="flex-1 text-left">
24-Stunden Einsatzfähig
</span>
<input
type="checkbox"
className="toggle"
{...form.register("is24h")}
/>
<span className="flex-1 text-left">24-Stunden Einsatzfähig</span>
<input type="checkbox" className="toggle" {...form.register("is24h")} />
</label>
<label className="label cursor-pointer flex">
<span className="flex-1 text-left">Bergetau</span>
<input
type="checkbox"
className="toggle"
{...form.register("hasRope")}
/>
<input type="checkbox" className="toggle" {...form.register("hasRope")} />
</label>
</div>
@@ -179,14 +135,8 @@ export const StationForm = ({ station }: { station?: Station }) => {
step="any"
/>
<label className="label cursor-pointer flex">
<span className="text-lg flex-1 text-left">
Reichweiten ausblenden
</span>
<input
type="checkbox"
className="toggle"
{...form.register("hideRangeRings")}
/>
<span className="text-lg flex-1 text-left">Reichweiten ausblenden</span>
<input type="checkbox" className="toggle" {...form.register("hideRangeRings")} />
</label>
</div>
</div>
@@ -195,12 +145,7 @@ export const StationForm = ({ station }: { station?: Station }) => {
<h2 className="card-title">
<PlaneIcon className="w-5 h-5" /> Hubschrauber
</h2>
<Input
form={form}
label="Hubschrauber Typ"
name="aircraft"
className="input-sm"
/>
<Input form={form} label="Hubschrauber Typ" name="aircraft" className="input-sm" />
<Input
form={form}
formOptions={{ valueAsNumber: true }}
@@ -220,11 +165,7 @@ export const StationForm = ({ station }: { station?: Station }) => {
<div className="card bg-base-200 shadow-xl col-span-6">
<div className="card-body ">
<div className="flex w-full gap-4">
<Button
isLoading={loading}
type="submit"
className="btn btn-primary flex-1"
>
<Button isLoading={loading} type="submit" className="btn btn-primary flex-1">
Speichern
</Button>
{station && (

View File

@@ -1,27 +0,0 @@
services:
redis:
container_name: redis
image: redis/redis-stack:latest
ports:
- "6379:6379"
volumes:
- "redis_data:/data"
# Für den Zugriff auf den Host
livekit-server:
image: livekit/livekit-server
container_name: livekit_server
restart: unless-stopped
ports:
- "7880:7880"
- "7881:7881"
- "7882:7882/udp"
volumes:
- "./livekit.yaml:/livekit.yaml"
command:
- "--config"
- "/livekit.yaml"
- "--node-ip=127.0.0.1"
volumes:
redis_data:
driver: local