diff --git a/deploy.sh b/deploy.sh new file mode 100644 index 0000000..1809b4b --- /dev/null +++ b/deploy.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +set -euo pipefail + +cd "$(dirname "$0")" + +if docker compose ps -q >/dev/null 2>&1; then + echo "Stopping running services..." + docker compose down +fi + +echo "Pulling latest changes..." +git pull + +echo "Rebuilding and starting services..." +docker compose up -d --build --force-recreate + +echo "Deploy complete." diff --git a/expressjs/src/server.js b/expressjs/src/server.js index 6b0062c..7de7d52 100644 --- a/expressjs/src/server.js +++ b/expressjs/src/server.js @@ -198,121 +198,30 @@ function formatCountdown(ts) { function renderPage(title, body) { return ` - +
| File | -Size | -Expires | -Actions | +Datei | +Größe | +Läuft ab | +Aktionen |
|---|
Upload not found.
')); + res.status(404).send(renderPage('Nicht gefunden', 'Upload nicht gefunden.
')); return; } try { @@ -652,7 +561,7 @@ app.post(`${basePath}/files/:id/extend`, requireAuthPage, async (req, res) => { req.user.username, ]); if (!uploadEntry) { - res.status(404).send(renderPage('Not found', 'Upload not found.
')); + res.status(404).send(renderPage('Nicht gefunden', 'Upload nicht gefunden.
')); return; } @@ -668,7 +577,7 @@ app.post(`${basePath}/files/:id/extend`, requireAuthPage, async (req, res) => { }); app.use((req, res) => { - res.status(404).send(renderPage('Not found', 'Not found.
')); + res.status(404).send(renderPage('Nicht gefunden', 'Seite nicht gefunden.
')); }); app.listen(port, () => { diff --git a/initialize.sh b/initialize.sh index 493726a..77dd4aa 100755 --- a/initialize.sh +++ b/initialize.sh @@ -2,16 +2,32 @@ cd "$(dirname "$0")" +echo "Initializing files.lehnert.cloud setup..." + mkdir -p ./traefik touch traefik/acme.json chmod 600 traefik/acme.json mkdir -p ./data +echo "Ensured ./traefik and ./data exist." + if [ ! -f .logins ]; then cp .logins.example .logins + echo "Created .logins from .logins.example" +else + echo "Found existing .logins" fi if [ ! -f .env ]; then cp .env.example .env + echo "Created .env from .env.example" +else + echo "Found existing .env" fi + +echo "Initialization complete." +echo "Next steps:" +echo "1) Edit .env and set SERVICE_FQDN, LETSENCRYPT_EMAIL, DATA_DIR, UPLOAD_TTL_SECONDS" +echo "2) Edit .logins to add users (bcrypt)" +echo "3) docker compose up --build"