Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| dbc9f0a605 | |||
| 3eb8550cbf | |||
| bebc045029 |
+13
-20
@@ -117,29 +117,22 @@ steps:
|
|||||||
GITHUB_TOKEN:
|
GITHUB_TOKEN:
|
||||||
from_secret: GITHUB_TOKEN
|
from_secret: GITHUB_TOKEN
|
||||||
commands:
|
commands:
|
||||||
- |
|
- >
|
||||||
# Create release payload in /tmp to avoid permission issues
|
echo '{
|
||||||
cat > /tmp/release.json <<'RELEASE_EOF'
|
"tag_name": "'${DRONE_TAG}'",
|
||||||
{
|
|
||||||
"tag_name": "DRONE_TAG_PLACEHOLDER",
|
|
||||||
"target_commitish": "main",
|
"target_commitish": "main",
|
||||||
"name": "PicPeak DRONE_TAG_PLACEHOLDER",
|
"name": "PicPeak '${DRONE_TAG}'",
|
||||||
"body": "# PicPeak DRONE_TAG_PLACEHOLDER\n\n## 🐳 Docker Images\n\nThis release includes Docker images published to GitHub Container Registry:\n\n```bash\n# Backend\ndocker pull ghcr.io/the-luap/picpeak-backend:DRONE_TAG_PLACEHOLDER\ndocker pull ghcr.io/the-luap/picpeak-backend:latest\n\n# Frontend\ndocker pull ghcr.io/the-luap/picpeak-frontend:DRONE_TAG_PLACEHOLDER\ndocker pull ghcr.io/the-luap/picpeak-frontend:latest\n```\n\n## 📦 What's New\n\nSee the [README](https://github.com/the-luap/picpeak#readme) for features and documentation.\n\n## 🚀 Quick Start\n\n```bash\n# Clone and deploy\ngit clone https://github.com/the-luap/picpeak.git\ncd picpeak\n\n# Use the tagged version\ndocker-compose -f docker-compose.prod.yml up -d\n```\n\n---\n\nFor detailed deployment instructions, see the [Deployment Guide](https://github.com/the-luap/picpeak/blob/main/DEPLOYMENT.md).",
|
"body": "# PicPeak '${DRONE_TAG}'\n\n## 🐳 Docker Images\n\nThis release includes Docker images published to GitHub Container Registry:\n\n```bash\n# Backend\ndocker pull ghcr.io/the-luap/picpeak-backend:'${DRONE_TAG}'\ndocker pull ghcr.io/the-luap/picpeak-backend:latest\n\n# Frontend\ndocker pull ghcr.io/the-luap/picpeak-frontend:'${DRONE_TAG}'\ndocker pull ghcr.io/the-luap/picpeak-frontend:latest\n```\n\n## 📦 What'"'"'s New\n\nSee the [README](https://github.com/the-luap/picpeak#readme) for features and documentation.\n\n## 🚀 Quick Start\n\n```bash\n# Clone and deploy\ngit clone https://github.com/the-luap/picpeak.git\ncd picpeak\n\n# Use the tagged version\ndocker-compose -f docker-compose.prod.yml up -d\n```\n\n---\n\nFor detailed deployment instructions, see the [Deployment Guide](https://github.com/the-luap/picpeak/blob/main/DEPLOYMENT.md).",
|
||||||
"draft": false,
|
"draft": false,
|
||||||
"prerelease": false
|
"prerelease": false
|
||||||
}
|
}' > /tmp/release.json
|
||||||
RELEASE_EOF
|
- >
|
||||||
|
curl -X POST
|
||||||
# Replace placeholders with actual tag
|
-H "Accept: application/vnd.github+json"
|
||||||
sed -i "s/DRONE_TAG_PLACEHOLDER/${DRONE_TAG}/g" /tmp/release.json
|
-H "Authorization: Bearer ${GITHUB_TOKEN}"
|
||||||
|
-H "X-GitHub-Api-Version: 2022-11-28"
|
||||||
# Create the release on GitHub
|
https://api.github.com/repos/the-luap/picpeak/releases
|
||||||
curl -X POST \
|
-d @/tmp/release.json
|
||||||
-H "Accept: application/vnd.github+json" \
|
|
||||||
-H "Authorization: Bearer ${GITHUB_TOKEN}" \
|
|
||||||
-H "X-GitHub-Api-Version: 2022-11-28" \
|
|
||||||
https://api.github.com/repos/the-luap/picpeak/releases \
|
|
||||||
-d @/tmp/release.json
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
event:
|
event:
|
||||||
|
|||||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "picpeak-frontend",
|
"name": "picpeak-frontend",
|
||||||
"version": "1.0.85",
|
"version": "1.0.86",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "picpeak-frontend",
|
"name": "picpeak-frontend",
|
||||||
"version": "1.0.85",
|
"version": "1.0.86",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tanstack/react-query": "^5.0.0",
|
"@tanstack/react-query": "^5.0.0",
|
||||||
"@tiptap/extension-character-count": "^2.26.1",
|
"@tiptap/extension-character-count": "^2.26.1",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "picpeak-frontend",
|
"name": "picpeak-frontend",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.0.85",
|
"version": "1.0.86",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import React, { useState } from 'react';
|
import React, { useState } from 'react';
|
||||||
|
import { useTranslation } from 'react-i18next';
|
||||||
import {
|
import {
|
||||||
Download,
|
Download,
|
||||||
Eye,
|
Eye,
|
||||||
@@ -41,6 +42,7 @@ const formatBytes = (bytes) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const BackupHistory = () => {
|
export const BackupHistory = () => {
|
||||||
|
const { t } = useTranslation();
|
||||||
const [expandedRows, setExpandedRows] = useState(new Set());
|
const [expandedRows, setExpandedRows] = useState(new Set());
|
||||||
const [searchTerm, setSearchTerm] = useState('');
|
const [searchTerm, setSearchTerm] = useState('');
|
||||||
const [filterStatus, setFilterStatus] = useState('all');
|
const [filterStatus, setFilterStatus] = useState('all');
|
||||||
|
|||||||
@@ -959,8 +959,9 @@
|
|||||||
"active": "Aktiv",
|
"active": "Aktiv",
|
||||||
"inactive": "Inaktiv"
|
"inactive": "Inaktiv"
|
||||||
},
|
},
|
||||||
"recentActivity": "Letzte Backup-Aktivitäten",
|
"recentActivity": {
|
||||||
"backupCoverage": "Backup-Abdeckung",
|
"title": "Letzte Backup-Aktivitäten"
|
||||||
|
},
|
||||||
"notConfigured": {
|
"notConfigured": {
|
||||||
"title": "Backup nicht konfiguriert",
|
"title": "Backup nicht konfiguriert",
|
||||||
"message": "Bitte konfigurieren Sie die Backup-Einstellungen im Konfiguration-Tab, bevor Sie Backups ausführen."
|
"message": "Bitte konfigurieren Sie die Backup-Einstellungen im Konfiguration-Tab, bevor Sie Backups ausführen."
|
||||||
@@ -1027,6 +1028,12 @@
|
|||||||
"weekly": "Wöchentlich",
|
"weekly": "Wöchentlich",
|
||||||
"custom": "Benutzerdefinierter Cron-Ausdruck"
|
"custom": "Benutzerdefinierter Cron-Ausdruck"
|
||||||
},
|
},
|
||||||
|
"options": {
|
||||||
|
"hourly": "Jede Stunde",
|
||||||
|
"daily": "Täglich",
|
||||||
|
"weekly": "Wöchentlich",
|
||||||
|
"custom": "Benutzerdefinierter Cron-Ausdruck"
|
||||||
|
},
|
||||||
"customCron": "Cron-Ausdruck",
|
"customCron": "Cron-Ausdruck",
|
||||||
"customCronHelp": "Geben Sie einen gültigen Cron-Ausdruck ein (z.B. 0 3 * * *)",
|
"customCronHelp": "Geben Sie einen gültigen Cron-Ausdruck ein (z.B. 0 3 * * *)",
|
||||||
"retention": "Aufbewahrungszeitraum",
|
"retention": "Aufbewahrungszeitraum",
|
||||||
@@ -1063,6 +1070,11 @@
|
|||||||
"connectionTestFailed": "Verbindungstest fehlgeschlagen",
|
"connectionTestFailed": "Verbindungstest fehlgeschlagen",
|
||||||
"connectionTestSuccess": "Verbindungstest erfolgreich!"
|
"connectionTestSuccess": "Verbindungstest erfolgreich!"
|
||||||
},
|
},
|
||||||
|
"messages": {
|
||||||
|
"requiredFields": "Bitte füllen Sie alle erforderlichen Felder aus",
|
||||||
|
"connectionSuccess": "Verbindungstest erfolgreich!",
|
||||||
|
"connectionFailed": "Verbindungstest fehlgeschlagen"
|
||||||
|
},
|
||||||
"testingConnection": "Teste Verbindung...",
|
"testingConnection": "Teste Verbindung...",
|
||||||
"saveSettings": "Konfiguration speichern",
|
"saveSettings": "Konfiguration speichern",
|
||||||
"savingSettings": "Speichern..."
|
"savingSettings": "Speichern..."
|
||||||
|
|||||||
@@ -990,12 +990,15 @@
|
|||||||
"warning": "Warning",
|
"warning": "Warning",
|
||||||
"critical": "Critical"
|
"critical": "Critical"
|
||||||
},
|
},
|
||||||
|
"health": {
|
||||||
|
"title": "Backup Health"
|
||||||
|
},
|
||||||
"healthMessages": {
|
"healthMessages": {
|
||||||
"noBackups": "No backups found",
|
"noBackups": "No backups found",
|
||||||
"failed": "Last backup failed",
|
"lastBackupFailed": "Last backup failed",
|
||||||
"upToDate": "Backup is up to date",
|
"upToDate": "Backup is up to date",
|
||||||
"recent": "Backup is recent",
|
"recent": "Backup is recent",
|
||||||
"old": "Backup is getting old",
|
"gettingOld": "Backup is getting old",
|
||||||
"outdated": "Backup is outdated"
|
"outdated": "Backup is outdated"
|
||||||
},
|
},
|
||||||
"stats": {
|
"stats": {
|
||||||
@@ -1007,15 +1010,18 @@
|
|||||||
"files": "files",
|
"files": "files",
|
||||||
"minutes": "{{count}}m",
|
"minutes": "{{count}}m",
|
||||||
"active": "Active",
|
"active": "Active",
|
||||||
"inactive": "Inactive"
|
"inactive": "Inactive",
|
||||||
|
"noBackupsYet": "No backups yet"
|
||||||
|
},
|
||||||
|
"recentActivity": {
|
||||||
|
"title": "Recent Backup Activity"
|
||||||
},
|
},
|
||||||
"recentActivity": "Recent Backup Activity",
|
|
||||||
"backupCoverage": "Backup Coverage",
|
|
||||||
"notConfigured": {
|
"notConfigured": {
|
||||||
"title": "Backup Not Configured",
|
"title": "Backup Not Configured",
|
||||||
"message": "Please configure backup settings in the Configuration tab before running backups."
|
"message": "Please configure backup settings in the Configuration tab before running backups."
|
||||||
},
|
},
|
||||||
"coverage": {
|
"coverage": {
|
||||||
|
"title": "Backup Coverage",
|
||||||
"database": "Database",
|
"database": "Database",
|
||||||
"photos": "Photos",
|
"photos": "Photos",
|
||||||
"archives": "Archives",
|
"archives": "Archives",
|
||||||
@@ -1027,10 +1033,11 @@
|
|||||||
"storageDestination": "Storage Destination",
|
"storageDestination": "Storage Destination",
|
||||||
"nextScheduledBackup": "Next Scheduled Backup",
|
"nextScheduledBackup": "Next Scheduled Backup",
|
||||||
"backupType": "{{type}} backup",
|
"backupType": "{{type}} backup",
|
||||||
"noBackupsYet": "No backups yet"
|
"noDestinationSet": "No destination set"
|
||||||
},
|
},
|
||||||
"configuration": {
|
"configuration": {
|
||||||
"enableBackup": "Enable Automated Backups",
|
"enableBackup": "Enable Automated Backups",
|
||||||
|
"enableBackupHelp": "Automatically create backups according to the configured schedule",
|
||||||
"destinationType": "Backup Destination",
|
"destinationType": "Backup Destination",
|
||||||
"destinationTypes": {
|
"destinationTypes": {
|
||||||
"local": {
|
"local": {
|
||||||
@@ -1077,6 +1084,12 @@
|
|||||||
"weekly": "Weekly",
|
"weekly": "Weekly",
|
||||||
"custom": "Custom cron expression"
|
"custom": "Custom cron expression"
|
||||||
},
|
},
|
||||||
|
"options": {
|
||||||
|
"hourly": "Every hour",
|
||||||
|
"daily": "Daily",
|
||||||
|
"weekly": "Weekly",
|
||||||
|
"custom": "Custom cron expression"
|
||||||
|
},
|
||||||
"customCron": "Cron Expression",
|
"customCron": "Cron Expression",
|
||||||
"customCronHelp": "Enter a valid cron expression (e.g., 0 3 * * *)",
|
"customCronHelp": "Enter a valid cron expression (e.g., 0 3 * * *)",
|
||||||
"retention": "Retention Period",
|
"retention": "Retention Period",
|
||||||
@@ -1113,6 +1126,11 @@
|
|||||||
"connectionTestFailed": "Connection test failed",
|
"connectionTestFailed": "Connection test failed",
|
||||||
"connectionTestSuccess": "Connection test successful!"
|
"connectionTestSuccess": "Connection test successful!"
|
||||||
},
|
},
|
||||||
|
"messages": {
|
||||||
|
"requiredFields": "Please fill in all required fields",
|
||||||
|
"connectionSuccess": "Connection test successful!",
|
||||||
|
"connectionFailed": "Connection test failed"
|
||||||
|
},
|
||||||
"testingConnection": "Testing connection...",
|
"testingConnection": "Testing connection...",
|
||||||
"saveSettings": "Save Configuration",
|
"saveSettings": "Save Configuration",
|
||||||
"savingSettings": "Saving..."
|
"savingSettings": "Saving..."
|
||||||
|
|||||||
Reference in New Issue
Block a user