Compare commits
No commits in common. "90e9bba1e0175714630f97c1a6d8319ee913b471" and "4880f695fb2185aefea7c60c61b8d541abc372ce" have entirely different histories.
90e9bba1e0
...
4880f695fb
2 changed files with 5 additions and 23 deletions
|
|
@ -1,3 +1,5 @@
|
|||
### `Dockerfile`
|
||||
```dockerfile
|
||||
# Multi-Stage Dockerfile for Gothic II Mod Website
|
||||
FROM node:20-alpine AS builder
|
||||
|
||||
|
|
@ -5,7 +7,7 @@ WORKDIR /app
|
|||
|
||||
# Install dependencies first for better Docker layer caching
|
||||
COPY package*.json ./
|
||||
RUN npm install
|
||||
RUN npm ci
|
||||
|
||||
# Copy source code and build the production bundle
|
||||
COPY . .
|
||||
|
|
@ -21,7 +23,7 @@ ENV PORT=3000
|
|||
|
||||
# Install production dependencies only
|
||||
COPY package*.json ./
|
||||
RUN npm install --omit=dev
|
||||
RUN npm ci --only=production
|
||||
|
||||
# Copy built dist files and default cms data from builder
|
||||
COPY --from=builder /app/dist ./dist
|
||||
|
|
@ -31,3 +33,4 @@ COPY --from=builder /app/cms-data.json ./cms-data.json
|
|||
EXPOSE 3000
|
||||
|
||||
CMD ["node", "dist/server.cjs"]
|
||||
```
|
||||
|
|
|
|||
|
|
@ -457,27 +457,6 @@ export const AdminCMSModal: React.FC<AdminCMSModalProps> = ({
|
|||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Security & Admin PIN Section */}
|
||||
<div className="bg-zinc-950/80 border border-amber-900/60 rounded-xl p-4 mt-6 space-y-3">
|
||||
<h4 className="text-sm font-serif font-bold text-amber-300 flex items-center gap-2">
|
||||
<KeyRound className="w-4 h-4 text-amber-400" />
|
||||
CMS Passwort / Zugangs-PIN
|
||||
</h4>
|
||||
<p className="text-xs text-zinc-400">
|
||||
Hier kannst du das Passwort ändern, das zum Freischalten dieses Modder-Portals benötigt wird.
|
||||
Nach dem Klicken auf <strong className="text-amber-200">"Änderungen Live Speichern"</strong> wird das neue Passwort in <code className="text-amber-300 bg-zinc-900 px-1 py-0.5 rounded">cms-data.json</code> übernommen.
|
||||
</p>
|
||||
<div className="max-w-xs">
|
||||
<label className="block text-xs font-mono text-amber-400 mb-1">Neues CMS Passwort</label>
|
||||
<input
|
||||
type="text"
|
||||
value={formData.adminPin || "gothic2026"}
|
||||
onChange={(e) => setFormData({ ...formData, adminPin: e.target.value })}
|
||||
className="w-full bg-zinc-900 border border-amber-800/80 rounded px-3 py-2 text-sm font-mono text-amber-200 focus:border-amber-500 focus:ring-1 focus:ring-amber-500"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue