Compare commits

..

16 Commits

Author SHA1 Message Date
Nico
4409454cfe Create LICENSE 2025-07-05 12:45:13 +02:00
Nicolas Meienberger
c05d939671 ci(renovate): keep only regex manager 2025-06-03 20:10:38 +02:00
Nicolas Meienberger
9e5fd50acd ci: add cache for renovate binaries 2025-06-03 19:55:49 +02:00
Nicolas Meienberger
9029f29c5d chore: update renovate config 2025-06-01 10:20:52 +02:00
Nicolas Meienberger
0e1924f650 ci: pin renovate to version 40 2025-05-13 08:11:54 +02:00
Nicolas Meienberger
2b8e2dd6b6 ci: install node v22 2025-05-01 07:58:30 +02:00
Nicolas Meienberger
ccc939cd99 test: fix async loop 2025-04-26 15:55:07 +02:00
Nicolas Meienberger
75d9286195 docs: add README.md 2025-04-26 15:51:22 +02:00
Nico
52c56bbbc2 Merge pull request #4 from runtipi/renovate/traefik-whoami-1.x
chore(deps): update traefik/whoami docker tag to v1.11.0
2025-04-26 15:45:21 +02:00
Nicolas Meienberger
ede8917edb test: exclude non-directories from tests 2025-04-26 15:44:53 +02:00
github-actions[bot]
e8be7f544a chore(deps): update traefik/whoami docker tag to v1.11.0 2025-04-26 13:42:58 +00:00
Nicolas Meienberger
a27233f8af ci(renovate): install deps before running tests 2025-04-26 15:42:06 +02:00
Nicolas Meienberger
df26e4e6df ci: run tests on renovate pr 2025-04-26 15:39:10 +02:00
Nicolas Meienberger
232f2ae909 fix(renovate): wrong command path 2025-04-26 15:31:47 +02:00
Nicolas Meienberger
108f5bb3fa chore: add peer dep typescript 2025-04-26 10:13:56 +02:00
Nicolas Meienberger
d9804fe227 chore(renovate): allow post upgrade command 2025-04-26 09:50:59 +02:00
11 changed files with 84 additions and 16 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@@ -22,14 +22,24 @@ jobs:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Install node
uses: actions/setup-node@v4
with:
node-version: "22"
- name: Install bun - name: Install bun
uses: oven-sh/setup-bun@v2 uses: oven-sh/setup-bun@v2
- name: Install Renovate - name: Cache Bun global packages
run: bun install -g renovate re2 uses: actions/cache@v4
with:
path: ~/.bun/install/global
key: ${{ runner.os }}-bun-global-renovate-40
restore-keys: |
${{ runner.os }}-bun-global-
- name: Echo repository - name: Install Renovate
run: echo ${{ github.repository }} run: bun install -g renovate@40
- name: Run renovate - name: Run renovate
run: LOG_LEVEL=${{ github.event.inputs.log_level || 'INFO' }} renovate --token ${{ secrets.GITHUB_TOKEN }} ${{ github.repository }} run: LOG_LEVEL=${{ github.event.inputs.log_level || 'INFO' }} renovate --token ${{ secrets.GITHUB_TOKEN }} ${{ github.repository }}

View File

@@ -2,9 +2,9 @@ name: Test
on: on:
push: push:
branches: [ main ] branches: [main]
pull_request: pull_request:
branches: [ main ] branches: [main]
jobs: jobs:
test: test:

13
LICENSE Normal file
View File

@@ -0,0 +1,13 @@
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.

View File

@@ -1 +1,31 @@
# example-appstore # Example App Store Template
This repository serves as a template for creating your own custom app store for the Runtipi platform. Use this as a starting point to create and share your own collection of applications.
## Repository Structure
- **apps/**: Contains individual app directories
- Each app has its own folder (e.g., `whoami/`) with the following structure:
- `config.json`: App configuration file
- `docker-compose.json`: Docker setup for the app
- `metadata/`: Contains app visuals and descriptions
- `description.md`: Markdown description of the app
- `logo.jpg`: App logo image
- **tests/**: Contains test files for the app store
- `apps.test.ts`: Test suite for validating apps
## Getting Started
This repository is intended to serve as a template for creating your own app store. Follow these steps to get started:
1. Click the "Use this template" button to create a new repository based on this template
2. Customize the apps or add your own app folders in the `apps/` directory
3. Test your app store by using it with Runtipi
## Documentation
For detailed instructions on creating your own app store, please refer to the official guide:
[Create Your Own App Store Guide](https://runtipi.io/docs/guides/create-your-own-app-store)

View File

@@ -6,7 +6,13 @@ import path from 'node:path'
const getApps = async () => { const getApps = async () => {
const appsDir = await fs.promises.readdir(path.join(process.cwd(), 'apps')) const appsDir = await fs.promises.readdir(path.join(process.cwd(), 'apps'))
return appsDir
const appDirs = appsDir.filter((app) => {
const stat = fs.statSync(path.join(process.cwd(), 'apps', app))
return stat.isDirectory()
})
return appDirs
}; };
const getFile = async (app: string, file: string) => { const getFile = async (app: string, file: string) => {

View File

@@ -9,7 +9,7 @@
"utilities" "utilities"
], ],
"description": "Tiny Go webserver that prints OS information and HTTP request to output.", "description": "Tiny Go webserver that prints OS information and HTTP request to output.",
"tipi_version": 1, "tipi_version": 2,
"version": "v1.11.0", "version": "v1.11.0",
"source": "https://github.com/traefik/whoami", "source": "https://github.com/traefik/whoami",
"exposable": true, "exposable": true,
@@ -18,7 +18,7 @@
"amd64" "amd64"
], ],
"created_at": 1745082405284, "created_at": 1745082405284,
"updated_at": 1745082405284, "updated_at": 1745674974072,
"dynamic_config": true, "dynamic_config": true,
"form_fields": [] "form_fields": []
} }

BIN
bun.lockb

Binary file not shown.

3
config.js Normal file
View File

@@ -0,0 +1,3 @@
export default {
allowedCommands: ["bun ./scripts/update-config.ts", "bun install && bun run test"],
};

View File

@@ -11,12 +11,15 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"devDependencies": { "devDependencies": {
"@types/bun": "^1.2.10", "@types/bun": "latest",
"@types/node": "^22.14.1" "@types/node": "^22.14.1"
}, },
"dependencies": { "dependencies": {
"@runtipi/common": "^0.8.0", "@runtipi/common": "^0.8.0",
"bun": "^1.2.10", "bun": "^1.2.10",
"zod-validation-error": "^3.4.0" "zod-validation-error": "^3.4.0"
},
"peerDependencies": {
"typescript": "^5.0.0"
} }
} }

View File

@@ -1,13 +1,14 @@
{ {
"$schema": "https://docs.renovatebot.com/renovate-schema.json", "$schema": "https://docs.renovatebot.com/renovate-schema.json",
"automerge": false,
"extends": [ "extends": [
"config:recommended" "config:recommended"
], ],
"addLabels": [ "addLabels": [
"renovate" "renovate"
], ],
"enabledManagers": ["regex"],
"automergeStrategy": "rebase", "automergeStrategy": "rebase",
"ignoreTests": true,
"customManagers": [ "customManagers": [
{ {
"customType": "regex", "customType": "regex",
@@ -24,17 +25,18 @@
{ {
"matchUpdateTypes": [ "matchUpdateTypes": [
"minor", "minor",
"major",
"patch", "patch",
"pin", "pin",
"digest" "digest"
], ],
"automerge": true "automerge": false
}, },
{ {
"matchDepTypes": [ "matchDepTypes": [
"devDependencies" "devDependencies"
], ],
"automerge": true "automerge": false
}, },
{ {
"matchPackageNames": [ "matchPackageNames": [
@@ -49,7 +51,8 @@
], ],
"postUpgradeTasks": { "postUpgradeTasks": {
"commands": [ "commands": [
"bun ./scripts/update-config.ts {{packageFile}} {{newVersion}}" "bun ./scripts/update-config.ts {{packageFile}} {{newVersion}}",
"bun install && bun run test"
], ],
"fileFilters": [ "fileFilters": [
"**/*" "**/*"