From 0205c7dcce2de383ca9fcec77e69f7a926ac003d Mon Sep 17 00:00:00 2001 From: Paul Nothaft Date: Mon, 29 Jun 2026 20:20:13 +0200 Subject: [PATCH] chore: migrate Docker registry + GitHub URLs to PicPeak org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Repo transferred from the-luap/picpeak → PicPeak/picpeak. Docker images publish to ghcr.io/picpeak/picpeak/{backend,frontend} (lowercase, per the GHCR canonical form computed by docker-build.yml's `${GITHUB_REPOSITORY,,}`). Sweep covers: - docker-compose.production.yml + Dockerfiles → new image registry path - README, CONTRIBUTING, SECURITY, SIMPLE_SETUP, scripts/picpeak-setup.sh → new GitHub URLs - Update-check / release-notes services (updateCheckService, environmentService, updateNotificationService, adminSystem, UpdateNotification, githubReleaseUrl) → GitHub API + tag URLs use the canonical PicPeak/picpeak path - Issue templates + README-DOCKER + workflow README → updated package URLs - One commit-context comment in migrations/090 + customerAccountsService CHANGELOG.md is intentionally untouched (historical release entries are immutable; GitHub auto-redirects the old URLs indefinitely). CLAUDE.md keeps the bare `(the-luap)` reference — that's the maintainer's personal handle, not a repo URL. 22 files, 48/48 line swaps (every change is a 1:1 URL replacement). --- .github/ISSUE_TEMPLATE/config.yml | 6 +++--- .../ISSUE_TEMPLATE/security_vulnerability.md | 2 +- .github/workflows/README-DOCKER.md | 18 +++++++++--------- CODE_OF_CONDUCT.md | 2 +- CONTRIBUTING.md | 10 +++++----- README.md | 8 ++++---- SECURITY.md | 6 +++--- SIMPLE_SETUP.md | 6 +++--- backend/Dockerfile | 2 +- ...updateCheckService.getReleasesSince.test.js | 4 ++-- .../core/090_add_customer_accounts.js | 2 +- backend/src/routes/adminSystem.js | 2 +- .../src/services/customerAccountsService.js | 2 +- backend/src/services/environmentService.js | 2 +- backend/src/services/updateCheckService.js | 2 +- .../src/services/updateNotificationService.js | 2 +- docker-compose.production.yml | 4 ++-- frontend/Dockerfile | 2 +- .../components/admin/UpdateNotification.tsx | 2 +- .../utils/__tests__/githubReleaseUrl.test.ts | 4 ++-- frontend/src/utils/githubReleaseUrl.ts | 2 +- scripts/picpeak-setup.sh | 6 +++--- 22 files changed, 48 insertions(+), 48 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index ed0a0f18..568d1a50 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,11 +1,11 @@ blank_issues_enabled: false contact_links: - name: 📚 Documentation - url: https://github.com/the-luap/picpeak/blob/main/DEPLOYMENT.md + url: https://github.com/PicPeak/picpeak/blob/main/DEPLOYMENT.md about: Please read the documentation before opening an issue - name: 💬 Discussions - url: https://github.com/the-luap/picpeak/discussions + url: https://github.com/PicPeak/picpeak/discussions about: Ask questions and discuss with the community - name: 🔒 Security Issues - url: https://github.com/the-luap/picpeak/blob/main/SECURITY.md + url: https://github.com/PicPeak/picpeak/blob/main/SECURITY.md about: Please review our security policy for reporting vulnerabilities \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/security_vulnerability.md b/.github/ISSUE_TEMPLATE/security_vulnerability.md index 8ca805e6..56ee3800 100644 --- a/.github/ISSUE_TEMPLATE/security_vulnerability.md +++ b/.github/ISSUE_TEMPLATE/security_vulnerability.md @@ -9,7 +9,7 @@ assignees: '' ⚠️ **IMPORTANT: For serious security vulnerabilities, please DO NOT create a public issue.** -Instead, please use [GitHub Private Vulnerability Reporting](https://github.com/the-luap/picpeak/security/advisories/new) or email **info@picpeak.app** with the details. +Instead, please use [GitHub Private Vulnerability Reporting](https://github.com/PicPeak/picpeak/security/advisories/new) or email **info@picpeak.app** with the details. For minor security improvements or questions, you can use this template: diff --git a/.github/workflows/README-DOCKER.md b/.github/workflows/README-DOCKER.md index d06791c1..c04f9a8c 100644 --- a/.github/workflows/README-DOCKER.md +++ b/.github/workflows/README-DOCKER.md @@ -42,16 +42,16 @@ Once published, images can be pulled using: ```bash # Pull backend image -docker pull ghcr.io/the-luap/picpeak/backend:latest +docker pull ghcr.io/picpeak/picpeak/backend:latest # Pull frontend image -docker pull ghcr.io/the-luap/picpeak/frontend:latest +docker pull ghcr.io/picpeak/picpeak/frontend:latest # Pull specific version -docker pull ghcr.io/the-luap/picpeak/backend:v1.0.0 +docker pull ghcr.io/picpeak/picpeak/backend:v1.0.0 # Pull for specific architecture -docker pull --platform linux/arm64 ghcr.io/the-luap/picpeak/backend:latest +docker pull --platform linux/arm64 ghcr.io/picpeak/picpeak/backend:latest ``` ### Using in Docker Compose @@ -61,14 +61,14 @@ version: '3.8' services: backend: - image: ghcr.io/the-luap/picpeak/backend:latest + image: ghcr.io/picpeak/picpeak/backend:latest environment: - NODE_ENV=production ports: - "3001:3000" frontend: - image: ghcr.io/the-luap/picpeak/frontend:latest + image: ghcr.io/picpeak/picpeak/frontend:latest ports: - "80:80" ``` @@ -86,7 +86,7 @@ spec: spec: containers: - name: backend - image: ghcr.io/the-luap/picpeak/backend:latest + image: ghcr.io/picpeak/picpeak/backend:latest imagePullPolicy: Always ``` @@ -149,8 +149,8 @@ If images aren't visible after successful push: ### View Packages Your Docker images are available at: -- Backend: `https://github.com/users/the-luap/packages/container/package/picpeak%2Fbackend` -- Frontend: `https://github.com/users/the-luap/packages/container/package/picpeak%2Ffrontend` +- Backend: `https://github.com/orgs/PicPeak/packages/container/package/picpeak%2Fbackend` +- Frontend: `https://github.com/orgs/PicPeak/packages/container/package/picpeak%2Ffrontend` ### Delete Old Versions diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 14432042..c25875dc 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -20,7 +20,7 @@ We are committed to providing a welcoming and inspiring community for all photog ## Enforcement -Instances of unacceptable behavior may be reported by [opening an issue](https://github.com/the-luap/picpeak/issues/new?labels=conduct) on GitHub. All complaints will be reviewed and investigated promptly and fairly. +Instances of unacceptable behavior may be reported by [opening an issue](https://github.com/PicPeak/picpeak/issues/new?labels=conduct) on GitHub. All complaints will be reviewed and investigated promptly and fairly. ## Attribution diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4218cc93..757f85c6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -33,8 +33,8 @@ Enhancement suggestions are tracked as GitHub issues. When creating an enhanceme Unsure where to begin? You can start by looking through these issues: -* [Good first issues](https://github.com/the-luap/picpeak/labels/good%20first%20issue) - issues which should only require a few lines of code -* [Help wanted issues](https://github.com/the-luap/picpeak/labels/help%20wanted) - issues which need extra attention +* [Good first issues](https://github.com/PicPeak/picpeak/labels/good%20first%20issue) - issues which should only require a few lines of code +* [Help wanted issues](https://github.com/PicPeak/picpeak/labels/help%20wanted) - issues which need extra attention ### Pull Requests @@ -161,8 +161,8 @@ See [RELEASING.md](RELEASING.md) for the full operational doc (promotion criteri ## 📮 Contact -- Create an [issue](https://github.com/the-luap/picpeak/issues) for bugs or features -- Join [discussions](https://github.com/the-luap/picpeak/discussions) for questions -- Security issues: Open a [security issue](https://github.com/the-luap/picpeak/issues/new?labels=security) on GitHub +- Create an [issue](https://github.com/PicPeak/picpeak/issues) for bugs or features +- Join [discussions](https://github.com/PicPeak/picpeak/discussions) for questions +- Security issues: Open a [security issue](https://github.com/PicPeak/picpeak/issues/new?labels=security) on GitHub Thank you for contributing! 🎉 \ No newline at end of file diff --git a/README.md b/README.md index 457bc462..f30a39e9 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ Get PicPeak running in under 5 minutes: ```bash # Clone the repository -git clone https://github.com/the-luap/picpeak.git +git clone https://github.com/PicPeak/picpeak.git cd picpeak # Copy environment template @@ -392,7 +392,7 @@ PicPeak takes security seriously: - 📝 Activity logging - 🔒 Secure file access -Found a security issue? Please open a [security issue](https://github.com/the-luap/picpeak/issues/new?labels=security) on GitHub +Found a security issue? Please open a [security issue](https://github.com/PicPeak/picpeak/issues/new?labels=security) on GitHub ## 📸 Screenshots @@ -537,7 +537,7 @@ PicPeak is released under the [MIT License](LICENSE). Use it freely for personal
HomepageLive Demo • - GitHub • + GitHubDocumentation • - Support + Support

diff --git a/SECURITY.md b/SECURITY.md index d663cb7f..487527fa 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -16,7 +16,7 @@ We take the security of PicPeak seriously. If you have discovered a security vul ### 1. **Do NOT create a public GitHub issue** ### 2. Report the vulnerability privately by: -- **Preferred:** Use [GitHub Private Vulnerability Reporting](https://github.com/the-luap/picpeak/security/advisories/new) +- **Preferred:** Use [GitHub Private Vulnerability Reporting](https://github.com/PicPeak/picpeak/security/advisories/new) - **Alternative:** Email us at **info@picpeak.app** with the details - Include: - Description of the vulnerability @@ -82,7 +82,7 @@ We believe in responsible disclosure. Once a vulnerability is fixed: ## Contact -- Security issues: Email **info@picpeak.app** or use [GitHub Private Vulnerability Reporting](https://github.com/the-luap/picpeak/security/advisories/new) -- General support: [GitHub Issues](https://github.com/the-luap/picpeak/issues) +- Security issues: Email **info@picpeak.app** or use [GitHub Private Vulnerability Reporting](https://github.com/PicPeak/picpeak/security/advisories/new) +- General support: [GitHub Issues](https://github.com/PicPeak/picpeak/issues) Thank you for helping keep PicPeak and its users safe! \ No newline at end of file diff --git a/SIMPLE_SETUP.md b/SIMPLE_SETUP.md index 498535ee..c5b1c813 100644 --- a/SIMPLE_SETUP.md +++ b/SIMPLE_SETUP.md @@ -8,7 +8,7 @@ This guide provides easy installation instructions for PicPeak on Linux servers ```bash # Download and run the unified setup script -curl -fsSL https://raw.githubusercontent.com/the-luap/picpeak/main/scripts/picpeak-setup.sh -o picpeak-setup.sh && \ +curl -fsSL https://raw.githubusercontent.com/PicPeak/picpeak/main/scripts/picpeak-setup.sh -o picpeak-setup.sh && \ chmod +x picpeak-setup.sh && \ sudo ./picpeak-setup.sh ``` @@ -472,7 +472,7 @@ sudo -u picpeak node scripts/reset-admin-password.js - [Deployment Guide](https://docs.picpeak.app/deployment) 3. **Support:** - - [GitHub Issues](https://github.com/the-luap/picpeak/issues) + - [GitHub Issues](https://github.com/PicPeak/picpeak/issues) - Include: Error messages, system info (`uname -a`), installation method ## 🔒 Security Best Practices @@ -550,4 +550,4 @@ sudo ./picpeak-setup.sh --native \ --- -**PicPeak Setup v1.0** | [Documentation](https://github.com/the-luap/picpeak) | [Support](https://github.com/the-luap/picpeak/issues) +**PicPeak Setup v1.0** | [Documentation](https://github.com/PicPeak/picpeak) | [Support](https://github.com/PicPeak/picpeak/issues) diff --git a/backend/Dockerfile b/backend/Dockerfile index 1042a217..ff17eeab 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -7,7 +7,7 @@ ARG VCS_REF ARG VERSION # Add labels for GitHub Container Registry -LABEL org.opencontainers.image.source="https://github.com/the-luap/picpeak" +LABEL org.opencontainers.image.source="https://github.com/PicPeak/picpeak" LABEL org.opencontainers.image.description="PicPeak Backend Service" LABEL org.opencontainers.image.licenses="MIT" diff --git a/backend/__tests__/services/updateCheckService.getReleasesSince.test.js b/backend/__tests__/services/updateCheckService.getReleasesSince.test.js index 3c43f016..32fb2de6 100644 --- a/backend/__tests__/services/updateCheckService.getReleasesSince.test.js +++ b/backend/__tests__/services/updateCheckService.getReleasesSince.test.js @@ -27,7 +27,7 @@ function release(tag, body = '', publishedAt = '2026-01-01T00:00:00Z') { name: tag, body, published_at: publishedAt, - html_url: `https://github.com/the-luap/picpeak/releases/tag/${tag}`, + html_url: `https://github.com/PicPeak/picpeak/releases/tag/${tag}`, }; } @@ -58,7 +58,7 @@ describe('updateCheckService.getReleasesSince', () => { tag: 'v3.55.0', name: 'v3.55.0', body: 'stable notes 3.55.0', - htmlUrl: 'https://github.com/the-luap/picpeak/releases/tag/v3.55.0', + htmlUrl: 'https://github.com/PicPeak/picpeak/releases/tag/v3.55.0', }); }); diff --git a/backend/migrations/core/090_add_customer_accounts.js b/backend/migrations/core/090_add_customer_accounts.js index 7fa5e3e8..c572f9d6 100644 --- a/backend/migrations/core/090_add_customer_accounts.js +++ b/backend/migrations/core/090_add_customer_accounts.js @@ -1,7 +1,7 @@ /** * Migration: Add Customer Accounts (recurring user logins) * - * Implements the customer tier from discussion the-luap/picpeak#354. + * Implements the customer tier from discussion PicPeak/picpeak#354. * * Three new tables: * - customer_accounts : the user record (email + bcrypt password) diff --git a/backend/src/routes/adminSystem.js b/backend/src/routes/adminSystem.js index 672542eb..aeb6fb1f 100644 --- a/backend/src/routes/adminSystem.js +++ b/backend/src/routes/adminSystem.js @@ -131,7 +131,7 @@ router.get('/updates/instructions', adminAuth, requirePermission('settings.view' channel: updateInfo.channel, environment: env, instructions, - releaseNotesUrl: `https://github.com/the-luap/picpeak/releases/tag/v${updateInfo.latest.forChannel}` + releaseNotesUrl: `https://github.com/PicPeak/picpeak/releases/tag/v${updateInfo.latest.forChannel}` }); } catch (error) { logger.error('Error generating update instructions:', error); diff --git a/backend/src/services/customerAccountsService.js b/backend/src/services/customerAccountsService.js index 2dd76b38..ea8eab6f 100644 --- a/backend/src/services/customerAccountsService.js +++ b/backend/src/services/customerAccountsService.js @@ -2,7 +2,7 @@ * Customer Accounts Service * * Recurring user logins (the third user tier alongside admin and guest). - * See discussion the-luap/picpeak#354 and migration 087 for context. + * See discussion PicPeak/picpeak#354 and migration 087 for context. * * Mirrors userManagementService.js for invitation lifecycle but operates * on customer_accounts / customer_invitations / event_customer_assignments diff --git a/backend/src/services/environmentService.js b/backend/src/services/environmentService.js index 1d7fbd99..9e864ada 100644 --- a/backend/src/services/environmentService.js +++ b/backend/src/services/environmentService.js @@ -154,7 +154,7 @@ function generateUpdateInstructions(env, targetVersion) { { description: 'Download release archive', command: `# Download v${targetVersion} from GitHub Releases`, - note: `https://github.com/the-luap/picpeak/releases/tag/v${targetVersion}` + note: `https://github.com/PicPeak/picpeak/releases/tag/v${targetVersion}` }, { description: 'Backup current installation', diff --git a/backend/src/services/updateCheckService.js b/backend/src/services/updateCheckService.js index 7228f92e..4fc7936f 100644 --- a/backend/src/services/updateCheckService.js +++ b/backend/src/services/updateCheckService.js @@ -94,7 +94,7 @@ async function fetchAvailableVersions() { try { // Use GitHub Releases API (public, no auth required) const response = await axios.get( - 'https://api.github.com/repos/the-luap/picpeak/releases', + 'https://api.github.com/repos/PicPeak/picpeak/releases', { headers: { 'Accept': 'application/vnd.github+json', diff --git a/backend/src/services/updateNotificationService.js b/backend/src/services/updateNotificationService.js index 81422107..21c07a5b 100644 --- a/backend/src/services/updateNotificationService.js +++ b/backend/src/services/updateNotificationService.js @@ -129,7 +129,7 @@ async function checkAndNotifyUpdates() { // Send email to each recipient const frontendUrl = process.env.FRONTEND_URL || 'http://localhost:3000'; - const releaseNotesUrl = `https://github.com/the-luap/picpeak/releases/tag/v${newVersion}`; + const releaseNotesUrl = `https://github.com/PicPeak/picpeak/releases/tag/v${newVersion}`; const channelLabel = updateInfo.channel === 'beta' ? 'Beta' : 'Stable'; let successCount = 0; diff --git a/docker-compose.production.yml b/docker-compose.production.yml index 77dbff71..38718c3b 100644 --- a/docker-compose.production.yml +++ b/docker-compose.production.yml @@ -45,7 +45,7 @@ services: backend: # Use pre-built image from GitHub Container Registry # PICPEAK_CHANNEL: 'stable' (default), 'beta', or specific version like 'v2.3.0' - image: ghcr.io/the-luap/picpeak/backend:${PICPEAK_CHANNEL:-stable} + image: ghcr.io/picpeak/picpeak/backend:${PICPEAK_CHANNEL:-stable} container_name: picpeak-backend env_file: .env environment: @@ -93,7 +93,7 @@ services: frontend: # Use pre-built image from GitHub Container Registry # Uses same channel as backend for consistency - image: ghcr.io/the-luap/picpeak/frontend:${PICPEAK_CHANNEL:-stable} + image: ghcr.io/picpeak/picpeak/frontend:${PICPEAK_CHANNEL:-stable} container_name: picpeak-frontend # Note: Pre-built frontend uses Nginx to proxy /api to backend:3001. # Prefer keeping API base as '/api' in builds to avoid CORS. diff --git a/frontend/Dockerfile b/frontend/Dockerfile index ceb52977..450479af 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -8,7 +8,7 @@ ARG VCS_REF ARG VERSION # Add labels for GitHub Container Registry -LABEL org.opencontainers.image.source="https://github.com/the-luap/picpeak" +LABEL org.opencontainers.image.source="https://github.com/PicPeak/picpeak" LABEL org.opencontainers.image.description="PicPeak Frontend Application" LABEL org.opencontainers.image.licenses="MIT" diff --git a/frontend/src/components/admin/UpdateNotification.tsx b/frontend/src/components/admin/UpdateNotification.tsx index 0a8d2382..45c8c9b2 100644 --- a/frontend/src/components/admin/UpdateNotification.tsx +++ b/frontend/src/components/admin/UpdateNotification.tsx @@ -90,7 +90,7 @@ export const UpdateNotification: React.FC = ({ onDismis {t('admin.updates.updateNow', 'Update Now')} { it('maps a stable version to its tag page', () => { expect(githubReleaseUrl('3.55.0')).toBe( - 'https://github.com/the-luap/picpeak/releases/tag/v3.55.0', + 'https://github.com/PicPeak/picpeak/releases/tag/v3.55.0', ); }); it('maps a beta version (with channel suffix) to its tag page', () => { expect(githubReleaseUrl('3.55.0-beta.0')).toBe( - 'https://github.com/the-luap/picpeak/releases/tag/v3.55.0-beta.0', + 'https://github.com/PicPeak/picpeak/releases/tag/v3.55.0-beta.0', ); }); diff --git a/frontend/src/utils/githubReleaseUrl.ts b/frontend/src/utils/githubReleaseUrl.ts index adaf6180..8cfae542 100644 --- a/frontend/src/utils/githubReleaseUrl.ts +++ b/frontend/src/utils/githubReleaseUrl.ts @@ -11,4 +11,4 @@ * indicator to link to the upgrade target's notes. */ export const githubReleaseUrl = (version: string): string => - `https://github.com/the-luap/picpeak/releases/tag/v${version}`; + `https://github.com/PicPeak/picpeak/releases/tag/v${version}`; diff --git a/scripts/picpeak-setup.sh b/scripts/picpeak-setup.sh index 215643d2..7cb0bb21 100755 --- a/scripts/picpeak-setup.sh +++ b/scripts/picpeak-setup.sh @@ -13,7 +13,7 @@ IFS=$'\n\t' # Script configuration readonly SCRIPT_VERSION="2.1.0" readonly APP_NAME="PicPeak" -readonly REPO_URL="https://github.com/the-luap/picpeak.git" +readonly REPO_URL="https://github.com/PicPeak/picpeak.git" readonly NODE_VERSION="20" readonly MIN_RAM_DOCKER=2048 readonly MIN_RAM_NATIVE=1024 @@ -1157,8 +1157,8 @@ print_success_message() { echo echo "📚 Documentation:" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" - echo "Setup Guide: https://github.com/the-luap/picpeak/blob/main/SIMPLE_SETUP.md" - echo "Full Docs: https://github.com/the-luap/picpeak" + echo "Setup Guide: https://github.com/PicPeak/picpeak/blob/main/SIMPLE_SETUP.md" + echo "Full Docs: https://github.com/PicPeak/picpeak" echo echo -e "${GREEN}✨ Setup complete! Visit the admin panel to start creating galleries.${NC}" }