Compare commits
5
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2af70c238b | ||
|
|
30f4b9d8c5 | ||
|
|
390b016cc2 | ||
|
|
e9d7ce262d | ||
|
|
fdd3793ee1 |
@@ -80,6 +80,21 @@ steps:
|
||||
- branch: main
|
||||
event: push
|
||||
|
||||
# Backend zuerst - die Admin-Seite braucht die API
|
||||
deploy_backend:
|
||||
image: node:20
|
||||
environment:
|
||||
FLY_API_TOKEN:
|
||||
from_secret: FLY_API_TOKEN
|
||||
commands:
|
||||
- curl -L https://fly.io/install.sh | sh
|
||||
- export PATH="$HOME/.fly/bin:$PATH"
|
||||
# aus backend/ heraus, damit Build-Kontext und Dockerfile stimmen
|
||||
- cd backend && flyctl deploy --app gallus-cms-backend --remote-only
|
||||
when:
|
||||
- branch: main
|
||||
event: push
|
||||
|
||||
deploy_frontend:
|
||||
image: node:20
|
||||
environment:
|
||||
|
||||
@@ -8,6 +8,7 @@ import { env, validateEnv } from './config/env.js';
|
||||
import { db, initDatabase } from './config/database.js';
|
||||
import fastifyStatic from '@fastify/static';
|
||||
import path from 'path';
|
||||
import fs from 'fs';
|
||||
|
||||
// Import routes
|
||||
import authRoute from './routes/auth.js';
|
||||
@@ -79,12 +80,25 @@ fastify.register(multipart, {
|
||||
|
||||
// Serve static files (uploaded images, etc.) from persistent volume
|
||||
const dataDir = env.GIT_WORKSPACE_DIR || path.join(process.cwd(), 'data');
|
||||
// Muss existieren, sonst verweigert @fastify/static die Registrierung
|
||||
fs.mkdirSync(dataDir, { recursive: true });
|
||||
fastify.register(fastifyStatic, {
|
||||
root: dataDir,
|
||||
prefix: '/static/',
|
||||
decorateReply: false
|
||||
});
|
||||
|
||||
// Uploads liegen unter <workspace>/public/images. In der DB stehen sie als
|
||||
// /images/... - das ist die URL auf der publizierten Astro-Seite. Damit die
|
||||
// Admin-Oberflaeche dieselben Pfade verwenden kann, hier ebenso ausliefern.
|
||||
const imagesDir = path.join(dataDir, 'public', 'images');
|
||||
fs.mkdirSync(imagesDir, { recursive: true });
|
||||
fastify.register(fastifyStatic, {
|
||||
root: imagesDir,
|
||||
prefix: '/images/',
|
||||
decorateReply: false
|
||||
});
|
||||
|
||||
// Decorate fastify with authenticate method
|
||||
fastify.decorate('authenticate', authenticate);
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 44 KiB |
@@ -27,6 +27,14 @@ const events = [
|
||||
Plätze sind begrenzt! Jetzt reservieren unter 🍀WA 077 232 27 70
|
||||
`,
|
||||
},
|
||||
{
|
||||
image: "/images/events/msogsj4l-bmlcxc.jpeg",
|
||||
title: "SG Fest",
|
||||
date: "2026-08-14",
|
||||
description: `
|
||||
Das Stadt-Fest steht vor der Tür! Wir haben OFFEN ab 17:00Uhr mit Karaoke! Wir freuen uns auf euch!
|
||||
`,
|
||||
},
|
||||
{
|
||||
image: "/images/events/mr82c7eh-yp87hy.jpeg",
|
||||
title: "Richie Live",
|
||||
|
||||
Reference in New Issue
Block a user