diff --git a/.devcontainer/postCreateCommand.sh b/.devcontainer/postCreateCommand.sh index a4972005..410c49d0 100755 --- a/.devcontainer/postCreateCommand.sh +++ b/.devcontainer/postCreateCommand.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash echo '{ - "appsRepoUrl": "https://github.com/meienberger/runtipi-appstore.git/" + "appsRepoUrl": "https://github.com/runtipi/runtipi-appstore.git/" }' > state/settings.json npm i -g pnpm pnpm i diff --git a/.env.example b/.env.example index ffcb4828..bf6fb542 100644 --- a/.env.example +++ b/.env.example @@ -1,5 +1,5 @@ APPS_REPO_ID=7a92c8307e0a8074763c80be1fcfa4f87da6641daea9211aea6743b0116aba3b -APPS_REPO_URL=https://github.com/meienberger/runtipi-appstore +APPS_REPO_URL=https://github.com/runtipi/runtipi-appstore TZ=Etc/UTC INTERNAL_IP=localhost DNS_IP=9.9.9.9 diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 89921d4e..0f247e3d 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -90,7 +90,7 @@ jobs: with: command: | echo 'Downloading install script from GitHub' - curl -s https://raw.githubusercontent.com/meienberger/runtipi/${{ inputs.version }}/scripts/install.sh > install.sh + curl -s https://raw.githubusercontent.com/runtipi/runtipi/${{ inputs.version }}/scripts/install.sh > install.sh chmod +x install.sh echo 'Running install script' ./install.sh --version ${{ inputs.version }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 07bd4c96..a0269bb3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,7 +23,7 @@ jobs: echo "tag=v${VERSION}" >> $GITHUB_OUTPUT build-images: - if: github.repository == 'meienberger/runtipi' + if: github.repository == 'runtipi/runtipi' needs: get-tag runs-on: ubuntu-latest steps: diff --git a/README.md b/README.md index 863b945e..afae0eb4 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,17 @@ # Tipi — A personal homeserver for everyone + [![All Contributors](https://img.shields.io/badge/all_contributors-38-orange.svg?style=flat-square)](#contributors-) + -[![License](https://img.shields.io/github/license/meienberger/runtipi)](https://github.com/meienberger/runtipi/blob/master/LICENSE) -[![Version](https://img.shields.io/github/v/release/meienberger/runtipi?color=%235351FB&label=version)](https://github.com/meienberger/runtipi/releases) -![Issues](https://img.shields.io/github/issues/meienberger/runtipi) +[![License](https://img.shields.io/github/license/runtipi/runtipi)](https://github.com/runtipi/runtipi/blob/master/LICENSE) +[![Version](https://img.shields.io/github/v/release/runtipi/runtipi?color=%235351FB&label=version)](https://github.com/runtipi/runtipi/releases) +![Issues](https://img.shields.io/github/issues/runtipi/runtipi) [![Docker Pulls](https://badgen.net/docker/pulls/meienberger/runtipi?icon=docker&label=pulls)](https://hub.docker.com/r/meienberger/runtipi/) [![Docker Image Size](https://badgen.net/docker/size/meienberger/runtipi?icon=docker&label=image%20size)](https://hub.docker.com/r/meienberger/runtipi/) -![Build](https://github.com/meienberger/runtipi/workflows/Tipi%20CI/badge.svg) -[![codecov](https://codecov.io/gh/meienberger/runtipi/branch/master/graph/badge.svg?token=FZGO7ZOPSF)](https://codecov.io/gh/meienberger/runtipi) +![Build](https://github.com/runtipi/runtipi/workflows/Tipi%20CI/badge.svg) [![Crowdin](https://badges.crowdin.net/runtipi/localized.svg)](https://crowdin.com/project/runtipi) #### Join the discussion @@ -18,11 +19,11 @@ [![Discord](https://img.shields.io/discord/976934649643294750?label=discord&logo=discord)](https://discord.gg/Bu9qEPnHsc) [![Matrix](https://img.shields.io/matrix/runtipi:matrix.org?label=matrix&logo=matrix)](https://matrix.to/#/#runtipi:matrix.org) -![Preview](https://raw.githubusercontent.com/meienberger/runtipi/develop/screenshots/appstore.png) +![Preview](https://raw.githubusercontent.com/runtipi/runtipi/develop/screenshots/appstore.png) > ⚠️ Tipi is still at an early stage of development and issues are to be expected. Feel free to open an issue or pull request if you find a bug. -Tipi is a personal homeserver orchestrator that makes it easy to manage and run multiple services on a single server. It is based on Docker and comes with a simple web interface to manage your services. Tipi is designed to be easy to use, so you don't have to worry about manual configuration or networking. Simply install Tipi on your server and use the web interface to add and manage services. You can see a list of available services in the [App Store repo](https://github.com/meienberger/runtipi-appstore) and request new ones if you don't see what you need. To get started, follow the installation instructions below. +Tipi is a personal homeserver orchestrator that makes it easy to manage and run multiple services on a single server. It is based on Docker and comes with a simple web interface to manage your services. Tipi is designed to be easy to use, so you don't have to worry about manual configuration or networking. Simply install Tipi on your server and use the web interface to add and manage services. You can see a list of available services in the [App Store repo](https://github.com/runtipi/runtipi-appstore) and request new ones if you don't see what you need. To get started, follow the installation instructions below. ## Getting started @@ -51,7 +52,7 @@ We are looking for contributions of all kinds. If you know design, development, ## 📜 License -[![License](https://img.shields.io/github/license/meienberger/runtipi)](https://github.com/meienberger/runtipi/blob/master/LICENSE) +[![License](https://img.shields.io/github/license/runtipi/runtipi)](https://github.com/runtipi/runtipi/blob/master/LICENSE) Tipi is licensed under the GNU General Public License v3.0. TL;DR — You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions. diff --git a/package.json b/package.json index a519d1b9..3247079e 100644 --- a/package.json +++ b/package.json @@ -139,14 +139,14 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/meienberger/runtipi.git" + "url": "git+https://github.com/runtipi/runtipi.git" }, "author": "", "license": "GNU General Public License v3.0", "bugs": { - "url": "https://github.com/meienberger/runtipi/issues" + "url": "https://github.com/runtipi/runtipi/issues" }, - "homepage": "https://github.com/meienberger/runtipi#readme", + "homepage": "https://github.com/runtipi/runtipi#readme", "pnpm": { "patchedDependencies": {} } diff --git a/packages/cli/src/executors/system/system.executors.ts b/packages/cli/src/executors/system/system.executors.ts index ac69a3ca..ef4c14ef 100644 --- a/packages/cli/src/executors/system/system.executors.ts +++ b/packages/cli/src/executors/system/system.executors.ts @@ -354,7 +354,7 @@ export class SystemExecutors { if (!targetVersion || targetVersion === 'latest') { spinner.setMessage('Fetching latest version...'); - const { data } = await axios.get<{ tag_name: string }>('https://api.github.com/repos/meienberger/runtipi/releases/latest'); + const { data } = await axios.get<{ tag_name: string }>('https://api.github.com/repos/runtipi/runtipi/releases/latest'); this.logger.info(`Getting latest version from GitHub: ${data.tag_name}`); targetVersion = data.tag_name; } @@ -374,7 +374,7 @@ export class SystemExecutors { const fileName = `runtipi-cli-${targetVersion}`; const savePath = path.join(rootFolderHost, fileName); - const fileUrl = `https://github.com/meienberger/runtipi/releases/download/${targetVersion}/${assetName}`; + const fileUrl = `https://github.com/runtipi/runtipi/releases/download/${targetVersion}/${assetName}`; this.logger.info(`Downloading Tipi ${targetVersion} from ${fileUrl}`); spinner.done(`Target version: ${targetVersion}`); diff --git a/packages/cli/src/executors/system/system.helpers.ts b/packages/cli/src/executors/system/system.helpers.ts index 4e8f6466..ce4bcc66 100644 --- a/packages/cli/src/executors/system/system.helpers.ts +++ b/packages/cli/src/executors/system/system.helpers.ts @@ -37,7 +37,8 @@ type EnvKeys = // eslint-disable-next-line @typescript-eslint/ban-types | (string & {}); -const DEFAULT_REPO_URL = 'https://github.com/meienberger/runtipi-appstore'; +const OLD_DEFAULT_REPO_URL = 'https://github.com/meienberger/runtipi-appstore'; +const DEFAULT_REPO_URL = 'https://github.com/runtipi/runtipi-appstore'; /** * Reads and returns the generated seed @@ -145,6 +146,10 @@ export const generateSystemEnvFile = async () => { const { data } = settings; + if (data.appsRepoUrl === OLD_DEFAULT_REPO_URL) { + data.appsRepoUrl = DEFAULT_REPO_URL; + } + const jwtSecret = envMap.get('JWT_SECRET') || (await deriveEntropy('jwt_secret')); const repoId = getRepoHash(data.appsRepoUrl || DEFAULT_REPO_URL); const postgresPassword = envMap.get('POSTGRES_PASSWORD') || (await deriveEntropy('postgres_password')); diff --git a/scripts/install.sh b/scripts/install.sh index 1a07c426..278d3a2e 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -166,7 +166,7 @@ function check_dependency_and_install() { # If version was not given it will install the latest version if [[ "${VERSION}" == "latest" ]]; then - LATEST_VERSION=$(curl -s https://api.github.com/repos/meienberger/runtipi/releases/latest | grep tag_name | cut -d '"' -f4) + LATEST_VERSION=$(curl -s https://api.github.com/repos/runtipi/runtipi/releases/latest | grep tag_name | cut -d '"' -f4) VERSION="${LATEST_VERSION}" fi @@ -175,7 +175,7 @@ if [ "$ARCHITECTURE" == "arm64" ] || [ "$ARCHITECTURE" == "aarch64" ]; then ASSET="runtipi-cli-linux-arm64" fi -URL="https://github.com/meienberger/runtipi/releases/download/$VERSION/$ASSET" +URL="https://github.com/runtipi/runtipi/releases/download/$VERSION/$ASSET" if [[ "${UPDATE}" == "false" ]]; then mkdir -p runtipi diff --git a/src/app/(dashboard)/components/Header/Header.tsx b/src/app/(dashboard)/components/Header/Header.tsx index 29c39c4c..d5ebd92e 100644 --- a/src/app/(dashboard)/components/Header/Header.tsx +++ b/src/app/(dashboard)/components/Header/Header.tsx @@ -52,11 +52,11 @@ export const Header: React.FC = ({ isUpdateAvailable }) => {
- + {t('source-code')} - + {t('sponsor')} diff --git a/src/app/(dashboard)/settings/components/SettingsForm/SettingsForm.tsx b/src/app/(dashboard)/settings/components/SettingsForm/SettingsForm.tsx index cf644a37..24a13f08 100644 --- a/src/app/(dashboard)/settings/components/SettingsForm/SettingsForm.tsx +++ b/src/app/(dashboard)/settings/components/SettingsForm/SettingsForm.tsx @@ -155,7 +155,7 @@ export const SettingsForm = (props: IProps) => { } error={errors.appsRepoUrl?.message} - placeholder="https://github.com/meienberger/runtipi-appstore" + placeholder="https://github.com/runtipi/runtipi-appstore" />
diff --git a/src/server/services/system/system.service.test.ts b/src/server/services/system/system.service.test.ts index d963aa15..0cef577a 100644 --- a/src/server/services/system/system.service.test.ts +++ b/src/server/services/system/system.service.test.ts @@ -74,7 +74,7 @@ describe('Test: systemInfo', () => { describe('Test: getVersion', () => { it('Should return current version for latest if request fails', async () => { server.use( - rest.get('https://api.github.com/repos/meienberger/runtipi/releases/latest', (_, res, ctx) => { + rest.get('https://api.github.com/repos/runtipi/runtipi/releases/latest', (_, res, ctx) => { return res(ctx.status(500)); }), ); @@ -89,7 +89,7 @@ describe('Test: getVersion', () => { it('Should return cached version', async () => { // Arrange server.use( - rest.get('https://api.github.com/repos/meienberger/runtipi/releases/latest', (_, res, ctx) => { + rest.get('https://api.github.com/repos/runtipi/runtipi/releases/latest', (_, res, ctx) => { return res(ctx.json({ tag_name: `v${faker.string.numeric(1)}.${faker.string.numeric(1)}.${faker.string.numeric()}` })); }), ); diff --git a/src/server/services/system/system.service.ts b/src/server/services/system/system.service.ts index ccde65d3..36672bdd 100644 --- a/src/server/services/system/system.service.ts +++ b/src/server/services/system/system.service.ts @@ -39,7 +39,7 @@ export class SystemServiceClass { const currentVersion = TipiConfig.getConfig().version; if (seePreReleaseVersions) { - const { data } = await axios.get<{ tag_name: string; body: string }[]>('https://api.github.com/repos/meienberger/runtipi/releases'); + const { data } = await axios.get<{ tag_name: string; body: string }[]>('https://api.github.com/repos/runtipi/runtipi/releases'); return { current: currentVersion, latest: data[0]?.tag_name ?? currentVersion, body: data[0]?.body }; } @@ -48,7 +48,7 @@ export class SystemServiceClass { let body = await cache.get('latestVersionBody'); if (!version) { - const { data } = await axios.get<{ tag_name: string; body: string }>('https://api.github.com/repos/meienberger/runtipi/releases/latest'); + const { data } = await axios.get<{ tag_name: string; body: string }>('https://api.github.com/repos/runtipi/runtipi/releases/latest'); version = data.tag_name; body = data.body;