mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-19 05:26:47 +00:00
chore: update repo url
This commit is contained in:
@@ -9,7 +9,7 @@ permissions:
|
||||
|
||||
jobs:
|
||||
close-stale:
|
||||
if: github.repository == 'iiketrek/TREK'
|
||||
if: github.repository == 'liketrek/TREK'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Close stale invalid-title issues
|
||||
|
||||
@@ -10,7 +10,7 @@ permissions:
|
||||
|
||||
jobs:
|
||||
close-stale:
|
||||
if: github.repository == 'iiketrek/TREK'
|
||||
if: github.repository == 'liketrek/TREK'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Close stale wrong-base-branch PRs
|
||||
|
||||
@@ -9,7 +9,7 @@ permissions:
|
||||
|
||||
jobs:
|
||||
check-title:
|
||||
if: github.repository == 'iiketrek/TREK'
|
||||
if: github.repository == 'liketrek/TREK'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Flag or redirect issue
|
||||
|
||||
@@ -18,7 +18,7 @@ concurrency:
|
||||
|
||||
jobs:
|
||||
version-bump:
|
||||
if: github.repository == 'iiketrek/TREK'
|
||||
if: github.repository == 'liketrek/TREK'
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
version: ${{ steps.bump.outputs.VERSION }}
|
||||
@@ -98,7 +98,7 @@ jobs:
|
||||
with:
|
||||
context: .
|
||||
platforms: ${{ matrix.platform }}
|
||||
outputs: type=image,name=iiketrek/TREK,push-by-digest=true,name-canonical=true,push=true
|
||||
outputs: type=image,name=mauriceboe/TREK,push-by-digest=true,name-canonical=true,push=true
|
||||
no-cache: true
|
||||
build-args: |
|
||||
APP_VERSION=${{ needs.version-bump.outputs.version }}
|
||||
@@ -145,16 +145,16 @@ jobs:
|
||||
working-directory: /tmp/digests
|
||||
run: |
|
||||
VERSION="${{ needs.version-bump.outputs.version }}"
|
||||
mapfile -t digests < <(printf 'iiketrek/TREK@sha256:%s\n' *)
|
||||
mapfile -t digests < <(printf 'mauriceboe/TREK@sha256:%s\n' *)
|
||||
MAJOR_TAG="$(echo "$VERSION" | cut -d. -f1)-pre"
|
||||
docker buildx imagetools create \
|
||||
-t "iiketrek/TREK:latest-pre" \
|
||||
-t "iiketrek/TREK:$MAJOR_TAG" \
|
||||
-t "iiketrek/TREK:$VERSION" \
|
||||
-t "mauriceboe/TREK:latest-pre" \
|
||||
-t "mauriceboe/TREK:$MAJOR_TAG" \
|
||||
-t "mauriceboe/TREK:$VERSION" \
|
||||
"${digests[@]}"
|
||||
|
||||
- name: Inspect manifest
|
||||
run: docker buildx imagetools inspect iiketrek/TREK:latest-pre
|
||||
run: docker buildx imagetools inspect mauriceboe/TREK:latest-pre
|
||||
|
||||
- name: Push git tag
|
||||
run: |
|
||||
|
||||
@@ -33,7 +33,7 @@ concurrency:
|
||||
|
||||
jobs:
|
||||
version-bump:
|
||||
if: github.repository == 'iiketrek/TREK'
|
||||
if: github.repository == 'liketrek/TREK'
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
version: ${{ steps.bump.outputs.VERSION }}
|
||||
@@ -149,7 +149,7 @@ jobs:
|
||||
with:
|
||||
context: .
|
||||
platforms: ${{ matrix.platform }}
|
||||
outputs: type=image,name=iiketrek/TREK,push-by-digest=true,name-canonical=true,push=true
|
||||
outputs: type=image,name=mauriceboe/TREK,push-by-digest=true,name-canonical=true,push=true
|
||||
no-cache: true
|
||||
build-args: |
|
||||
APP_VERSION=${{ needs.version-bump.outputs.version }}
|
||||
@@ -194,16 +194,16 @@ jobs:
|
||||
working-directory: /tmp/digests
|
||||
run: |
|
||||
VERSION="${{ needs.version-bump.outputs.version }}"
|
||||
mapfile -t digests < <(printf 'iiketrek/TREK@sha256:%s\n' *)
|
||||
mapfile -t digests < <(printf 'mauriceboe/TREK@sha256:%s\n' *)
|
||||
MAJOR_TAG="$(echo "$VERSION" | cut -d. -f1)"
|
||||
docker buildx imagetools create \
|
||||
-t "iiketrek/TREK:latest" \
|
||||
-t "iiketrek/TREK:$MAJOR_TAG" \
|
||||
-t "iiketrek/TREK:$VERSION" \
|
||||
-t "mauriceboe/TREK:latest" \
|
||||
-t "mauriceboe/TREK:$MAJOR_TAG" \
|
||||
-t "mauriceboe/TREK:$VERSION" \
|
||||
"${digests[@]}"
|
||||
|
||||
- name: Inspect manifest
|
||||
run: docker buildx imagetools inspect iiketrek/TREK:latest
|
||||
run: docker buildx imagetools inspect mauriceboe/TREK:latest
|
||||
|
||||
release-helm:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
@@ -6,7 +6,7 @@ on:
|
||||
|
||||
jobs:
|
||||
check-target:
|
||||
if: github.repository == 'iiketrek/TREK'
|
||||
if: github.repository == 'liketrek/TREK'
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
pull-requests: write
|
||||
|
||||
@@ -14,7 +14,7 @@ permissions:
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
if: github.repository == 'iiketrek/TREK'
|
||||
if: github.repository == 'liketrek/TREK'
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
|
||||
@@ -13,7 +13,7 @@ jobs:
|
||||
scout:
|
||||
# Docker Hub secrets are not exposed to pull requests from forks, so the
|
||||
# Scout login can never succeed there.
|
||||
if: github.repository == 'iiketrek/TREK' && github.event.pull_request.head.repo.fork != true
|
||||
if: github.repository == 'liketrek/TREK' && github.event.pull_request.head.repo.fork != true
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
@@ -17,7 +17,7 @@ concurrency:
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
if: github.repository == 'iiketrek/TREK'
|
||||
if: github.repository == 'liketrek/TREK'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
@@ -20,7 +20,7 @@ A self-hosted, real-time collaborative travel planner — with maps, budgets, pa
|
||||
|
||||
<a href="https://demo.liketrek.com"><img alt="Demo" src="https://img.shields.io/badge/Demo-try-111827?style=for-the-badge" /></a>
|
||||
|
||||
<a href="https://hub.docker.com/r/iiketrek/TREK"><img alt="Docker" src="https://img.shields.io/badge/Docker-ready-2496ED?style=for-the-badge" /></a>
|
||||
<a href="https://hub.docker.com/r/mauriceboe/TREK"><img alt="Docker" src="https://img.shields.io/badge/Docker-ready-2496ED?style=for-the-badge" /></a>
|
||||
|
||||
<a href="https://discord.gg/NhZBDSd4qW"><img alt="Discord" src="https://img.shields.io/badge/Discord-join-5865F2?style=for-the-badge" /></a>
|
||||
|
||||
@@ -31,9 +31,9 @@ A self-hosted, real-time collaborative travel planner — with maps, budgets, pa
|
||||
<a href="https://www.buymeacoffee.com/mauriceboe"><img alt="BMAC" src="https://img.shields.io/badge/BMAC-support-FFDD00?style=for-the-badge" /></a>
|
||||
<br />
|
||||
<a href="LICENSE"><img alt="License" src="https://img.shields.io/badge/license-AGPL_v3-6B7280?style=flat-square" /></a>
|
||||
<a href="https://github.com/liketrek/TREK/releases"><img alt="Latest Release" src="https://img.shields.io/github/v/release/iiketrek/TREK?include_prereleases&style=flat-square&color=6B7280" /></a>
|
||||
<a href="https://hub.docker.com/r/iiketrek/TREK"><img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/iiketrek/TREK?style=flat-square&color=6B7280" /></a>
|
||||
<a href="https://github.com/liketrek/TREK"><img alt="Stars" src="https://img.shields.io/github/stars/iiketrek/TREK?style=flat-square&color=6B7280" /></a>
|
||||
<a href="https://github.com/liketrek/TREK/releases"><img alt="Latest Release" src="https://img.shields.io/github/v/release/liketrek/TREK?include_prereleases&style=flat-square&color=6B7280" /></a>
|
||||
<a href="https://hub.docker.com/r/mauriceboe/TREK"><img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/mauriceboe/TREK?style=flat-square&color=6B7280" /></a>
|
||||
<a href="https://github.com/liketrek/TREK"><img alt="Stars" src="https://img.shields.io/github/stars/liketrek/TREK?style=flat-square&color=6B7280" /></a>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -176,7 +176,7 @@ A self-hosted, real-time collaborative travel planner — with maps, budgets, pa
|
||||
```bash
|
||||
ENCRYPTION_KEY=$(openssl rand -hex 32) docker run -d -p 3000:3000 \
|
||||
-e ENCRYPTION_KEY=$ENCRYPTION_KEY \
|
||||
-v ./data:/app/data -v ./uploads:/app/uploads iiketrek/TREK
|
||||
-v ./data:/app/data -v ./uploads:/app/uploads mauriceboe/TREK
|
||||
```
|
||||
|
||||
Open `http://localhost:3000`. On first boot TREK seeds an admin account — if you set `ADMIN_EMAIL`/`ADMIN_PASSWORD` those are used, otherwise the credentials are printed to the container log (`docker logs trek`).
|
||||
@@ -217,7 +217,7 @@ Real-time sync via WebSocket (`ws`). Backend on NestJS 11. State with Zustand. A
|
||||
```yaml
|
||||
services:
|
||||
app:
|
||||
image: iiketrek/TREK:latest
|
||||
image: mauriceboe/TREK:latest
|
||||
container_name: trek
|
||||
read_only: true
|
||||
security_opt:
|
||||
@@ -305,9 +305,9 @@ docker compose pull && docker compose up -d
|
||||
**Docker run** — reuse the original volume paths:
|
||||
|
||||
```bash
|
||||
docker pull iiketrek/TREK
|
||||
docker pull mauriceboe/TREK
|
||||
docker rm -f trek
|
||||
docker run -d --name trek -p 3000:3000 -v ./data:/app/data -v ./uploads:/app/uploads --restart unless-stopped iiketrek/TREK
|
||||
docker run -d --name trek -p 3000:3000 -v ./data:/app/data -v ./uploads:/app/uploads --restart unless-stopped mauriceboe/TREK
|
||||
```
|
||||
|
||||
> Not sure which paths you used? `docker inspect trek --format '{{json .Mounts}}'` before removing the container.
|
||||
|
||||
+1
-1
@@ -21,6 +21,6 @@ You will receive a response within 48 hours. Once confirmed, a fix will be relea
|
||||
|
||||
## Scope
|
||||
|
||||
This policy covers the TREK application and its Docker image (`iiketrek/TREK`).
|
||||
This policy covers the TREK application and its Docker image (`mauriceboe/TREK`).
|
||||
|
||||
Third-party dependencies are monitored via GitHub Dependabot.
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0"?>
|
||||
<CommunityApplications>
|
||||
<Profile>TREK is a self-hosted, real-time collaborative travel planner. Plan trips together with interactive maps, budgets, bookings, packing lists, day-by-day itineraries and file management — every change syncs instantly across everyone in your group. Includes OIDC/SSO, TOTP MFA, dark mode, PWA support, multi-language UI and a modular addon system (Vacay, Atlas, Collab, Budget, Packing, Journey). Maintained by mauriceboe — support and bug reports via GitHub Issues.</Profile>
|
||||
<Icon>https://raw.githubusercontent.com/iiketrek/TREK/main/docs/trek-icon.png</Icon>
|
||||
<Icon>https://raw.githubusercontent.com/liketrek/TREK/main/docs/trek-icon.png</Icon>
|
||||
<WebPage>https://github.com/liketrek/TREK</WebPage>
|
||||
<Forum>https://github.com/liketrek/TREK/issues</Forum>
|
||||
<DonateLink>https://ko-fi.com/mauriceboe</DonateLink>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
image:
|
||||
repository: iiketrek/TREK
|
||||
repository: liketrek/TREK
|
||||
# tag: latest
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ import { useEffect, useState } from 'react';
|
||||
import apiClient from '../../api/client';
|
||||
import { getLocaleForLanguage, useTranslation } from '../../i18n';
|
||||
|
||||
const REPO = 'iiketrek/TREK';
|
||||
const REPO = 'liketrek/TREK';
|
||||
const PER_PAGE = 10;
|
||||
|
||||
interface GithubRelease {
|
||||
|
||||
@@ -336,14 +336,14 @@ export default function AdminUserModals({ admin, t }: AdminUserModalsProps): Rea
|
||||
}}
|
||||
className="border border-gray-700 bg-gray-900 text-gray-100 dark:bg-gray-950"
|
||||
>
|
||||
{`docker pull iiketrek/TREK:latest
|
||||
{`docker pull mauriceboe/TREK:latest
|
||||
docker stop trek && docker rm trek
|
||||
docker run -d --name trek \\
|
||||
-p 3000:3000 \\
|
||||
-v /opt/trek/data:/app/data \\
|
||||
-v /opt/trek/uploads:/app/uploads \\
|
||||
--restart unless-stopped \\
|
||||
iiketrek/TREK:latest`}
|
||||
mauriceboe/TREK:latest`}
|
||||
</div>
|
||||
)}
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
services:
|
||||
app:
|
||||
image: iiketrek/TREK:latest
|
||||
image: mauriceboe/TREK:latest
|
||||
container_name: trek
|
||||
read_only: true
|
||||
security_opt:
|
||||
|
||||
@@ -27,7 +27,7 @@ import type { NetworkCheck, CheckContext, RegistryEntry, RegistryEntryVersion }
|
||||
import { pass, fail, skip } from './types.js';
|
||||
import { REQUIRED_SECTIONS, MIN_PROSE_CHARS, missingSections, placeholders, proseLength, images, undocumentedPermissions } from './readme.js';
|
||||
|
||||
export const DEFAULT_REGISTRY = 'iiketrek/TREK-Plugins';
|
||||
export const DEFAULT_REGISTRY = 'liketrek/TREK-Plugins';
|
||||
|
||||
const NATIVE_RE = /(^|\/)[^/]+\.node$|(^|\/)binding\.gyp$|(^|\/)prebuilds?\//i;
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ Scripts are never prompted; pass --sign.
|
||||
Needs git and an authenticated \`gh\`.
|
||||
|
||||
--sign [key] sign the artifact (default key: ~/.trek-plugin/signing.key)
|
||||
--registry o/n a registry other than iiketrek/TREK-Plugins
|
||||
--registry o/n a registry other than liketrek/TREK-Plugins
|
||||
--notes release notes
|
||||
--draft open the registry PR as a draft
|
||||
--force overwrite an existing release's artifact. Breaks the sha256 pin for
|
||||
|
||||
@@ -12,7 +12,7 @@ import path from 'node:path';
|
||||
import { execFileSync } from 'node:child_process';
|
||||
import { readJsonFile } from './json.js';
|
||||
|
||||
const DEFAULT_REGISTRY = 'iiketrek/TREK-Plugins';
|
||||
const DEFAULT_REGISTRY = 'liketrek/TREK-Plugins';
|
||||
|
||||
interface EntryLike {
|
||||
id: string; name?: string; authorPublicKey?: string;
|
||||
|
||||
+10
-10
@@ -726,7 +726,7 @@ describe('pack + entry (publishing automation)', () => {
|
||||
const out = path.join(tmp, 'plugin.zip');
|
||||
const packed = packPluginDir(koffi, out);
|
||||
const entry = buildEntry({
|
||||
dir: koffi, repo: 'iiketrek/TREK-plugin-koffi', tag: 'v1.0.0', zipPath: out,
|
||||
dir: koffi, repo: 'mauriceboe/TREK-plugin-koffi', tag: 'v1.0.0', zipPath: out,
|
||||
commit: 'a'.repeat(40), now: '2026-07-04T00:00:00.000Z',
|
||||
});
|
||||
expect(entry.id).toBe('koffi');
|
||||
@@ -741,7 +741,7 @@ describe('pack + entry (publishing automation)', () => {
|
||||
// "requires 3.2.0+" and considered the plugin compatible.
|
||||
expect(v.trek).toBe('>=3.2.0 <4.0.0');
|
||||
expect(v).not.toHaveProperty('minTrekVersion');
|
||||
expect(v.downloadUrl).toBe('https://github.com/liketrek/TREK-plugin-koffi/releases/download/v1.0.0/plugin.zip');
|
||||
expect(v.downloadUrl).toBe('https://github.com/mauriceboe/TREK-plugin-koffi/releases/download/v1.0.0/plugin.zip');
|
||||
expect(v.nativeModules).toBe(false);
|
||||
});
|
||||
|
||||
@@ -751,7 +751,7 @@ describe('pack + entry (publishing automation)', () => {
|
||||
const out = path.join(tmp, 'plugin.zip');
|
||||
packPluginDir(koffi, out);
|
||||
const entry = buildEntry({
|
||||
dir: koffi, repo: 'iiketrek/TREK-plugin-koffi', tag: 'v1.0.0', zipPath: out,
|
||||
dir: koffi, repo: 'mauriceboe/TREK-plugin-koffi', tag: 'v1.0.0', zipPath: out,
|
||||
commit: 'a'.repeat(40), now: '2026-07-04T00:00:00.000Z',
|
||||
});
|
||||
expect(entry.icon).toBe('Luggage'); // koffi's trek-plugin.json declares it
|
||||
@@ -764,7 +764,7 @@ describe('pack + entry (publishing automation)', () => {
|
||||
const p = path.join(tmp, `prior-${icon}.json`);
|
||||
fs.writeFileSync(p, JSON.stringify({
|
||||
id: 'koffi', name: 'Koffi', author: 'TREK', description: 'x',
|
||||
repo: 'iiketrek/TREK-plugin-koffi', type: 'widget', icon,
|
||||
repo: 'mauriceboe/TREK-plugin-koffi', type: 'widget', icon,
|
||||
versions: [{ version: '0.9.0', gitTag: 'v0.9.0', commitSha: 'b'.repeat(40), downloadUrl: 'https://x/y.zip', sha256: 'c'.repeat(64), size: 10, apiVersion: 1, nativeModules: false, publishedAt: '2026-01-01T00:00:00.000Z' }],
|
||||
}));
|
||||
return p;
|
||||
@@ -772,7 +772,7 @@ describe('pack + entry (publishing automation)', () => {
|
||||
|
||||
// koffi's manifest declares Luggage → an author who rebrands sees it in the store
|
||||
const rebranded = buildEntry({
|
||||
dir: koffi, repo: 'iiketrek/TREK-plugin-koffi', tag: 'v1.0.0', zipPath: out,
|
||||
dir: koffi, repo: 'mauriceboe/TREK-plugin-koffi', tag: 'v1.0.0', zipPath: out,
|
||||
commit: 'a'.repeat(40), now: '2026-07-04T00:00:00.000Z', mergePath: prior('Coffee'),
|
||||
});
|
||||
expect(rebranded.icon).toBe('Luggage');
|
||||
@@ -820,11 +820,11 @@ describe('pack + entry (publishing automation)', () => {
|
||||
packPluginDir(koffi, out);
|
||||
const existingPath = path.join(tmp, 'koffi.json');
|
||||
fs.writeFileSync(existingPath, JSON.stringify({
|
||||
id: 'koffi', name: 'Koffi', author: 'TREK', description: 'x', repo: 'iiketrek/TREK-plugin-koffi', type: 'widget',
|
||||
id: 'koffi', name: 'Koffi', author: 'TREK', description: 'x', repo: 'mauriceboe/TREK-plugin-koffi', type: 'widget',
|
||||
versions: [{ version: '0.9.0', gitTag: 'v0.9.0', commitSha: 'b'.repeat(40), downloadUrl: 'https://github.com/x/y/releases/download/v0.9.0/plugin.zip', sha256: 'c'.repeat(64), minTrekVersion: '3.2.0', size: 10, apiVersion: 1, nativeModules: false, publishedAt: '2026-01-01T00:00:00.000Z' }],
|
||||
}));
|
||||
const merged = buildEntry({
|
||||
dir: koffi, repo: 'iiketrek/TREK-plugin-koffi', tag: 'v1.0.0', zipPath: out,
|
||||
dir: koffi, repo: 'mauriceboe/TREK-plugin-koffi', tag: 'v1.0.0', zipPath: out,
|
||||
commit: 'a'.repeat(40), mergePath: existingPath, now: '2026-07-04T00:00:00.000Z',
|
||||
});
|
||||
expect(merged.versions.map((v) => v.version)).toEqual(['1.0.0', '0.9.0']);
|
||||
@@ -868,7 +868,7 @@ describe('sign + keygen (author signatures, TOFU)', () => {
|
||||
packPluginDir(koffi, out);
|
||||
const keyPath = path.join(tmp, 'k.pem');
|
||||
const { publicKey } = generateKeypair(keyPath);
|
||||
const entry = buildEntry({ dir: koffi, repo: 'iiketrek/TREK-plugin-koffi', tag: 'v1.0.0', zipPath: out, commit: 'a'.repeat(40), signKeyPath: keyPath, now: '2026-07-04T00:00:00.000Z' });
|
||||
const entry = buildEntry({ dir: koffi, repo: 'mauriceboe/TREK-plugin-koffi', tag: 'v1.0.0', zipPath: out, commit: 'a'.repeat(40), signKeyPath: keyPath, now: '2026-07-04T00:00:00.000Z' });
|
||||
expect(entry.authorPublicKey).toBe(publicKey);
|
||||
const sig = entry.versions[0].signature;
|
||||
expect(sig).toBeTruthy();
|
||||
@@ -880,12 +880,12 @@ describe('sign + keygen (author signatures, TOFU)', () => {
|
||||
packPluginDir(koffi, out);
|
||||
const key1 = path.join(tmp, 'k1.pem');
|
||||
generateKeypair(key1);
|
||||
const existing = buildEntry({ dir: koffi, repo: 'iiketrek/TREK-plugin-koffi', tag: 'v1.0.0', zipPath: out, commit: 'a'.repeat(40), signKeyPath: key1, now: '2026-07-04T00:00:00.000Z' });
|
||||
const existing = buildEntry({ dir: koffi, repo: 'mauriceboe/TREK-plugin-koffi', tag: 'v1.0.0', zipPath: out, commit: 'a'.repeat(40), signKeyPath: key1, now: '2026-07-04T00:00:00.000Z' });
|
||||
const existingPath = path.join(tmp, 'koffi.json');
|
||||
fs.writeFileSync(existingPath, JSON.stringify({ ...existing, versions: existing.versions.map((v) => ({ ...v, version: '0.9.0', gitTag: 'v0.9.0' })) }));
|
||||
const key2 = path.join(tmp, 'k2.pem');
|
||||
generateKeypair(key2);
|
||||
expect(() => buildEntry({ dir: koffi, repo: 'iiketrek/TREK-plugin-koffi', tag: 'v1.1.0', zipPath: out, commit: 'a'.repeat(40), mergePath: existingPath, signKeyPath: key2, now: '2026-07-04T00:00:00.000Z' })).toThrow(/differs from the one already published/);
|
||||
expect(() => buildEntry({ dir: koffi, repo: 'mauriceboe/TREK-plugin-koffi', tag: 'v1.1.0', zipPath: out, commit: 'a'.repeat(40), mergePath: existingPath, signKeyPath: key2, now: '2026-07-04T00:00:00.000Z' })).toThrow(/differs from the one already published/);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ import semver from 'semver';
|
||||
|
||||
const REGISTRY_URL =
|
||||
process.env.TREK_PLUGIN_REGISTRY_URL ||
|
||||
'https://raw.githubusercontent.com/iiketrek/TREK-Plugins/main/dist/index.json';
|
||||
'https://raw.githubusercontent.com/liketrek/TREK-Plugins/main/dist/index.json';
|
||||
const CACHE_TTL = 30 * 60 * 1000;
|
||||
const MANIFEST_MAX_BYTES = 256 * 1024;
|
||||
// Sideload upload ceiling — matches the SDK `pack` limit (50 MB) plus zip overhead.
|
||||
@@ -176,9 +176,7 @@ export class PluginRegistryService {
|
||||
* `authorPublicKey` is exposed in full — it is a public key, and the re-trust
|
||||
* round-trip compares it exactly (a truncated fingerprint would be a weak check).
|
||||
*/
|
||||
async browse(
|
||||
force = false,
|
||||
): Promise<
|
||||
async browse(force = false): Promise<
|
||||
Array<
|
||||
Omit<RegistryEntry, 'versions'> & {
|
||||
latest: string | null;
|
||||
|
||||
@@ -366,7 +366,7 @@ export function saveDemoBaseline(): { error?: string; status?: number; message?:
|
||||
|
||||
export async function getGithubReleases(perPage: string = '10', page: string = '1') {
|
||||
try {
|
||||
const resp = await fetch(`https://api.github.com/repos/iiketrek/TREK/releases?per_page=${perPage}&page=${page}`, {
|
||||
const resp = await fetch(`https://api.github.com/repos/liketrek/TREK/releases?per_page=${perPage}&page=${page}`, {
|
||||
headers: { Accept: 'application/vnd.github.v3+json', 'User-Agent': 'TREK-Server' },
|
||||
});
|
||||
if (!resp.ok) return [];
|
||||
@@ -412,7 +412,7 @@ export async function checkVersion(): Promise<VersionInfo> {
|
||||
try {
|
||||
if (isPrerelease) {
|
||||
// Fetch release list and find the newest prerelease
|
||||
const resp = await fetch('https://api.github.com/repos/iiketrek/TREK/releases?per_page=100', {
|
||||
const resp = await fetch('https://api.github.com/repos/liketrek/TREK/releases?per_page=100', {
|
||||
headers: { Accept: 'application/vnd.github.v3+json', 'User-Agent': 'TREK-Server' },
|
||||
});
|
||||
if (!resp.ok) {
|
||||
@@ -437,7 +437,7 @@ export async function checkVersion(): Promise<VersionInfo> {
|
||||
is_prerelease: true,
|
||||
};
|
||||
} else {
|
||||
const resp = await fetch('https://api.github.com/repos/iiketrek/TREK/releases/latest', {
|
||||
const resp = await fetch('https://api.github.com/repos/liketrek/TREK/releases/latest', {
|
||||
headers: { Accept: 'application/vnd.github.v3+json', 'User-Agent': 'TREK-Server' },
|
||||
});
|
||||
if (!resp.ok) {
|
||||
|
||||
@@ -13,7 +13,7 @@ import path from 'path';
|
||||
* GitHub directly either way; images are proxied through /api/help/asset.
|
||||
*/
|
||||
|
||||
const REPO = 'iiketrek/TREK';
|
||||
const REPO = 'liketrek/TREK';
|
||||
const RAW_BASE = `https://raw.githubusercontent.com/${REPO}/main/wiki`;
|
||||
const TTL_MS = 60 * 60 * 1000; // remote fallback only: refresh from GitHub at most hourly
|
||||
const SLUG_RE = /^[A-Za-z0-9][A-Za-z0-9._-]*$/;
|
||||
|
||||
+4
-4
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0"?>
|
||||
<Container version="2">
|
||||
<Name>TREK</Name>
|
||||
<Repository>iiketrek/TREK</Repository>
|
||||
<Registry>https://hub.docker.com/r/iiketrek/TREK</Registry>
|
||||
<Repository>mauriceboe/TREK</Repository>
|
||||
<Registry>https://hub.docker.com/r/mauriceboe/TREK</Registry>
|
||||
<Branch>
|
||||
<Tag>latest</Tag>
|
||||
<TagDescription>Latest stable release</TagDescription>
|
||||
@@ -14,8 +14,8 @@
|
||||
<Overview>TREK is a self-hosted, real-time collaborative travel planner with interactive maps, budgets, bookings, packing lists, file management, and more. Plan trips together with your group — changes sync instantly across all connected users. Includes OIDC/SSO support, dark mode, PWA, and a modular addon system (Vacay, Atlas, Collab, Budget, Packing).</Overview>
|
||||
<Category>Productivity: Tools:</Category>
|
||||
<WebUI>http://[IP]:[PORT:3000]</WebUI>
|
||||
<TemplateURL>https://raw.githubusercontent.com/iiketrek/TREK/main/unraid-template.xml</TemplateURL>
|
||||
<Icon>https://raw.githubusercontent.com/iiketrek/TREK/main/docs/trek-icon.png</Icon>
|
||||
<TemplateURL>https://raw.githubusercontent.com/liketrek/TREK/main/unraid-template.xml</TemplateURL>
|
||||
<Icon>https://raw.githubusercontent.com/liketrek/TREK/main/docs/trek-icon.png</Icon>
|
||||
<ExtraParams/>
|
||||
<PostArgs/>
|
||||
<DonateText>Support TREK development</DonateText>
|
||||
|
||||
@@ -21,7 +21,7 @@ Six cards at the top of the tab link to external resources:
|
||||
|
||||
## Release timeline
|
||||
|
||||
Below the support cards, a chronological timeline lists GitHub releases for the `iiketrek/TREK` repository. Each entry shows:
|
||||
Below the support cards, a chronological timeline lists GitHub releases for the `liketrek/TREK` repository. Each entry shows:
|
||||
|
||||
- **Version tag** (e.g., `v2.9.14`)
|
||||
- A **Latest** badge on the first (most recent) entry in the displayed list
|
||||
|
||||
@@ -30,7 +30,7 @@ cd TREK
|
||||
Add the original repository as `upstream` so you can pull in future updates:
|
||||
|
||||
```bash
|
||||
git remote add upstream git@github.com:iiketrek/TREK.git
|
||||
git remote add upstream git@github.com:liketrek/TREK.git
|
||||
```
|
||||
|
||||
You should now have two remotes:
|
||||
@@ -38,7 +38,7 @@ You should now have two remotes:
|
||||
| Remote | URL | Purpose |
|
||||
|------------|----------------------------------------------|--------------------------------|
|
||||
| `origin` | `git@github.com:your-username/TREK.git` | Your fork — push changes here |
|
||||
| `upstream` | `git@github.com:iiketrek/TREK.git` | Main repo — pull updates from here |
|
||||
| `upstream` | `git@github.com:liketrek/TREK.git` | Main repo — pull updates from here |
|
||||
|
||||
---
|
||||
|
||||
@@ -192,7 +192,7 @@ git push origin fix/my-changes
|
||||
git push origin dev
|
||||
```
|
||||
|
||||
Then open a Pull Request from your fork to `iiketrek/TREK` targeting the `dev` branch. If your PR only modifies files under `wiki/`, it is exempt from branch enforcement and may target any branch.
|
||||
Then open a Pull Request from your fork to `liketrek/TREK` targeting the `dev` branch. If your PR only modifies files under `wiki/`, it is exempt from branch enforcement and may target any branch.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -294,7 +294,7 @@ The plugin system is **on by default**. The runtime and the Admin → Plugins pa
|
||||
| `TREK_PLUGINS_ENABLED` | Master switch for the plugin system. Enabled unless set to `false` (also accepts `0`, `off`, `no`, case-insensitive). Turning it off is a kill switch — installed plugins stay on disk but nothing runs. | enabled |
|
||||
| `TREK_PLUGINS_DIR` | Directory where installed plugin **code** is stored. Persist it as a volume if you use plugins. | `<data>/plugins` |
|
||||
| `TREK_PLUGINS_DATA_DIR` | Directory for each plugin's own **data** (its private SQLite file). Kept separate from the code tree; persist it as a volume too. | `<data>/plugins-data` |
|
||||
| `TREK_PLUGIN_REGISTRY_URL` | Override the plugin registry index the *Discover* tab browses. Point it at your own fork or mirror of the registry. | `https://raw.githubusercontent.com/iiketrek/TREK-Plugins/main/dist/index.json` |
|
||||
| `TREK_PLUGIN_REGISTRY_URL` | Override the plugin registry index the *Discover* tab browses. Point it at your own fork or mirror of the registry. | `https://raw.githubusercontent.com/liketrek/TREK-Plugins/main/dist/index.json` |
|
||||
| `TREK_PLUGIN_MAX_RSS_MB` | Per-plugin memory ceiling in MB. A plugin process that exceeds it is stopped. | `300` |
|
||||
| `TREK_PLUGIN_PERMISSIONS` | Set to `off` to opt **out** of the Node.js OS-level permission sandbox for plugin child processes (not recommended). Any other value keeps the sandbox on. | `on` |
|
||||
| `TREK_PLUGIN_ALLOW_PRIVATE_EGRESS`| Set to `on` to let a plugin's declared outbound hosts resolve to private/internal addresses (e.g. a service on your LAN). By default connections to private, loopback, link-local and metadata addresses are refused. | off (private egress blocked) |
|
||||
|
||||
@@ -64,17 +64,17 @@ Uncomment and fill in the OIDC, initial setup, or MCP variables as needed. For a
|
||||
|
||||
Three tag strategies are available:
|
||||
|
||||
| Tag | Example | Behavior |
|
||||
|---|---|---|
|
||||
| `latest` | `iiketrek/TREK:latest` | Always the newest release across all major versions |
|
||||
| Major version | `iiketrek/TREK:3` | Latest release pinned to that major version |
|
||||
| Full version | `iiketrek/TREK:3.0.15` | Exact release; never changes |
|
||||
| Tag | Example | Behavior |
|
||||
|---|--------------------------|---|
|
||||
| `latest` | `mauriceboe/TREK:latest` | Always the newest release across all major versions |
|
||||
| Major version | `mauriceboe/TREK:3` | Latest release pinned to that major version |
|
||||
| Full version | `mauriceboe/TREK:3.0.15` | Exact release; never changes |
|
||||
|
||||
The compose file above uses `latest`. To pin, change the `image:` line:
|
||||
|
||||
```yaml
|
||||
image: iiketrek/TREK:3 # track major version 3
|
||||
image: iiketrek/TREK:3.0.15 # pin to exact release
|
||||
image: mauriceboe/TREK:3 # track major version 3
|
||||
image: mauriceboe/TREK:3.0.15 # pin to exact release
|
||||
```
|
||||
|
||||
## Start TREK
|
||||
|
||||
@@ -12,7 +12,7 @@ docker run -d \
|
||||
-v ./uploads:/app/uploads \
|
||||
-e ENCRYPTION_KEY=<your-32-byte-hex-key> \
|
||||
--restart unless-stopped \
|
||||
iiketrek/TREK:latest
|
||||
mauriceboe/TREK:latest
|
||||
```
|
||||
|
||||
`ENCRYPTION_KEY` is strongly recommended but not strictly required. If omitted, a key is auto-generated on first start and persisted to `data/.encryption_key`. Setting it explicitly means you can recreate the container from scratch (e.g. on a new host) without losing access to stored encrypted data (API keys, SMTP credentials, OIDC secrets, MFA secrets).
|
||||
@@ -38,11 +38,11 @@ See [Environment-Variables](Environment-Variables) for the full list.
|
||||
|
||||
| Tag | Example | Behavior |
|
||||
|---|---|---|
|
||||
| `latest` | `iiketrek/TREK:latest` | Always the newest release across all major versions |
|
||||
| Major version | `iiketrek/TREK:3` | Latest release pinned to that major version |
|
||||
| Full version | `iiketrek/TREK:3.0.15` | Exact release; never changes |
|
||||
| `latest` | `mauriceboe/TREK:latest` | Always the newest release across all major versions |
|
||||
| Major version | `mauriceboe/TREK:3` | Latest release pinned to that major version |
|
||||
| Full version | `mauriceboe/TREK:3.0.15` | Exact release; never changes |
|
||||
|
||||
Replace `iiketrek/TREK:latest` in the run command with your chosen tag to pin to a major version or exact release.
|
||||
Replace `mauriceboe/TREK:latest` in the run command with your chosen tag to pin to a major version or exact release.
|
||||
|
||||
## Volume Reference
|
||||
|
||||
@@ -65,7 +65,7 @@ docker run -d \
|
||||
-v trek_uploads:/app/uploads \
|
||||
-e ENCRYPTION_KEY=<your-32-byte-hex-key> \
|
||||
--restart unless-stopped \
|
||||
iiketrek/TREK:latest
|
||||
mauriceboe/TREK:latest
|
||||
```
|
||||
|
||||
Docker creates `trek_data` and `trek_uploads` automatically on first run. Named volumes are easier to manage with `docker volume` commands and work better in some NAS or container-management environments.
|
||||
|
||||
@@ -72,7 +72,7 @@ helm install trek trek/trek \
|
||||
|
||||
```yaml
|
||||
image:
|
||||
repository: iiketrek/TREK
|
||||
repository: liketrek/TREK
|
||||
# tag: latest # defaults to the chart's appVersion
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
|
||||
@@ -40,9 +40,9 @@ Three tag strategies are available:
|
||||
|
||||
| Tag | Example | Behavior |
|
||||
|---|---|---|
|
||||
| `latest` | `iiketrek/TREK:latest` | Always the newest release across all major versions |
|
||||
| Major version | `iiketrek/TREK:3` | Latest release pinned to that major version |
|
||||
| Full version | `iiketrek/TREK:3.0.15` | Exact release; never changes |
|
||||
| `latest` | `mauriceboe/TREK:latest` | Always the newest release across all major versions |
|
||||
| Major version | `mauriceboe/TREK:3` | Latest release pinned to that major version |
|
||||
| Full version | `mauriceboe/TREK:3.0.15` | Exact release; never changes |
|
||||
|
||||
Use `latest` or a major-version tag (e.g. `3`) if you want automatic updates on redeploy. Use a full version tag (e.g. `3.0.15`) if you want explicit control over which release runs.
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ Docker must be enabled in Unraid (**Settings → Docker → Enable Docker: Yes**
|
||||
If the app does not appear, you can install directly from the template URL. In **Docker → Add Container**, paste the template URL:
|
||||
|
||||
```
|
||||
https://raw.githubusercontent.com/iiketrek/TREK/main/unraid-template.xml
|
||||
https://raw.githubusercontent.com/liketrek/TREK/main/unraid-template.xml
|
||||
```
|
||||
|
||||
## Template Fields
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ ENCRYPTION_KEY=$(openssl rand -hex 32) docker run -d \
|
||||
-v ./data:/app/data \
|
||||
-v ./uploads:/app/uploads \
|
||||
--restart unless-stopped \
|
||||
iiketrek/TREK:latest
|
||||
mauriceboe/TREK:latest
|
||||
```
|
||||
|
||||
**Flag breakdown:**
|
||||
|
||||
+5
-5
@@ -10,9 +10,9 @@ Back up your data first. Go to Admin Panel → Backups and create a manual backu
|
||||
|
||||
| Tag | Example | Behavior |
|
||||
|---|---|---|
|
||||
| `latest` | `iiketrek/TREK:latest` | Always the newest release across all major versions |
|
||||
| Major version | `iiketrek/TREK:3` | Latest release pinned to that major version |
|
||||
| Full version | `iiketrek/TREK:3.0.15` | Exact release; never changes |
|
||||
| `latest` | `mauriceboe/TREK:latest` | Always the newest release across all major versions |
|
||||
| Major version | `mauriceboe/TREK:3` | Latest release pinned to that major version |
|
||||
| Full version | `mauriceboe/TREK:3.0.15` | Exact release; never changes |
|
||||
|
||||
Use `latest` or a major-version tag if you want updates on each redeploy. Use a full version tag for explicit control — update by changing the tag, not by re-pulling.
|
||||
|
||||
@@ -39,14 +39,14 @@ docker compose up -d
|
||||
If you started TREK with `docker run`, pull the new image and replace the container:
|
||||
|
||||
```bash
|
||||
docker pull iiketrek/TREK
|
||||
docker pull mauriceboe/TREK
|
||||
docker rm -f trek
|
||||
docker run -d --name trek -p 3000:3000 \
|
||||
-v ./data:/app/data \
|
||||
-v ./uploads:/app/uploads \
|
||||
-e ENCRYPTION_KEY=<your-key> \
|
||||
--restart unless-stopped \
|
||||
iiketrek/TREK
|
||||
mauriceboe/TREK
|
||||
```
|
||||
|
||||
> **Tip:** Not sure which volume paths you used? Check before removing:
|
||||
|
||||
Reference in New Issue
Block a user