├── .dockerignore ├── .gitcd ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ ├── config.yml │ ├── feature_request.yml │ ├── other.yml │ └── template.yml ├── pull_request_template.md └── workflows │ ├── codeql-analysis.yml │ ├── docker-prerelease.yaml │ ├── docker-release.yaml │ ├── jest-codecov.yaml │ ├── jest-pr.yaml │ ├── jest-report.yaml │ ├── stargazers.yaml │ └── yamllint.yaml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── MAINTAINERS.md ├── OWNERS ├── README.md ├── SECURITY.md ├── client ├── .browserslistrc ├── .editorconfig ├── .eslintrc.js ├── .gitignore ├── README.md ├── index.html ├── package.json ├── public │ ├── favicon.ico │ ├── img │ │ ├── addons │ │ │ ├── CockroachDB.svg │ │ │ ├── CouchDB.png │ │ │ ├── Elasticsearch.png │ │ │ ├── Haraka.png │ │ │ ├── HarakaTxt.png │ │ │ ├── Kafka.png │ │ │ ├── MariaDB.png │ │ │ ├── Mariadb_full.png │ │ │ ├── Memcached.png │ │ │ ├── Minio.png │ │ │ ├── MongoDB.png │ │ │ ├── MongoDBCluster.png │ │ │ ├── Mongodb_full.png │ │ │ ├── MySQL.png │ │ │ ├── PerconaServerMongoDB.png │ │ │ ├── PostgresCluster.png │ │ │ ├── RabbitMQ.png │ │ │ ├── RabbitMQ.svg │ │ │ ├── Redis.png │ │ │ ├── RedisCluster.png │ │ │ ├── clickhouse.svg │ │ │ ├── cloudflare.svg │ │ │ ├── couchdb.svg │ │ │ ├── elasticsearch.svg │ │ │ ├── kafka.svg │ │ │ ├── mariadb.svg │ │ │ ├── memcached.svg │ │ │ ├── mongo.svg │ │ │ ├── mysql.svg │ │ │ ├── pgsql.svg │ │ │ ├── postgresql.png │ │ │ ├── redis-cluster.png │ │ │ └── redis.svg │ │ ├── empty.svg │ │ └── icons │ │ │ ├── buildpacks.svg │ │ │ ├── connected.svg │ │ │ ├── disconnected.svg │ │ │ ├── discord.svg │ │ │ ├── docker.svg │ │ │ ├── gitea.svg │ │ │ ├── gogs.svg │ │ │ ├── hexagon1-empty-bold-tp.svg │ │ │ ├── hexagon1-empty-bold.svg │ │ │ ├── hexagon1.svg │ │ │ ├── hexagon3-empty-bold-tp.svg │ │ │ ├── hexagon3-empty-bold.svg │ │ │ ├── hexagon3-empty.svg │ │ │ ├── hexagon3.svg │ │ │ ├── nixos.svg │ │ │ └── onedev.svg │ └── robots.txt ├── src │ ├── App.vue │ ├── assets │ │ ├── logo.png │ │ └── logo.svg │ ├── components │ │ ├── activity │ │ │ └── view.vue │ │ ├── addons │ │ │ └── index.vue │ │ ├── apps │ │ │ ├── addons.vue │ │ │ ├── alerts.vue │ │ │ ├── appstats.vue │ │ │ ├── builds.vue │ │ │ ├── buildsform.vue │ │ │ ├── console.vue │ │ │ ├── detail.vue │ │ │ ├── events.vue │ │ │ ├── eventsAudit.vue │ │ │ ├── form.vue │ │ │ ├── logs.vue │ │ │ ├── logstab.vue │ │ │ ├── metrics.vue │ │ │ ├── overview.vue │ │ │ └── vulnerabilities.vue │ │ ├── breadcrumbs.vue │ │ ├── loginprompt.vue │ │ ├── pipelines │ │ │ ├── appcard.vue │ │ │ ├── detail.vue │ │ │ ├── form.vue │ │ │ ├── list.vue │ │ │ └── prcard.vue │ │ ├── settings │ │ │ ├── form-buildpacks-item.vue │ │ │ ├── form-buildpacks.vue │ │ │ ├── form-deployment.vue │ │ │ ├── form-general.vue │ │ │ ├── form-notifications.vue │ │ │ ├── form-podsizes.vue │ │ │ ├── form-templates.vue │ │ │ └── form.vue │ │ ├── setup │ │ │ └── index.vue │ │ └── templates │ │ │ └── index.vue │ ├── layouts │ │ ├── default │ │ │ ├── AppBar.vue │ │ │ ├── AppFooter.vue │ │ │ ├── Default.vue │ │ │ ├── NavDrawer.vue │ │ │ ├── Popup.vue │ │ │ └── View.vue │ │ ├── login │ │ │ ├── Login.vue │ │ │ └── View.vue │ │ └── setup │ │ │ ├── Setup.vue │ │ │ └── View.vue │ ├── main.ts │ ├── plugins │ │ ├── code-block.ts │ │ ├── index.ts │ │ ├── pinia.ts │ │ └── vuetify.ts │ ├── router │ │ └── index.ts │ ├── socket.io.ts │ ├── stores │ │ └── kubero.ts │ ├── styles │ │ └── settings.scss │ ├── views │ │ ├── Activity.vue │ │ ├── Addons.vue │ │ ├── Login.vue │ │ ├── Pipeline.vue │ │ ├── Settings.vue │ │ ├── Setup.vue │ │ └── Templates.vue │ └── vite-env.d.ts ├── tsconfig.json ├── tsconfig.node.json ├── vite.config.ts └── yarn.lock ├── codecov.yaml ├── docker-compose.dev.yaml ├── docker-compose.kind.yaml ├── docker-compose.yaml ├── jest.config.js ├── jest.setup.js ├── kind.yaml ├── server ├── .env.template ├── .env.test ├── VERSION ├── config.yaml.example ├── package.json ├── src │ ├── addons │ │ ├── clickhouse.ts │ │ ├── cloudflare.ts │ │ ├── cockroachDB.ts │ │ ├── kuberoCouchDB.ts │ │ ├── kuberoElasticsearch.ts │ │ ├── kuberoKafka.ts │ │ ├── kuberoMail.ts │ │ ├── kuberoMemcached.ts │ │ ├── kuberoMongoDB.ts │ │ ├── kuberoMysql.ts │ │ ├── kuberoPostgresql.ts │ │ ├── kuberoRabbitMQ.ts │ │ ├── kuberoRedis.ts │ │ ├── minio.ts │ │ ├── mongoDB.ts │ │ ├── mongoDBCluster.ts │ │ ├── plugin.ts │ │ ├── postgresCluster.ts │ │ ├── redis.ts │ │ └── redisCluster.ts │ ├── configure.ts │ ├── git │ │ ├── bitbucket.ts │ │ ├── gitea.ts │ │ ├── github.ts │ │ ├── gitlab.ts │ │ ├── gogs.ts │ │ ├── repo.test.ts │ │ ├── repo.ts │ │ └── types.ts │ ├── index.ts │ ├── kubero.ts │ ├── modules │ │ ├── addons.test.ts │ │ ├── addons.ts │ │ ├── application.ts │ │ ├── audit.ts │ │ ├── auth.test.ts │ │ ├── auth.ts │ │ ├── config.ts │ │ ├── deployments.ts │ │ ├── kubectl.test.ts │ │ ├── kubectl.ts │ │ ├── metrics.ts │ │ ├── notifications.ts │ │ ├── pipeline.ts │ │ ├── repositories.ts │ │ ├── settings.ts │ │ └── templates │ │ │ ├── buildpacks.yaml │ │ │ ├── dockerfile.yaml │ │ │ └── nixpacks.yaml │ ├── routes │ │ ├── addons.test.ts │ │ ├── addons.ts │ │ ├── apps.ts │ │ ├── auth.ts │ │ ├── config.ts │ │ ├── deployments.ts │ │ ├── logs.ts │ │ ├── metrics.ts │ │ ├── pipelines.ts │ │ ├── repo.ts │ │ ├── security.ts │ │ ├── settings.ts │ │ └── templates.ts │ ├── socket.ts │ └── types.ts ├── swagger.js ├── swagger.json ├── tsconfig.json └── yarn.lock └── services ├── .yamllint ├── README-deprecated.md ├── README.md ├── activepieces └── app.yaml ├── adminerevo └── app.yaml ├── affine └── app.yaml ├── airbroke └── app.yaml ├── anse └── app.yaml ├── appsmith └── app.yaml ├── archivebox └── app.yaml ├── atuin └── app.yaml ├── authorizer └── app.yaml ├── azzimut └── app.yaml ├── beszel └── app.yaml ├── bitwarden └── app.yaml ├── bluesky-pds └── app.yaml ├── bookstack └── app.yaml ├── browserless └── app.yaml ├── bugsink └── app.yaml ├── caddygen └── app.yaml ├── calcom └── app.yaml ├── casdoor └── app.yaml ├── changedetection └── app.yaml ├── chartdb └── app.yaml ├── chartmuseum └── app.yaml ├── chatpad └── app.yaml ├── chibisafe └── app.yaml ├── ciao └── app.yaml ├── claper └── app.yaml ├── code-server └── app.yaml ├── concrete5 └── app.yaml ├── convertx └── app.yaml ├── coral └── app.yaml ├── corteza └── app.yaml ├── cyberchef └── app.yaml ├── daily-stars-explorer └── app.yaml ├── dashy └── app.yaml ├── databag └── app.yaml ├── directus └── app.yaml ├── doccano └── app.yaml ├── dockerregistry └── app.yaml ├── docmost └── app.yaml ├── documenso └── app.yaml ├── docuseal └── app.yaml ├── dokuwiki └── app.yaml ├── drawdb └── app.yaml ├── elasticvue └── app.yaml ├── etherpad └── app.yaml ├── evershop └── app.yaml ├── excalidraw └── app.yaml ├── fider └── app.yaml ├── fief └── app.yaml ├── filestash └── app.yaml ├── firefox └── app.yaml ├── flightlog └── app.yaml ├── flowise └── app.yaml ├── gatus └── app.yaml ├── ghost └── app.yaml ├── gitea └── app.yaml ├── go-httpbin └── app.yaml ├── gotenberg └── app.yaml ├── gotify └── app.yaml ├── grafana └── app.yaml ├── grav └── app.yaml ├── guitos └── app.yaml ├── homarr └── app.yaml ├── homebox └── app.yaml ├── homer └── app.yaml ├── hopscotch └── app.yaml ├── illa └── app.yaml ├── it-tools └── app.yaml ├── joomla └── app.yaml ├── jsoncrack └── app.yaml ├── kanboard └── app.yaml ├── keila └── app.yaml ├── kener └── app.yaml ├── kimai └── app.yaml ├── kotaemon └── app.yaml ├── kuma └── app.yaml ├── languagetool └── app.yaml ├── laravel └── app.yaml ├── leantime └── app.yaml ├── libretranslate └── app.yaml ├── limesurvey └── app.yaml ├── logto ├── app.yaml └── logto-admin-ingress.yaml ├── lychee └── app.yaml ├── maputnik └── app.yaml ├── meilisearch └── app.yaml ├── memos └── app.yaml ├── metabase └── app.yaml ├── metube └── app.yaml ├── microbin └── app.yaml ├── mirotalk-p2p └── app.yaml ├── mongodb-express └── app.yaml ├── moodist └── app.yaml ├── mosparo └── app.yaml ├── n8n └── app.yaml ├── nats └── app.yaml ├── neko └── app.yaml ├── netbird └── app.yaml ├── nocodb └── app.yaml ├── note-mark └── app.yaml ├── ntfy └── app.yaml ├── opengist └── app.yaml ├── outline └── app.yaml ├── pairdrop └── app.yaml ├── paperless-ngx-postgresql └── app.yaml ├── paperless-ngx-sqlite └── app.yaml ├── passbolt └── app.yaml ├── penpot-backend └── app.yaml ├── penpot-exporter └── app.yaml ├── penpot-frontend └── app.yaml ├── peppermint └── app.yaml ├── pgadmin └── app.yaml ├── photoview └── app.yaml ├── phpmyadmin └── app.yaml ├── piwigo └── app.yaml ├── planka └── app.yaml ├── planning-poker └── app.yaml ├── postiz └── app.yaml ├── presentator └── app.yaml ├── promlens └── app.yaml ├── qdrant └── app.yaml ├── rallly └── app.yaml ├── raneto └── app.yaml ├── redis-commander └── app.yaml ├── redisinsight └── app.yaml ├── registry-ui └── app.yaml ├── rocketchat └── app.yaml ├── rsshub └── app.yaml ├── ryot └── app.yaml ├── screego └── app.yaml ├── screen-sharing └── app.yaml ├── searxng └── app.yaml ├── semaphore └── app.yaml ├── serge └── app.yaml ├── serpbear └── app.yaml ├── shiori └── app.yaml ├── silverbullet └── app.yaml ├── slash └── app.yaml ├── slink └── app.yaml ├── speedtest-tracker └── app.yaml ├── sqlpad └── app.yaml ├── sshwifty └── app.yaml ├── statping-ng └── app.yaml ├── statusnook └── app.yaml ├── sterlingpdf └── app.yaml ├── symfony └── app.yaml ├── tasksmd └── app.yaml ├── textbee-api └── app.yaml ├── textbee └── app.yaml ├── timetagger └── app.yaml ├── tolgee └── app.yaml ├── traggo └── app.yaml ├── trailbase └── app.yaml ├── trilium └── app.yaml ├── twenty └── app.yaml ├── twofauth └── app.yaml ├── typesense └── app.yaml ├── umami └── app.yaml ├── unleash └── app.yaml ├── vaultwarden └── app.yaml ├── vvveb.mysql └── app.yaml ├── web-check └── app.yaml ├── webkubectl └── app.yaml ├── wekan └── app.yaml ├── whiteboard └── app.yaml ├── whoogle └── app.yaml ├── wikijs └── app.yaml ├── wordpress └── app.yaml ├── workout-tracker └── app.yaml └── zipline └── app.yaml /.dockerignore: -------------------------------------------------------------------------------- 1 | **/node_modules_AAAA 2 | Dockerfile 3 | .dockerignore 4 | .git 5 | **.gitignore 6 | .npmignore 7 | .env* 8 | docker-compose.* 9 | kind.* 10 | .eslintrc.js 11 | README.md 12 | **/dist_AAAAA -------------------------------------------------------------------------------- /.gitcd: -------------------------------------------------------------------------------- 1 | extraReleaseCommand: null 2 | feature: null 3 | master: main 4 | preReleaseCommand: null 5 | tag: null 6 | test: null 7 | versionScheme: null 8 | versionType: manual 9 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.yml: -------------------------------------------------------------------------------- 1 | name: Feature request 2 | description: Suggest features, propose improvements, discuss new ideas 3 | #title: "[FEATURE]: " 4 | labels: ["Idea/discussion"] 5 | body: 6 | - type: textarea 7 | id: description 8 | attributes: 9 | label: Description 10 | description: Provide a detailed description of the change or addition you are proposing. 11 | validations: 12 | required: true 13 | - type: textarea 14 | id: possible_sol 15 | attributes: 16 | label: Possible solution 17 | description: A clear and concise description of what you want to happen. 18 | validations: 19 | required: true 20 | - type: textarea 21 | id: alternatives 22 | attributes: 23 | label: Alternatives 24 | description: List any possible alternatives to your current request. 25 | validations: 26 | required: false 27 | - type: textarea 28 | id: context 29 | attributes: 30 | label: Additional information 31 | description: Is there anything else we should know about this feature request? 32 | validations: 33 | required: false 34 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/other.yml: -------------------------------------------------------------------------------- 1 | name: Other issue 2 | description: Use this for any other issues. Do NOT create blank issues 3 | #title: "[OTHER]: " 4 | labels: ["question"] 5 | body: 6 | - type: textarea 7 | id: description 8 | attributes: 9 | label: What would you like to share? 10 | description: Provide a clear and concise explanation of your issue. 11 | validations: 12 | required: true 13 | - type: textarea 14 | id: extrainfo 15 | attributes: 16 | label: Additional information 17 | description: Is there anything else we should know about this issue? 18 | validations: 19 | required: false 20 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | # Description 2 | 3 | > Please include a **summary** of the changes and the related issue. Please also include relevant **motivation** and context. List any **dependencies** that are required for this change. 4 | 5 | Fixes # (issue) 6 | 7 | ## Type of change 8 | 9 | > Please delete options that are not relevant. 10 | 11 | - [ ] Template (non-breaking change which adds a template) 12 | - [ ] Bug fix (non-breaking change which fixes an issue) 13 | - [ ] New feature (non-breaking change which adds functionality) 14 | - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) 15 | - [ ] This change requires a documentation update 16 | 17 | # How Has This Been Tested? 18 | 19 | > Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration 20 | 21 | - [ ] I've built the image and tested it on a kubernetes cluster 22 | 23 | **Test Configuration**: 24 | 25 | - Operator Version: 26 | - Kubernetes Version: 27 | - Kubero CLI Version (if applicable): 28 | 29 | # Checklist: 30 | 31 | - [ ] I removed unnecessary debug logs 32 | - [ ] My code follows the style guidelines of this project 33 | - [ ] I have performed a self-review of my code 34 | - [ ] I documented my code, particularly in hard-to-understand areas 35 | - [ ] I have made corresponding changes to the documentation 36 | - [ ] My changes generate no new warnings 37 | -------------------------------------------------------------------------------- /.github/workflows/jest-codecov.yaml: -------------------------------------------------------------------------------- 1 | name: 'Jest Codecov' 2 | on: 3 | workflow_dispatch: 4 | defaults: 5 | run: 6 | working-directory: ./server-refactored-v3 7 | jobs: 8 | codecov: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v4 # checkout the repo 12 | - name: Install dependencies # install dependencies 13 | run: yarn install --frozen-lockfile 14 | - run: yarn build # install packages 15 | - run: yarn test:ci # run tests (configured to use jest-junit reporter) 16 | - name: Upload coverage reports to Codecov 17 | uses: codecov/codecov-action@v5 18 | with: 19 | directory: server-refactored-v3/coverage 20 | token: ${{ secrets.CODECOV_TOKEN }} -------------------------------------------------------------------------------- /.github/workflows/jest-pr.yaml: -------------------------------------------------------------------------------- 1 | name: 'Jest PR Test' 2 | on: 3 | pull_request: 4 | workflow_dispatch: 5 | defaults: 6 | run: 7 | working-directory: ./server-refactored-v3 8 | jobs: 9 | build-test: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v4 # checkout the repo 13 | - name: Install dependencies # install dependencies 14 | run: yarn install --frozen-lockfile 15 | - run: yarn build # install packages 16 | - run: yarn test:ci # run tests (configured to use jest-junit reporter) 17 | - uses: actions/upload-artifact@v4 # upload test results 18 | if: ${{ !cancelled() }} # run this step even if previous step failed 19 | with: 20 | name: test-results # Name of the check run which will be created 21 | path: server-refactored-v3/reports/jest-junit.xml 22 | reporter: jest-junit # Format of test results -------------------------------------------------------------------------------- /.github/workflows/jest-report.yaml: -------------------------------------------------------------------------------- 1 | name: 'Jest Test Report' 2 | on: 3 | workflow_run: 4 | workflows: ['Jest PR Test'] # runs after 'Jest PR Test' workflow 5 | types: 6 | - completed 7 | permissions: 8 | contents: read 9 | actions: read 10 | checks: write 11 | jobs: 12 | report: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: dorny/test-reporter@v2 16 | with: 17 | artifact: test-results # artifact name 18 | name: JEST Tests # Name of the check run which will be created 19 | path: '*.xml' # Path to test results (inside artifact .zip) 20 | reporter: jest-junit # Format of test results -------------------------------------------------------------------------------- /.github/workflows/stargazers.yaml: -------------------------------------------------------------------------------- 1 | name: 'Mail on Star' 2 | on: 3 | workflow_dispatch: 4 | watch: 5 | types: [started] 6 | jobs: 7 | stargazer: 8 | name: 'stargazers' 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Send email 12 | uses: dawidd6/action-send-mail@v1.3.0 13 | with: 14 | server_address: smtp.gmail.com 15 | server_port: 465 16 | username: ${{ secrets.GMAIL_USER }} 17 | password: ${{ secrets.GMAIL_PASS }} 18 | subject: ${{ github.event.repository.stargazers_count }} ✨ ${{ github.actor }} stared ${{ github.repository }} 19 | body: | 20 | ${{ github.actor }} just starred your mail-on-star repo!!! 21 | ${{ github.event.repository.html_url }} 22 | Forks: ${{ github.event.repository.forks_count }} 23 | Stars: ${{ github.event.repository.stargazers_count }} 24 | Issues: ${{ github.event.repository.open_issues_count }} 25 | 26 | ${{ github.repository }} 27 | to: ${{ secrets.GMAIL_ADDRESS }} 28 | from: ${{ secrets.GMAIL_ADDRESS }} -------------------------------------------------------------------------------- /.github/workflows/yamllint.yaml: -------------------------------------------------------------------------------- 1 | name: 'Yamllint services' 2 | on: 3 | pull_request: 4 | paths: 5 | - 'services/**' 6 | jobs: 7 | yamllint: 8 | name: 'Yamllint' 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: 'Checkout' 12 | uses: actions/checkout@master 13 | - name: 'Yamllint services' 14 | uses: karancode/yamllint-github-action@master 15 | with: 16 | yamllint_file_or_dir: 'services' 17 | yamllint_config_datapath: 'services/.yamllint' 18 | yamllint_strict: false 19 | yamllint_comment: true 20 | env: 21 | GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | .env 3 | node_modules 4 | 5 | .odo/odo-file-index.json 6 | 7 | notes.txt 8 | kubeconfig 9 | kubeconfig* 10 | 11 | example-*.json 12 | 13 | *.log 14 | .dockerdata 15 | 16 | secrets.yaml 17 | config.yaml 18 | 19 | db -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:22-alpine AS build 2 | ENV NODE_ENV=development 3 | 4 | WORKDIR /build 5 | 6 | ## Server 7 | COPY server ./server 8 | RUN cd /build/server && \ 9 | yarn install 10 | RUN cd /build/server && \ 11 | yarn build && \ 12 | yarn swaggergen 13 | 14 | ## Client 15 | COPY client ./client 16 | RUN cd /build/client && \ 17 | yarn install 18 | RUN cd /build/client && \ 19 | yarn build 20 | 21 | FROM build AS release 22 | ARG VERSION=unknown 23 | 24 | LABEL maintainer='www.kubero.dev' 25 | LABEL version=$VERSION 26 | 27 | ENV NODE_ENV=production 28 | 29 | WORKDIR /app/ 30 | 31 | COPY --from=build /build/server/dist /app/server 32 | COPY --from=build /build/server/package.json /app/server/package.json 33 | COPY --from=build /build/server/src/modules/templates /app/server/modules/templates 34 | COPY --from=build /build/server/node_modules /app/server/node_modules 35 | COPY --from=build /build/server/swagger.json /app/swagger.json 36 | 37 | 38 | RUN echo -n $VERSION > /app/server/VERSION 39 | 40 | WORKDIR /app/server 41 | 42 | CMD [ "node", "index.js" ] -------------------------------------------------------------------------------- /MAINTAINERS.md: -------------------------------------------------------------------------------- 1 | - [Overview](#overview) 2 | - [Current Maintainers](#current-maintainers) 3 | - [Emeritus Matinainers](#emeritus-maintiainers) 4 | 5 | ## Current Maintainers 6 | The current Maintainers Group for the **Kubero** Project consists of: 7 | 8 | | Name | GitHub ID | Employer | Responsibilities | 9 | | ------------- | --------- | ----------------------------- | ---------------- | 10 | | Gianni Carafa | [mms-gianni](https://github.com/mms-gianni) | Schweizer Radio und Fernsehen | Maintainer | 11 | 12 | This list must be kept in sync with the [CNCF Project Maintainers list](https://github.com/cncf/foundation/blob/master/project-maintainers.csv). 13 | 14 | ## Emeritus Matinainers 15 | 16 | | Name | Employer | Responsibilities | 17 | | ------------- | ----------------------------- | ---------------- | 18 | | | | | 19 | -------------------------------------------------------------------------------- /OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs: https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - mms-gianni 5 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Supported Versions 4 | 5 | | Version | Supported | 6 | | ------- | ------------------ | 7 | | 2.X.X | :white_check_mark: | 8 | | 1.X.X | EOL 28.09.2024 | 9 | | 0.X.X | | 10 | 11 | ## Reporting a Vulnerability 12 | 13 | Pleas open a Issue in https://github.com/kubero-dev/kubero 14 | -------------------------------------------------------------------------------- /client/.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | not dead 4 | not ie 11 5 | -------------------------------------------------------------------------------- /client/.editorconfig: -------------------------------------------------------------------------------- 1 | [*.{js,jsx,ts,tsx,vue}] 2 | indent_style = space 3 | indent_size = 2 4 | trim_trailing_whitespace = true 5 | insert_final_newline = true 6 | -------------------------------------------------------------------------------- /client/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | node: true, 5 | }, 6 | extends: [ 7 | 'plugin:vue/vue3-essential', 8 | 'eslint:recommended', 9 | '@vue/eslint-config-typescript', 10 | ], 11 | rules: { 12 | 'vue/multi-word-component-names': 'off', 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /client/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | # local env files 6 | .env.local 7 | .env.*.local 8 | 9 | # Log files 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | pnpm-debug.log* 14 | 15 | # Editor directories and files 16 | .idea 17 | .vscode 18 | *.suo 19 | *.ntvs* 20 | *.njsproj 21 | *.sln 22 | *.sw? 23 | -------------------------------------------------------------------------------- /client/README.md: -------------------------------------------------------------------------------- 1 | # base 2 | 3 | ## Project setup 4 | 5 | ``` 6 | # yarn 7 | yarn 8 | 9 | # npm 10 | npm install 11 | 12 | # pnpm 13 | pnpm install 14 | 15 | # bun 16 | bun install 17 | ``` 18 | 19 | ### Compiles and hot-reloads for development 20 | 21 | ``` 22 | # yarn 23 | yarn dev 24 | 25 | # npm 26 | npm run dev 27 | 28 | # pnpm 29 | pnpm dev 30 | 31 | # bun 32 | pnpm run dev 33 | ``` 34 | 35 | ### Compiles and minifies for production 36 | 37 | ``` 38 | # yarn 39 | yarn build 40 | 41 | # npm 42 | npm run build 43 | 44 | # pnpm 45 | pnpm build 46 | 47 | # bun 48 | pnpm run build 49 | ``` 50 | 51 | ### Lints and fixes files 52 | 53 | ``` 54 | # yarn 55 | yarn lint 56 | 57 | # npm 58 | npm run lint 59 | 60 | # pnpm 61 | pnpm lint 62 | 63 | # bun 64 | pnpm run lint 65 | ``` 66 | 67 | ### Customize configuration 68 | 69 | See [Configuration Reference](https://vitejs.dev/config/). 70 | -------------------------------------------------------------------------------- /client/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | Kubero 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /client/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kubero-ui", 3 | "private": true, 4 | "license": "GPL-3.0", 5 | "scripts": { 6 | "dev": "vite", 7 | "watch": "vue-tsc --noEmit && vite build --watch", 8 | "build": "vue-tsc --noEmit && vite build", 9 | "preview": "vite preview", 10 | "lint": "eslint . --fix --ignore-path .gitignore" 11 | }, 12 | "dependencies": { 13 | "@mdi/font": "7.0.96", 14 | "@wdns/vue-code-block": "^2.3.3", 15 | "apexcharts": "^3.49.0", 16 | "axios": "^1.7.4", 17 | "chart.js": "^4.4.1", 18 | "core-js": "^3.29.0", 19 | "lodash": "^4.17.21", 20 | "lodash-es": "^4.17.21", 21 | "pinia": "^2.1.7", 22 | "roboto-fontface": "*", 23 | "socket.io-client": "^4.7.3", 24 | "sweetalert2": "^11.10.2", 25 | "vue": "^3.4.0", 26 | "vue-chartjs": "^5.3.1", 27 | "vue-router": "^4.2.0", 28 | "vue-socket.io-extended": "^4.2.0", 29 | "vue3-apexcharts": "^1.5.2", 30 | "vue3-cookies": "^1.0.6", 31 | "vuetify": "^3.4.0", 32 | "xterm": "^5.3.0", 33 | "yaml": "^2.6.1" 34 | }, 35 | "devDependencies": { 36 | "@babel/types": "^7.21.4", 37 | "@types/lodash.get": "^4.4.9", 38 | "@types/lodash.set": "^4.3.9", 39 | "@types/node": "^18.15.0", 40 | "@vitejs/plugin-vue": "^4.0.0", 41 | "@vue/eslint-config-typescript": "^11.0.0", 42 | "eslint": "^8.22.0", 43 | "eslint-plugin-vue": "^9.3.0", 44 | "sass": "^1.60.0", 45 | "typescript": "^5.0.0", 46 | "unplugin-fonts": "^1.0.3", 47 | "vite": "^5.1.8", 48 | "vite-plugin-vuetify": "^1.0.0", 49 | "vue-tsc": "^2.1.0" 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /client/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/favicon.ico -------------------------------------------------------------------------------- /client/public/img/addons/CockroachDB.svg: -------------------------------------------------------------------------------- 1 | CL -------------------------------------------------------------------------------- /client/public/img/addons/CouchDB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/CouchDB.png -------------------------------------------------------------------------------- /client/public/img/addons/Elasticsearch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/Elasticsearch.png -------------------------------------------------------------------------------- /client/public/img/addons/Haraka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/Haraka.png -------------------------------------------------------------------------------- /client/public/img/addons/HarakaTxt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/HarakaTxt.png -------------------------------------------------------------------------------- /client/public/img/addons/Kafka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/Kafka.png -------------------------------------------------------------------------------- /client/public/img/addons/MariaDB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/MariaDB.png -------------------------------------------------------------------------------- /client/public/img/addons/Mariadb_full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/Mariadb_full.png -------------------------------------------------------------------------------- /client/public/img/addons/Memcached.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/Memcached.png -------------------------------------------------------------------------------- /client/public/img/addons/Minio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/Minio.png -------------------------------------------------------------------------------- /client/public/img/addons/MongoDB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/MongoDB.png -------------------------------------------------------------------------------- /client/public/img/addons/MongoDBCluster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/MongoDBCluster.png -------------------------------------------------------------------------------- /client/public/img/addons/Mongodb_full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/Mongodb_full.png -------------------------------------------------------------------------------- /client/public/img/addons/MySQL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/MySQL.png -------------------------------------------------------------------------------- /client/public/img/addons/PerconaServerMongoDB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/PerconaServerMongoDB.png -------------------------------------------------------------------------------- /client/public/img/addons/PostgresCluster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/PostgresCluster.png -------------------------------------------------------------------------------- /client/public/img/addons/RabbitMQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/RabbitMQ.png -------------------------------------------------------------------------------- /client/public/img/addons/Redis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/Redis.png -------------------------------------------------------------------------------- /client/public/img/addons/RedisCluster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/RedisCluster.png -------------------------------------------------------------------------------- /client/public/img/addons/clickhouse.svg: -------------------------------------------------------------------------------- 1 | ClickHouse -------------------------------------------------------------------------------- /client/public/img/addons/postgresql.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/postgresql.png -------------------------------------------------------------------------------- /client/public/img/addons/redis-cluster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/public/img/addons/redis-cluster.png -------------------------------------------------------------------------------- /client/public/img/icons/connected.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /client/public/img/icons/disconnected.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /client/public/img/icons/discord.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/public/img/icons/docker.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/public/img/icons/gitea.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /client/public/img/icons/hexagon1-empty-bold.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /client/public/img/icons/hexagon1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /client/public/img/icons/hexagon3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /client/public/img/icons/nixos.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: / -------------------------------------------------------------------------------- /client/src/App.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | -------------------------------------------------------------------------------- /client/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubero-dev/kubero/cb6d102cd111da45c5bb7a78000a521eb04e2e5f/client/src/assets/logo.png -------------------------------------------------------------------------------- /client/src/assets/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /client/src/components/apps/overview.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 51 | 52 | -------------------------------------------------------------------------------- /client/src/components/breadcrumbs.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 31 | 32 | -------------------------------------------------------------------------------- /client/src/layouts/default/AppBar.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 49 | -------------------------------------------------------------------------------- /client/src/layouts/default/AppFooter.vue: -------------------------------------------------------------------------------- 1 | 12 | -------------------------------------------------------------------------------- /client/src/layouts/default/Popup.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /client/src/layouts/login/Login.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | -------------------------------------------------------------------------------- /client/src/layouts/login/View.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 14 | 15 | -------------------------------------------------------------------------------- /client/src/layouts/setup/Setup.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 10 | -------------------------------------------------------------------------------- /client/src/layouts/setup/View.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 14 | 15 | -------------------------------------------------------------------------------- /client/src/main.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * main.ts 3 | * 4 | * Bootstraps Vuetify and other plugins then mounts the App` 5 | */ 6 | 7 | // Plugins 8 | import { registerPlugins } from '@/plugins' 9 | 10 | // Components 11 | import App from './App.vue' 12 | 13 | // Composables 14 | import { createApp } from 'vue' 15 | 16 | const app = createApp(App) 17 | //app.config.performance = true 18 | 19 | registerPlugins(app) 20 | 21 | app.mount('#app') 22 | -------------------------------------------------------------------------------- /client/src/plugins/code-block.ts: -------------------------------------------------------------------------------- 1 | import { createVCodeBlock } from '@wdns/vue-code-block'; 2 | 3 | export default createVCodeBlock({ 4 | // options 5 | }); -------------------------------------------------------------------------------- /client/src/plugins/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * plugins/index.ts 3 | * 4 | * Automatically included in `./src/main.ts` 5 | */ 6 | 7 | // Plugins 8 | import vuetify from './vuetify' 9 | import router from '../router' 10 | import pinia from './pinia' 11 | import vCodeBlock from './code-block' 12 | 13 | // Types 14 | import type { App } from 'vue' 15 | 16 | export function registerPlugins (app: App) { 17 | app 18 | .use(pinia) 19 | // @ts-ignore: Type missmatch 20 | .use(vCodeBlock) 21 | .use(vuetify) 22 | .use(router) 23 | } 24 | -------------------------------------------------------------------------------- /client/src/plugins/pinia.ts: -------------------------------------------------------------------------------- 1 | import { createPinia } from 'pinia' 2 | 3 | export default createPinia() -------------------------------------------------------------------------------- /client/src/plugins/vuetify.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * plugins/vuetify.ts 3 | * 4 | * Framework documentation: https://vuetifyjs.com` 5 | */ 6 | 7 | // Styles 8 | import '@mdi/font/css/materialdesignicons.css' 9 | import 'vuetify/styles' 10 | import colors from 'vuetify/util/colors' 11 | 12 | 13 | // Composables 14 | import { createVuetify } from 'vuetify' 15 | 16 | // https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides 17 | export default createVuetify({ 18 | theme: { 19 | themes: { 20 | dark: { 21 | colors: { 22 | "on-background": "#BBB", 23 | primary: '#563774', 24 | secondary: '#1B1B1B', 25 | cardBackground: '#212121', 26 | "on-cardBackground": '#CCC', 27 | navBG: '#262626', 28 | kubero: '#684888', 29 | "on-surface-variant": "#1B1B1B", 30 | 31 | accent: '#8c9eff', 32 | error: '#b71c1c', 33 | 34 | focusbg: '#393939', 35 | }, 36 | }, 37 | light: { 38 | colors: { 39 | "on-background": "#333", 40 | primary: '#8560A9', 41 | secondary: '#E0E0E0', 42 | cardBackground: '#FAFAFA', 43 | "on-cardBackground": '#444', 44 | navBG: '#F7F8FB', 45 | kubero: '#684888', 46 | 47 | accent: '#82B1FF', 48 | error: '#FF5252', 49 | info: '#2196F3', 50 | success: '#4CAF50', 51 | warning: '#FFC107', 52 | 53 | focusbg: '#d3d3d3', 54 | }, 55 | }, 56 | }, 57 | }, 58 | }) 59 | -------------------------------------------------------------------------------- /client/src/socket.io.ts: -------------------------------------------------------------------------------- 1 | import io from 'socket.io-client'; 2 | 3 | export const useSocketIO = (token: string) => { 4 | let socketOptions = { 5 | autoConnect: true, 6 | auth: {} 7 | }; 8 | 9 | // Do not use authentication when token is empty 10 | if (token !== '') { 11 | socketOptions.auth = { 12 | token: token, 13 | }; 14 | //console.log('socket.io auth :::: ', token); 15 | } 16 | 17 | const socket = io(socketOptions); 18 | return { 19 | socket, 20 | } 21 | } -------------------------------------------------------------------------------- /client/src/stores/kubero.ts: -------------------------------------------------------------------------------- 1 | import { defineStore } from 'pinia' 2 | 3 | export const useKuberoStore = defineStore('kubero', { 4 | state: () => ({ 5 | kubero: { 6 | version: "dev", 7 | operatorVersion: "unknown", 8 | session: false, 9 | kubernetesVersion: "", 10 | isAuthenticated: false, 11 | socket: null as any, 12 | nextGenSession: { 13 | username: "", 14 | token: "", 15 | }, 16 | auditEnabled: false, 17 | adminDisabled: false, 18 | templatesEnabled: true, 19 | buildPipeline: false, 20 | consoleEnabled: false, 21 | metricsEnabled: false, 22 | sleepEnabled: false, 23 | }, 24 | buildPipeline: false, 25 | }), 26 | /* 27 | getters: { 28 | getKubero() { 29 | return this.kubero 30 | }, 31 | }, 32 | actions: { 33 | setKubero(kubero) { 34 | this.kubero = kubero 35 | }, 36 | }, 37 | */ 38 | }) -------------------------------------------------------------------------------- /client/src/styles/settings.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * src/styles/settings.scss 3 | * 4 | * Configures SASS variables and Vuetify overwrites 5 | */ 6 | 7 | // https://vuetifyjs.com/features/sass-variables/` 8 | // @use 'vuetify/settings' with ( 9 | // $color-pack: false 10 | // ); 11 | -------------------------------------------------------------------------------- /client/src/views/Activity.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 8 | -------------------------------------------------------------------------------- /client/src/views/Addons.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 8 | -------------------------------------------------------------------------------- /client/src/views/Login.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 8 | -------------------------------------------------------------------------------- /client/src/views/Pipeline.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 8 | -------------------------------------------------------------------------------- /client/src/views/Settings.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 8 | -------------------------------------------------------------------------------- /client/src/views/Setup.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 8 | -------------------------------------------------------------------------------- /client/src/views/Templates.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 8 | -------------------------------------------------------------------------------- /client/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | declare module '*.vue' { 4 | import type { DefineComponent } from 'vue' 5 | const component: DefineComponent<{}, {}, any> 6 | export default component 7 | } 8 | -------------------------------------------------------------------------------- /client/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "target": "ESNext", 5 | "useDefineForClassFields": true, 6 | "module": "ESNext", 7 | "moduleResolution": "Node", 8 | "strict": true, 9 | "jsx": "preserve", 10 | "resolveJsonModule": true, 11 | "isolatedModules": true, 12 | "esModuleInterop": true, 13 | "lib": ["ESNext", "DOM"], 14 | "skipLibCheck": true, 15 | "noEmit": true, 16 | "paths": { 17 | "@/*": [ 18 | "src/*" 19 | ] 20 | } 21 | }, 22 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], 23 | "references": [{ "path": "./tsconfig.node.json" }], 24 | "exclude": ["node_modules"] 25 | } 26 | -------------------------------------------------------------------------------- /client/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "ESNext", 5 | "moduleResolution": "Node", 6 | "allowSyntheticDefaultImports": true 7 | }, 8 | "include": ["vite.config.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /client/vite.config.ts: -------------------------------------------------------------------------------- 1 | // Plugins 2 | import vue from '@vitejs/plugin-vue' 3 | import vuetify, { transformAssetUrls } from 'vite-plugin-vuetify' 4 | import ViteFonts from 'unplugin-fonts/vite' 5 | 6 | // Utilities 7 | import { defineConfig } from 'vite' 8 | import { fileURLToPath, URL } from 'node:url' 9 | 10 | // https://vitejs.dev/config/ 11 | export default defineConfig({ 12 | css: { 13 | preprocessorOptions: { 14 | sass: { 15 | //silenceDeprecations: ["legacy-js-api"], 16 | api: 'modern-compiler', // or "modern", "legacy" 17 | }, 18 | scss: { 19 | //silenceDeprecations: ["legacy-js-api"], 20 | api: 'modern-compiler', // or "modern", "legacy" 21 | }, 22 | }, 23 | }, 24 | plugins: [ 25 | vue({ 26 | template: { transformAssetUrls }, 27 | }), 28 | // https://github.com/vuetifyjs/vuetify-loader/tree/master/packages/vite-plugin#readme 29 | vuetify({ 30 | autoImport: true, 31 | styles: { 32 | configFile: 'src/styles/settings.scss', 33 | }, 34 | }), 35 | ViteFonts({ 36 | google: { 37 | families: [ 38 | { 39 | name: 'Roboto', 40 | styles: 'wght@100;300;400;500;700;900', 41 | }, 42 | ], 43 | }, 44 | }), 45 | ], 46 | define: { 47 | 'process.env': {}, 48 | __VUE_PROD_DEVTOOLS__ : true, 49 | }, 50 | resolve: { 51 | alias: { 52 | '@': fileURLToPath(new URL('./src', import.meta.url)), 53 | }, 54 | extensions: ['.js', '.json', '.jsx', '.mjs', '.ts', '.tsx', '.vue'], 55 | }, 56 | build: { 57 | outDir: '../server/dist/public', 58 | emptyOutDir: true, 59 | }, 60 | server: { 61 | port: 3000, 62 | }, 63 | }) 64 | -------------------------------------------------------------------------------- /codecov.yaml: -------------------------------------------------------------------------------- 1 | ignore: 2 | - 'services' 3 | - 'docs' 4 | - '**/*.json' 5 | - '**/*.yaml' -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | # Kubero usually runs in a Kubernetes cluster in the kubero namespace 3 | # In case you want to run it from a separate container, you can use the following configuration 4 | # Make sure yourt cluster is accessible with the kubeconfig file or the KUBECONFIG_BASE64 environment variable 5 | # To extract your kubeconfig file from a Kubernetes cluster, you can use the following command: 6 | # kubectl config view --raw --minify | base64 7 | kubero: 8 | container_name: "kubero-ui" 9 | build: 10 | context: . 11 | args: 12 | - VERSION=Local-Build 13 | dockerfile: Dockerfile 14 | image: ghcr.io/kubero-dev/kubero/kubero:latest 15 | #command: ["tail", "-f", "/dev/null"] 16 | env_file: 17 | # copy the .env.template file to .env and change the values to your needs 18 | - server/.env 19 | environment: 20 | - KUBECONFIG_BASE64=CHANGE_ME 21 | #- KUBECONFIG_PATH=/app/server/kubeconfig 22 | - KUBERO_CONTEXT= 23 | - KUBERO_NAMESPACE=kubero 24 | - KUBERO_SESSION_KEY=randomString 25 | ports: 26 | # the UI will be available on http://localhost:8000. Make sure the port is not used by another service 27 | - "8000:2000" 28 | volumes: 29 | # copy the config.yaml.template file to config.yaml 30 | - ./server/config.yaml:/app/server/config.yaml 31 | - ./server/db:/app/server/db 32 | #- ./kubeconfig:/app/server/kubeconfig -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('ts-jest').JestConfigWithTsJest} */ 2 | module.exports = { 3 | 4 | //verbose: true, 5 | preset: 'ts-jest', 6 | testEnvironment: 'node', 7 | setupFiles: ["/jest.setup.js"], 8 | 9 | transform: { 10 | '^.+\\.tsx?$': 'ts-jest', 11 | }, 12 | }; -------------------------------------------------------------------------------- /jest.setup.js: -------------------------------------------------------------------------------- 1 | require("dotenv").config() -------------------------------------------------------------------------------- /kind.yaml: -------------------------------------------------------------------------------- 1 | kind: Cluster 2 | apiVersion: kind.x-k8s.io/v1alpha4 3 | name: kubero 4 | networking: 5 | ipFamily: ipv4 6 | apiServerAddress: 127.0.0.1 7 | nodes: 8 | - role: control-plane 9 | image: kindest/node:v1.28.0 10 | kubeadmConfigPatches: 11 | - | 12 | kind: InitConfiguration 13 | nodeRegistration: 14 | kubeletExtraArgs: 15 | node-labels: "ingress-ready=true" 16 | extraPortMappings: 17 | - containerPort: 80 18 | hostPort: 80 19 | protocol: TCP 20 | - containerPort: 443 21 | hostPort: 443 22 | protocol: TCP 23 | containerdConfigPatches: 24 | - |- 25 | [plugins."io.containerd.grpc.v1.cri".registry.mirrors."kubero-registry.kubero.svc:5000"] 26 | endpoint = ["http://kubero-registry.kubero.svc:5000"] 27 | [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.local.kubero.net"] 28 | endpoint = ["http://registry.local.kubero.net"] 29 | [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.localhost"] 30 | endpoint = ["http://registry.localhost"] 31 | -------------------------------------------------------------------------------- /server/.env.test: -------------------------------------------------------------------------------- 1 | PORT=2000 2 | KUBERO_WEBHOOK_SECRET=mysecret 3 | #KUBERO_USERS=base64encodedJson 4 | 5 | # webhook configuration 6 | KUBERO_WEBHOOK_URL=https://kuberoXXXXXXXXXXXXX.loca.lt/api/repo/webhooks 7 | 8 | KUBECONFIG_PATH=./kubeconfig 9 | KUBERO_CONFIG_PATH=./config.yaml 10 | KUBERO_CONTEXT=kind-kubero 11 | KUBERO_NAMESPACE=kubero-dev 12 | KUBERO_SESSION_KEY=randomString 13 | DEBUG=*.* 14 | 15 | ########################################## 16 | # git repository configuration 17 | # 18 | #GITHUB_PERSONAL_ACCESS_TOKEN= 19 | 20 | #GITEA_PERSONAL_ACCESS_TOKEN= 21 | #GITEA_BASEURL=http://localhost:3000 22 | 23 | #GOGS_PERSONAL_ACCESS_TOKEN= 24 | #GOGS_BASEURL=http://localhost:3000 25 | 26 | #GITLAB_BASEURL=http://localhost:3080 27 | #GITLAB_PERSONAL_ACCESS_TOKEN=glpat- 28 | 29 | #BITBUCKET_USERNAME=XXXXXXXXX 30 | #BITBUCKET_APP_PASSWORD= 31 | 32 | 33 | ################################################ 34 | # authentication section 35 | # 36 | #GITHUB_CLIENT_SECRET= 37 | #GITHUB_CLIENT_ID= 38 | #GITHUB_CLIENT_CALLBACKURL=http://kubero.lacolhost.com/api/auth/github/callback 39 | #GITHUB_CLIENT_ORG= 40 | 41 | #OAUTO2_CLIENT_NAME=Gitea 42 | #OAUTO2_CLIENT_AUTH_URL=http://gitea.lacolhost.com:3000/login/oauth/authorize 43 | #OAUTO2_CLIENT_TOKEN_URL=http://gitea.lacolhost.com:3000/login/oauth/access_token 44 | #OAUTH2_CLIENT_ID= 45 | #OAUTH2_CLIENT_SECRET= 46 | #OAUTH2_CLIENT_CALLBACKURL=http://kubero.lacolhost.com/api/auth/oauth2/callback 47 | #OAUTH2_CLIENT_SCOPE=openid profile email groups -------------------------------------------------------------------------------- /server/VERSION: -------------------------------------------------------------------------------- 1 | DEV -------------------------------------------------------------------------------- /server/src/git/repo.test.ts: -------------------------------------------------------------------------------- 1 | import { GithubApi } from './github'; 2 | import { GogsApi } from './gogs'; 3 | import { GitlabApi } from './gitlab'; 4 | import { BitbucketApi } from './bitbucket'; 5 | import { GiteaApi } from './gitea'; 6 | 7 | describe('GithubApi', () => { 8 | it('should load config', () => { 9 | const github = new GithubApi('', "token"); 10 | expect(github).toBeTruthy(); 11 | }); 12 | }); 13 | 14 | describe('GogsApi', () => { 15 | it('should load config', () => { 16 | const gogs = new GogsApi("http://localhost:3000", "token"); 17 | expect(gogs).toBeTruthy(); 18 | }); 19 | }); 20 | 21 | describe('GitlabApi', () => { 22 | it('should load config', () => { 23 | const gitlab = new GitlabApi("https://gitlab.com", "token"); 24 | expect(gitlab).toBeTruthy(); 25 | }); 26 | }); 27 | 28 | describe('GiteaApi', () => { 29 | it('should load config', () => { 30 | const gitea = new GiteaApi("https://codeberg.org", "token"); 31 | expect(gitea).toBeTruthy(); 32 | }); 33 | }); 34 | 35 | describe('Bitbucket', () => { 36 | it('should load config', () => { 37 | const bitbucket = new BitbucketApi("username", "password"); 38 | expect(bitbucket).toBeTruthy(); 39 | }); 40 | }); -------------------------------------------------------------------------------- /server/src/index.ts: -------------------------------------------------------------------------------- 1 | import express, { Express, Request, Response } from 'express'; 2 | import path, { resolve } from 'path' 3 | import history from 'connect-history-api-fallback'; 4 | import dotenv from 'dotenv'; 5 | import debug from 'debug'; 6 | import http from 'http'; 7 | dotenv.config(); 8 | import {configure} from './configure'; 9 | 10 | debug('app:server') 11 | 12 | 13 | const app: Express = express(); 14 | const server = http.createServer(app) 15 | const port: String = process.env.PORT || "2000"; 16 | 17 | // API 18 | configure(app, server); 19 | 20 | const maxAge = process.env.NODE_ENV === 'development' ? '1s' : '1h'; 21 | 22 | const publicDir = path.join(__dirname, 'public'); 23 | const publicPath = resolve(__dirname, publicDir); 24 | const staticConf = { maxAge: maxAge, etag: true }; 25 | 26 | app.use(history()); 27 | app.use(express.static(publicPath, staticConf)); 28 | 29 | server.listen(port, () => debug.log(`⚡️[server]: Server is running at http://127.0.0.1:${port}`)); 30 | -------------------------------------------------------------------------------- /server/src/modules/addons.test.ts: -------------------------------------------------------------------------------- 1 | import {Addons} from './addons'; 2 | import { Kubectl } from './kubectl'; 3 | import YAML from 'yaml'; 4 | import * as fs from 'fs'; 5 | import { IKuberoConfig} from '../types'; 6 | 7 | describe('Addons', () => { 8 | it('should load addons', async () => { 9 | const numberOfAddons = 5; 10 | 11 | const path = process.env.KUBERO_CONFIG_PATH as string || './config.yaml'; 12 | const kubectl = new Kubectl(); 13 | 14 | const addons = new Addons({kubectl: kubectl}); 15 | await addons.loadOperators(); 16 | expect(addons).toBeTruthy(); 17 | expect(addons.addonsList.length).toBe(numberOfAddons); 18 | expect(addons.getAddonsList()).resolves.toBeDefined(); 19 | }); 20 | }); -------------------------------------------------------------------------------- /server/src/modules/auth.test.ts: -------------------------------------------------------------------------------- 1 | import {Auth} from './auth'; 2 | 3 | describe('Auth', () => { 4 | it('requires no authentication', () => { 5 | process.env.KUBERO_USERS = ""; 6 | const auth = new Auth(); 7 | auth.init(); 8 | expect(auth.getAuthMiddleware().name).toBe('noAuthMiddleware'); 9 | expect(auth.getBearerMiddleware().name).toBe('authenticate'); 10 | }); 11 | 12 | it('requires authentication', () => { 13 | process.env.KUBERO_USERS = 'WwogIHsKICAgICJpZCI6IDEsCiAgICAibWV0aG9kIjogImxvY2FsIiwKICAgICJ1c2VybmFtZSI6ICJhc2RmIiwKICAgICJwYXNzd29yZCI6ICI4YTg0MjNiYTc4YzhmM2RhNjBhNjAyNDkzNjYzYzFjZGMyNDhhODk1NDFiMTI5ODBlMjkyMzk5YzBmMGNhZDIxIiwKICAgICJpbnNlY3VyZSI6IGZhbHNlCiAgfSwKICB7CiAgICAiaWQiOiAyLAogICAgIm1ldGhvZCI6ICJsb2NhbCIsCiAgICAidXNlcm5hbWUiOiAicXdlciIsCiAgICAicGFzc3dvcmQiOiAicXdlciIsCiAgICAiaW5zZWN1cmUiOiB0cnVlCiAgfQpd'; 14 | const auth = new Auth(); 15 | auth.init(); 16 | expect(auth.getAuthMiddleware().name).toBe('authMiddleware'); 17 | expect(auth.getBearerMiddleware().name).toBe('authenticate'); 18 | }); 19 | }); -------------------------------------------------------------------------------- /server/src/modules/kubectl.test.ts: -------------------------------------------------------------------------------- 1 | import { Kubectl } from './kubectl'; 2 | import YAML from 'yaml'; 3 | import * as fs from 'fs'; 4 | import { IKuberoConfig} from '../types'; 5 | 6 | describe('Kubectl', () => { 7 | it('should load config', () => { 8 | const kubectl = new Kubectl(); 9 | 10 | expect(kubectl).toBeTruthy(); 11 | expect(kubectl.log).toBeTruthy(); 12 | 13 | expect(kubectl.getPipelinesList()).resolves.toBeDefined(); 14 | 15 | expect(kubectl.getKubeVersion()).resolves.toBeDefined(); 16 | }); 17 | }); -------------------------------------------------------------------------------- /server/src/modules/pipeline.ts: -------------------------------------------------------------------------------- 1 | import { IBuildpack , IPipeline, IPipelinePhase, IKubectlPipeline, IKubectlMetadata, IgitLink, IGithubRepository, IRegistry} from '../types'; 2 | 3 | export class Pipeline implements IPipeline { 4 | public name: string; 5 | public domain: string; 6 | public dockerimage: string; 7 | public reviewapps: boolean; 8 | public phases: IPipelinePhase[]; 9 | public buildpack: IBuildpack; 10 | public deploymentstrategy: 'git' | 'docker'; 11 | public buildstrategy : 'plain' | 'dockerfile' | 'nixpacks' | 'buildpacks'; 12 | public git: IgitLink; 13 | public registry: IRegistry; 14 | 15 | constructor( 16 | pl: IPipeline, 17 | ) { 18 | this.name = pl.name; 19 | this.domain = pl.domain; 20 | this.reviewapps = pl.reviewapps; 21 | this.phases = pl.phases; 22 | this.buildpack = pl.buildpack; 23 | this.dockerimage = pl.dockerimage; 24 | this.deploymentstrategy = pl.deploymentstrategy; 25 | this.buildstrategy = pl.buildstrategy; 26 | this.git = pl.git; 27 | this.registry = pl.registry; 28 | } 29 | } 30 | 31 | export class KubectlPipeline implements IKubectlPipeline { 32 | public apiVersion: string; 33 | public kind: string; 34 | public metadata: IKubectlMetadata; 35 | public spec: Pipeline; 36 | 37 | constructor(pipeline: IPipeline) { 38 | this.apiVersion = "application.kubero.dev/v1alpha1"; 39 | this.kind = "KuberoPipeline"; 40 | this.metadata = { 41 | name: pipeline.name, 42 | labels: { 43 | manager: 'kubero', 44 | }, 45 | }; 46 | this.spec = pipeline; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /server/src/routes/addons.test.ts: -------------------------------------------------------------------------------- 1 | 2 | import {RouterAddons, authMiddleware} from './addons'; 3 | 4 | describe('Addons API', () => { 5 | it('addons should respond', () => { 6 | expect(RouterAddons.get('/api/addons')).toBeTruthy(); 7 | expect(RouterAddons.get('/api/cli/addons')).toBeTruthy(); 8 | expect(RouterAddons.get('/api/addons/operators')).toBeTruthy(); 9 | }); 10 | }); 11 | 12 | describe('Auth API', () => { 13 | process.env.KUBERO_USERS = ""; 14 | it('auth should respond', () => { 15 | expect(authMiddleware.name).toBe('noAuthMiddleware'); 16 | }); 17 | }); -------------------------------------------------------------------------------- /server/src/routes/addons.ts: -------------------------------------------------------------------------------- 1 | import express, { Request, Response } from 'express'; 2 | import { Auth } from '../modules/auth'; 3 | import { IAddonMinimal } from '../modules/addons'; 4 | 5 | const Router = express.Router(); 6 | export const RouterAddons = Router; 7 | export const auth = new Auth(); 8 | auth.init(); 9 | export const authMiddleware = auth.getAuthMiddleware(); 10 | export const bearerMiddleware = auth.getBearerMiddleware(); 11 | 12 | 13 | 14 | // get a list of addons 15 | Router.get('/cli/addons', bearerMiddleware, async function (req: Request, res: Response) { 16 | // #swagger.tags = ['Addons'] 17 | // #swagger.summary = 'Get a list of available addons' 18 | /* #swagger.security = [{ 19 | "bearerAuth": { 20 | "type": 'http', 21 | "scheme": 'bearer', 22 | "bearerFormat": 'JWT', 23 | } 24 | }] */ 25 | let addonslist = await req.app.locals.addons.getAddonsList(); 26 | res.send(addonslist) 27 | }); 28 | 29 | // get a list of addons 30 | Router.get('/addons', authMiddleware, async function (req: Request, res: Response) { 31 | // #swagger.tags = ['UI'] 32 | // #swagger.summary = 'Get a list of available addons' 33 | let addonslist = await req.app.locals.addons.getAddonsList(); 34 | res.send(addonslist) 35 | }); 36 | 37 | Router.get('/addons/operators', authMiddleware, async function (req: Request, res: Response) { 38 | // #swagger.tags = ['UI'] 39 | // #swagger.summary = 'Get a list of installed operators' 40 | let operatorslist = await req.app.locals.addons.getOperatorsList(); 41 | res.send(operatorslist) 42 | }); -------------------------------------------------------------------------------- /server/src/routes/templates.ts: -------------------------------------------------------------------------------- 1 | import express, { Request, Response } from 'express'; 2 | import { Auth } from '../modules/auth'; 3 | import axios from 'axios'; 4 | import YAML from 'yaml' 5 | 6 | export const Router = express.Router(); 7 | export const auth = new Auth(); 8 | auth.init(); 9 | export const authMiddleware = auth.getAuthMiddleware(); 10 | export const bearerMiddleware = auth.getBearerMiddleware(); 11 | 12 | // load a specific service from github repo 13 | Router.get('/templates/:template', authMiddleware, async function (req: Request, res: Response) { 14 | // #swagger.tags = ['UI'] 15 | // #swagger.summary = 'Get a specific template' 16 | // #swagger.description = 'Get a specific template from a catalog' 17 | // #swagger.parameters['template'] = { description: 'A base64 encoded URL', type: 'string' } 18 | 19 | // decode the base64 encoded URL 20 | const templateUrl = Buffer.from(req.params.template, 'base64').toString('ascii'); 21 | 22 | const template = await axios.get(templateUrl) 23 | .catch((err) => { 24 | res 25 | .status(500) 26 | .send(err); 27 | }); 28 | if (template) { 29 | const ret = YAML.parse(template.data); 30 | res.send(ret.spec); 31 | } 32 | }); 33 | -------------------------------------------------------------------------------- /server/src/socket.ts: -------------------------------------------------------------------------------- 1 | import debug from 'debug'; 2 | debug('app:socket') 3 | 4 | import { Server as HttpServer } from 'http'; 5 | import { Server } from "socket.io"; 6 | 7 | export function init(httpServer: HttpServer, authentication: boolean = false) { 8 | debug('initializing'); 9 | 10 | const io = new Server(httpServer, { /* options */ }); 11 | 12 | io.use((socket, next) => { 13 | if (!authentication) return next(); // skip authentication if not enabled 14 | 15 | const token = socket.handshake.auth.token; 16 | //console.log('socket.io auth :::: ', token); 17 | if (!token) return next(new Error("missing token")); 18 | if (token !== process.env.KUBERO_WS_TOKEN) return next(new Error("invalid token")); 19 | return next(); 20 | }); 21 | 22 | console.log('⚡️[server]: socket.io started') 23 | io.on('connection', client => { 24 | debug.debug('socket.io connected') 25 | 26 | client.on('join', join => { 27 | //leave all rooms before joining new one 28 | client.rooms.forEach(room => { 29 | if(client.id !== room && room !== join.room) { 30 | debug.log('exiting room : ' +room) 31 | client.leave(room); 32 | } 33 | }) 34 | debug.log('joining room', join.room) 35 | client.join(join.room); 36 | }); 37 | /* 38 | client.on('terminal', terminal => { 39 | console.log('main terminal', terminal) 40 | }); 41 | */ 42 | client.on('leave', leave => { 43 | debug.log('leaving room', leave.room) 44 | client.leave(leave.room); 45 | }); 46 | }); 47 | return io; 48 | } 49 | -------------------------------------------------------------------------------- /server/swagger.js: -------------------------------------------------------------------------------- 1 | const swaggerAutogen = require('swagger-autogen')({openapi: '3.0.0'}) 2 | // https://github.com/davibaltar/swagger-autogen 3 | const doc = { 4 | info: { 5 | version: '2.0.0', 6 | title: 'Kubero', 7 | description: 'Kubero is a web-based tool deploy applications on a Kubernetes clusters. It provides a simple and intuitive interface to manage your clusters, applications, and pipelines.', 8 | }, 9 | host: 'localhost:2000', 10 | basePath: '/api', 11 | schemes: ['http'], 12 | 13 | tags: [ 14 | { 15 | name: 'Apps', 16 | description: 'Application management', 17 | }, 18 | { 19 | name: 'Addons', 20 | description: 'Addons management', 21 | }, 22 | { 23 | name: 'Config', 24 | description: 'Configuration management', 25 | }, 26 | { 27 | name: 'Pipeline', 28 | description: 'Pipeline management', 29 | }, 30 | { 31 | name: 'Settings', 32 | description: 'Settings management', 33 | }, 34 | { 35 | name: 'UI', 36 | description: 'UI endpoints - require session', 37 | }, 38 | ], 39 | 40 | securityDefinitions: { 41 | bearerAuth: { 42 | type: 'http', 43 | scheme: 'bearer', 44 | bearerFormat: 'JWT', 45 | } 46 | } 47 | }; 48 | 49 | swaggerAutogen('./swagger.json', [ 50 | './dist/routes/addons.js', 51 | './dist/routes/apps.js', 52 | './dist/routes/auth.js', 53 | './dist/routes/config.js', 54 | './dist/routes/logs.js', 55 | './dist/routes/pipelines.js', 56 | './dist/routes/repo.js', 57 | './dist/routes/security.js', 58 | './dist/routes/settings.js', 59 | './dist/routes/templates.js', 60 | ], doc); -------------------------------------------------------------------------------- /services/.yamllint: -------------------------------------------------------------------------------- 1 | --- 2 | extends: default 3 | 4 | rules: 5 | braces: 6 | level: warning 7 | max-spaces-inside: 1 8 | brackets: 9 | level: warning 10 | max-spaces-inside: 1 11 | colons: 12 | level: warning 13 | commas: 14 | level: warning 15 | comments: disable 16 | comments-indentation: disable 17 | document-start: disable 18 | empty-lines: 19 | level: warning 20 | hyphens: 21 | level: warning 22 | indentation: 23 | level: warning 24 | indent-sequences: consistent 25 | line-length: 26 | max: 300 27 | level: warning 28 | allow-non-breakable-inline-mappings: true 29 | truthy: disable 30 | new-line-at-end-of-file: disable 31 | -------------------------------------------------------------------------------- /services/adminerevo/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: adminerevo 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Database management in a single PHP file" 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/132262423" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/adminerevo/adminerevo" 13 | kubero.dev/template.categories: '["database", "administration", "development"]' 14 | kubero.dev/template.title: "AdminerEvo" 15 | kubero.dev/template.website: "https://docs.adminerevo.org/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: adminerevo 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | cronjobs: [] 24 | addons: [] 25 | web: 26 | replicaCount: 1 27 | worker: 28 | replicaCount: 0 29 | image: 30 | containerPort: 8080 31 | pullPolicy: Always 32 | repository: ghcr.io/shyim/adminerevo 33 | tag: latest 34 | -------------------------------------------------------------------------------- /services/anse/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: anse 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Supercharged experience for multiple models such as ChatGPT, DALL-E and Stable Diffusion." 8 | kubero.dev/template.icon: "https://raw.githubusercontent.com/anse-app/anse/refs/heads/main/public/pwa-192.png" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/anse-app/anse" 13 | kubero.dev/template.categories: '["communication", "ai"]' 14 | kubero.dev/template.title: "Anse" 15 | kubero.dev/template.website: "https://anse.app" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: anse 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | cronjobs: [] 24 | addons: [] 25 | web: 26 | replicaCount: 1 27 | worker: 28 | replicaCount: 0 29 | image: 30 | containerPort: 8080 31 | pullPolicy: Always 32 | repository: ddiu8081/anse 33 | tag: latest 34 | -------------------------------------------------------------------------------- /services/appsmith/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Low code project to build admin panels, internal 7 | tools, and dashboards. Integrates with 15+ databases and any API. 8 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/67620218?s=200&v=4 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://images.ctfassets.net/lpvian6u6i39/57xRxbPxLB5Rx6YYCQstyW/d605683e09640cabbb15e9a9d65dc03d/img-cta.png"]' 12 | kubero.dev/template.source: https://github.com/appsmithorg/appsmith 13 | kubero.dev/template.categories: '["utilities", "work"]' 14 | kubero.dev/template.title: Appsmith 15 | kubero.dev/template.website: https://www.appsmith.com 16 | name: appsmith 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessModes: 24 | - ReadWriteMany 25 | emptyDir: false 26 | mountPath: /appsmith-stacks 27 | name: appsmith-volume 28 | size: 1Gi 29 | storageClass: standard 30 | image: 31 | containerPort: '80' 32 | repository: appsmith/appsmith-ce 33 | run: 34 | securityContext: 35 | readOnlyRootFilesystem: false 36 | tag: latest 37 | name: appsmith 38 | web: 39 | replicaCount: 1 40 | worker: 41 | replicaCount: 0 42 | -------------------------------------------------------------------------------- /services/authorizer/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Authorizer is an open-source authentication and 7 | authorization solution for your applications. 8 | kubero.dev/template.icon: https://authorizer.dev/images/favicon_io/android-chrome-192x192.png 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://docs.authorizer.dev/images/authorizer-arch.png"]' 12 | kubero.dev/template.source: https://github.com/authorizerdev/authorizer 13 | kubero.dev/template.categories: '["security", "accessories"]' 14 | kubero.dev/template.title: Authorizer 15 | kubero.dev/template.website: https://authorizer.dev/ 16 | name: authorizer 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: DATABASE_TYPE 23 | value: sqlite 24 | - name: DATABASE_URL 25 | value: /database/authorizer.db 26 | - name: ADMIN_SECRET 27 | value: changeMe 28 | extraVolumes: 29 | - accessModes: 30 | - ReadWriteOnce 31 | emptyDir: false 32 | mountPath: /database 33 | name: authorizer-data-volume 34 | size: 1Gi 35 | storageClass: standard 36 | image: 37 | containerPort: '8080' 38 | repository: lakhansamani/authorizer 39 | tag: latest 40 | name: authorizer 41 | web: 42 | replicaCount: 1 43 | worker: 44 | replicaCount: 0 45 | -------------------------------------------------------------------------------- /services/beszel/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: beszel 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Lightweight server monitoring hub with historical data, docker stats, and alerts." 8 | kubero.dev/template.icon: "https://raw.githubusercontent.com/henrygd/beszel/refs/heads/main/beszel/site/public/static/favicon.svg" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: '["https://camo.githubusercontent.com/49a777d47b027b633444519e4d9f62b1327e3155e511760b8029124c7ff03d91/68747470733a2f2f68656e727967642d6173736574732e622d63646e2e6e65742f6265737a656c2f73637265656e73686f742e706e67"]' 12 | kubero.dev/template.source: "https://github.com/henrygd/beszel" 13 | kubero.dev/template.categories: '["monitoring", "debug"]' 14 | kubero.dev/template.title: "Beszel" 15 | kubero.dev/template.website: "https://github.com/henrygd/beszel" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: beszel 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessMode: ReadWriteOnce 24 | accessModes: 25 | - ReadWriteOnce 26 | emptyDir: false 27 | mountPath: /beszel_data 28 | name: beszel-volume 29 | size: 1Gi 30 | storageClass: standard 31 | cronjobs: [] 32 | addons: [] 33 | web: 34 | replicaCount: 1 35 | worker: 36 | replicaCount: 0 37 | image: 38 | containerPort: "8090" 39 | pullPolicy: Always 40 | repository: henrygd/beszel 41 | tag: latest 42 | -------------------------------------------------------------------------------- /services/browserless/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: browserless 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Deploy headless browsers in Docker. Run on our cloud or bring your own. Free for non-commercial uses." 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/51244358" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: '["https://docs.browserless.io/"]' 11 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/browserless/browserless/main/assets/debugger.png"]' 12 | kubero.dev/template.source: "https://github.com/browserless/browserless" 13 | kubero.dev/template.categories: '[ "testing", "development" ]' 14 | kubero.dev/template.title: "browserless" 15 | kubero.dev/template.website: "https://browserless.io/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: browserless 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: TOKEN 23 | value: 6R0W53R135510 24 | - name: CONCURRENT 25 | value: "10" 26 | - name: QUEUED 27 | value: "10" 28 | - name: TIMEOUT 29 | value: "60000" 30 | - name: HEALTH 31 | value: "true" 32 | - name: ALLOW_GET 33 | value: "true" 34 | extraVolumes: [] 35 | cronjobs: [] 36 | addons: [] 37 | web: 38 | replicaCount: 1 39 | worker: 40 | replicaCount: 0 41 | image: 42 | containerPort: "3000" 43 | pullPolicy: Always 44 | repository: ghcr.io/browserless/chromium 45 | tag: latest 46 | -------------------------------------------------------------------------------- /services/caddygen/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: caddygen 5 | annotations: 6 | kubero.dev/template.architecture: '["linux/amd64", "linux/arm64"]' 7 | kubero.dev/template.description: "CaddyGen is a user-friendly web interface for generating Caddy server configurations. " 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/12955528" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/DeanWard/CaddyGen" 13 | kubero.dev/template.categories: '["utility"]' 14 | kubero.dev/template.title: "CaddyGen" 15 | kubero.dev/template.website: "https://caddygen.site/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: caddygen 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | cronjobs: [] 24 | addons: [] 25 | web: 26 | replicaCount: 1 27 | worker: 28 | replicaCount: 0 29 | image: 30 | containerPort: "80" 31 | pullPolicy: Always 32 | repository: wardy784/caddygen 33 | tag: latest 34 | -------------------------------------------------------------------------------- /services/changedetection/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: A self-hosted free open source website change 7 | detection, monitor and notification service. 8 | kubero.dev/template.icon: https://changedetection.io/themes/cdio/assets/images/favicons/apple-touch-icon.png 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/dgtlmoon/changedetection.io/master/docs/screenshot.png"]' 12 | kubero.dev/template.source: https://github.com/dgtlmoon/changedetection.io 13 | kubero.dev/template.categories: '["monitoring"]' 14 | kubero.dev/template.title: changedetection.io 15 | kubero.dev/template.website: https://changedetection.io/ 16 | name: changedetection 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessModes: 24 | - ReadWriteMany 25 | emptyDir: false 26 | mountPath: /datastore 27 | name: changedetection-volume 28 | size: 1Gi 29 | storageClass: standard 30 | image: 31 | containerPort: '5000' 32 | repository: dgtlmoon/changedetection.io 33 | tag: latest 34 | name: changedetection 35 | web: 36 | replicaCount: 1 37 | worker: 38 | replicaCount: 0 39 | -------------------------------------------------------------------------------- /services/chartdb/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: A database diagrams editor to visualize and design 7 | your DB with a single query. 8 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/177466511?s=200&v=4 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/chartdb/chartdb/main/public/chartdb.png"]' 12 | kubero.dev/template.source: https://github.com/chartdb/chartdb 13 | kubero.dev/template.categories: '["admin","data", "development"]' 14 | kubero.dev/template.title: ChartDB 15 | kubero.dev/template.website: https://chartdb.io/ 16 | labels: 17 | manager: kubero 18 | name: chartdb 19 | spec: 20 | addons: [] 21 | cronjobs: [] 22 | deploymentstrategy: docker 23 | envVars: [] 24 | extraVolumes: [] 25 | image: 26 | containerPort: '80' 27 | pullPolicy: Always 28 | repository: ghcr.io/chartdb/chartdb 29 | tag: latest 30 | name: chartdb 31 | web: 32 | replicaCount: 1 33 | worker: 34 | replicaCount: 0 35 | -------------------------------------------------------------------------------- /services/chartmuseum/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: ChartMuseum is an open-source Helm Chart Repository 7 | server written in Go. 8 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/30879152?s=200&v=4 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: 'null' 12 | kubero.dev/template.source: https://github.com/helm/chartmuseum 13 | kubero.dev/template.categories: '["accessories"]' 14 | kubero.dev/template.title: chartMuseum 15 | kubero.dev/template.website: https://chartmuseum.com/ 16 | name: chartmuseum 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: STORAGE 23 | value: local 24 | - name: STORAGE_LOCAL_ROOTDIR 25 | value: /charts 26 | extraVolumes: 27 | - accessModes: 28 | - ReadWriteMany 29 | emptyDir: false 30 | mountPath: /charts 31 | name: chartmuseum-volume 32 | size: 1Gi 33 | storageClass: standard 34 | image: 35 | containerPort: '8080' 36 | repository: ghcr.io/helm/chartmuseum 37 | tag: canary 38 | name: chartmuseum 39 | web: 40 | replicaCount: 1 41 | worker: 42 | replicaCount: 0 43 | -------------------------------------------------------------------------------- /services/chatpad/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: chatpad 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Chatpad sets itself apart with a broader vision - to become the ultimate interface for ChatGPT users." 8 | kubero.dev/template.icon: "https://raw.githubusercontent.com/deiucanta/chatpad/refs/heads/main/src/assets/favicon.png" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/deiucanta/chatpad/main/banner.png"]' 12 | kubero.dev/template.source: "https://github.com/deiucanta/chatpad" 13 | kubero.dev/template.categories: '["ai"]' 14 | kubero.dev/template.title: "Chatpad" 15 | kubero.dev/template.website: "https://chatpad.ai" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: chatpad 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | cronjobs: [] 24 | addons: [] 25 | web: 26 | replicaCount: 1 27 | worker: 28 | replicaCount: 0 29 | image: 30 | containerPort: "8080" 31 | pullPolicy: Always 32 | repository: ghcr.io/deiucanta/chatpad 33 | tag: latest 34 | -------------------------------------------------------------------------------- /services/ciao/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: ciao 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "HTTP checks & tests (private & public) monitoring - check the status of your URL" 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/43862266" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: '["https://camo.githubusercontent.com/881ea1d50deb09a27562a6719031c9d02362249bfd2e0dac545e9eea3c1c1a16/68747470733a2f2f62726f74616e6467616d65732e636f6d2f6173736574732f6369616f2d636865636b732e706e67"]' 12 | kubero.dev/template.source: "https://github.com/brotandgames/ciao" 13 | kubero.dev/template.categories: '["monitoring", "debug", "work"]' 14 | kubero.dev/template.title: "ciao" 15 | kubero.dev/template.website: "https://brotandgames.com/ciao/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: ciao 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessMode: ReadWriteOnce 24 | accessModes: 25 | - ReadWriteOnce 26 | emptyDir: false 27 | mountPath: /app/db/sqlite 28 | name: ciao-db-volume 29 | size: 1Gi 30 | storageClass: standard 31 | cronjobs: [] 32 | addons: [] 33 | web: 34 | replicaCount: 1 35 | worker: 36 | replicaCount: 0 37 | image: 38 | containerPort: "3000" 39 | pullPolicy: Always 40 | repository: brotandgames/ciao 41 | tag: latest 42 | -------------------------------------------------------------------------------- /services/code-server/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Run VS Code on any machine anywhere and access 7 | it in the browser. 8 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/95932066?s=200&v=4 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://github.com/coder/code-server/raw/main/docs/assets/screenshot-1.png"]' 12 | kubero.dev/template.source: https://github.com/coder/code-server 13 | kubero.dev/template.categories: '["development"]' 14 | kubero.dev/template.title: VS Code - Code Server 15 | kubero.dev/template.website: https://coder.com 16 | labels: 17 | manager: kubero 18 | name: code-server 19 | spec: 20 | addons: [] 21 | cronjobs: [] 22 | deploymentstrategy: docker 23 | envVars: 24 | - name: TZ 25 | value: Etc/UTC 26 | - name: PUID 27 | value: '1000' 28 | - name: PGID 29 | value: '1000' 30 | - name: PASSWORD 31 | value: secret 32 | extraVolumes: 33 | - accessMode: ReadWriteOnce 34 | accessModes: 35 | - ReadWriteOnce 36 | emptyDir: false 37 | mountPath: /config 38 | name: code-server-config 39 | size: 1Gi 40 | storageClass: standard 41 | image: 42 | containerPort: 8080 43 | pullPolicy: Always 44 | repository: lscr.io/linuxserver/code-server 45 | tag: latest 46 | name: code-server 47 | web: 48 | replicaCount: 1 49 | worker: 50 | replicaCount: 0 51 | -------------------------------------------------------------------------------- /services/concrete5/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: concrete5 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Concrete CMS is an open source CMS built by people from around the world." 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/657929" 9 | kubero.dev/template.installation: "Default credentials: admin/12345" 10 | kubero.dev/template.links: '["https://github.com/concrete5-community/docker5"]' 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/concretecms/concretecms" 13 | kubero.dev/template.categories: '["cms"]' 14 | kubero.dev/template.title: "concrete5 CMS" 15 | kubero.dev/template.website: "https://www.concretecms.org/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: concrete5 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessMode: ReadWriteOnce 24 | accessModes: 25 | - ReadWriteOnce 26 | emptyDir: false 27 | mountPath: /app/packages/package_handle 28 | name: concrete5-pkg-volume 29 | size: 1Gi 30 | storageClass: standard 31 | cronjobs: [] 32 | addons: [] 33 | web: 34 | replicaCount: 1 35 | worker: 36 | replicaCount: 0 37 | image: 38 | containerPort: "80" 39 | pullPolicy: Always 40 | repository: ghcr.io/concrete5-community/docker5 41 | tag: latest 42 | -------------------------------------------------------------------------------- /services/convertx/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: convertx 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Self-hosted online file converter. Supports 1000+ formats" 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/18604702" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/C4illin/ConvertX" 13 | kubero.dev/template.categories: '["media", "utilities"]' 14 | kubero.dev/template.title: "ConvertX" 15 | kubero.dev/template.website: "https://github.com/C4illin/ConvertX" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: convertx 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: JWT_SECRET 23 | value: aLongAndSecretStringUsedToSignTheJSONWebToken1234 24 | - name: ACCOUNT_REGISTRATION 25 | value: "false" 26 | - name: ALLOW_UNAUTHENTICATED 27 | value: "true" 28 | - name: AUTO_DELETE_EVERY_N_HOURS 29 | value: "24" 30 | extraVolumes: [] 31 | cronjobs: [] 32 | addons: [] 33 | web: 34 | replicaCount: 1 35 | worker: 36 | replicaCount: 0 37 | image: 38 | containerPort: "3000" 39 | pullPolicy: Always 40 | repository: ghcr.io/c4illin/convertx 41 | tag: latest 42 | -------------------------------------------------------------------------------- /services/cyberchef/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: CyberChef is a simple, intuitive web app for 7 | carrying out all manner of "cyber" operations within a web browser. 8 | kubero.dev/template.icon: https://www.freepnglogos.com/uploads/chef-png/chef-icon-33.png 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: 'null' 12 | kubero.dev/template.source: https://github.com/gchq/CyberChef 13 | kubero.dev/template.categories: '["security", "development", "utilities"]' 14 | kubero.dev/template.title: CyberChef 15 | kubero.dev/template.website: https://github.com/gchq/CyberChef 16 | name: cyberchef 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | image: 24 | containerPort: '8000' 25 | repository: mpepping/cyberchef 26 | tag: latest 27 | name: cyberchef 28 | web: 29 | replicaCount: 1 30 | worker: 31 | replicaCount: 0 32 | -------------------------------------------------------------------------------- /services/dashy/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Dashy helps you organize your self-hosted services 7 | by making them accessible from a single place. 8 | kubero.dev/template.icon: https://i.ibb.co/yhbt6CY/dashy.png 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://i.ibb.co/L8YbNNc/dashy-demo2.gif"]' 12 | kubero.dev/template.source: https://github.com/Lissy93/dashy 13 | kubero.dev/template.categories: '["dashboard", "utilities"]' 14 | kubero.dev/template.title: Dashy 15 | kubero.dev/template.website: https://dashy.to/ 16 | name: dashy 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: NODE_ENV 23 | value: production 24 | extraVolumes: [] 25 | image: 26 | containerPort: '8080' 27 | repository: lissy93/dashy 28 | tag: latest 29 | name: dashy 30 | web: 31 | replicaCount: 1 32 | worker: 33 | replicaCount: 0 34 | -------------------------------------------------------------------------------- /services/databag/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: A tiny selfhosted federated messenger for the 7 | decentralized web. 8 | kubero.dev/template.icon: https://raw.githubusercontent.com/balzack/databag/main/doc/icon_v2.png 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/balzack/databag/main/doc/mobile.png","https://github.com/balzack/databag/blob/main/doc/browser.png"]' 12 | kubero.dev/template.source: https://github.com/balzack/databag 13 | kubero.dev/template.categories: '["communication", "social"]' 14 | kubero.dev/template.title: Databag 15 | kubero.dev/template.website: https://github.com/balzack/databag 16 | labels: 17 | manager: kubero 18 | name: databag 19 | spec: 20 | addons: [] 21 | cronjobs: [] 22 | deploymentstrategy: docker 23 | envVars: 24 | - name: ADMIN 25 | value: secret 26 | extraVolumes: 27 | - accessMode: ReadWriteOnce 28 | accessModes: 29 | - ReadWriteOnce 30 | emptyDir: false 31 | mountPath: /var/lib/databag 32 | name: databag-data 33 | size: 1Gi 34 | storageClass: standard 35 | image: 36 | containerPort: '7000' 37 | pullPolicy: Always 38 | repository: balzack/databag 39 | tag: latest 40 | name: databag 41 | web: 42 | replicaCount: 1 43 | worker: 44 | replicaCount: 0 45 | -------------------------------------------------------------------------------- /services/doccano/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: doccano 5 | annotations: 6 | kubero.dev/template.architecture: '["linux/amd64", "linux/arm64"]' 7 | kubero.dev/template.description: "Open source annotation tool for machine learning practitioners." 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/58067660" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/doccano/doccano" 13 | kubero.dev/template.categories: '["ai"]' 14 | kubero.dev/template.title: "Doccano" 15 | kubero.dev/template.website: "https://doccano.github.io/doccano/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: doccano 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: ADMIN_USERNAME 23 | value: admin 24 | - name: ADMIN_EMAIL 25 | value: admin@example.com 26 | - name: ADMIN_PASSWORD 27 | value: random16 28 | extraVolumes: 29 | - accessMode: ReadWriteOnce 30 | accessModes: 31 | - ReadWriteOnce 32 | emptyDir: false 33 | mountPath: /data 34 | name: doccano-data-volume 35 | size: 1Gi 36 | storageClass: standard 37 | cronjobs: [] 38 | addons: [] 39 | web: 40 | replicaCount: 1 41 | worker: 42 | replicaCount: 0 43 | image: 44 | containerPort: "8000" 45 | pullPolicy: Always 46 | repository: doccano/doccano 47 | tag: latest 48 | -------------------------------------------------------------------------------- /services/dockerregistry/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: The Registry is a stateless, highly scalable 7 | server side application that stores and lets you distribute Docker images. 8 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/5429470?s=200&v=4 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: 'null' 12 | kubero.dev/template.source: https://github.com/distribution/distribution 13 | kubero.dev/template.categories: '[ "utilities", "development"]' 14 | kubero.dev/template.title: Docker Registry 15 | kubero.dev/template.website: https://docs.docker.com/registry/ 16 | name: dockerregistry 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessModes: 24 | - ReadWriteOnce 25 | emptyDir: false 26 | mountPath: /var/lib/registry 27 | name: registry-data 28 | size: 10Gi 29 | image: 30 | containerPort: '5000' 31 | repository: registry 32 | run: 33 | securityContext: 34 | readOnlyRootFilesystem: false 35 | tag: latest 36 | name: dockerregistry 37 | web: 38 | replicaCount: 1 39 | worker: 40 | replicaCount: 0 41 | -------------------------------------------------------------------------------- /services/docuseal/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: docuseal 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Open source DocuSign alternative. Create, fill, and sign digital documents" 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/138379721" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: '["https://www.docuseal.com/packs/static/images/resources/quick-start-1-216aeed1da1db5b3e718.jpg"]' 12 | kubero.dev/template.source: "https://github.com/docusealco/docuseal" 13 | kubero.dev/template.categories: '["work", "security"]' 14 | kubero.dev/template.title: "Docuseal" 15 | kubero.dev/template.website: "https://www.docuseal.com/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: docuseal 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | cronjobs: [] 24 | addons: [] 25 | web: 26 | replicaCount: 1 27 | worker: 28 | replicaCount: 0 29 | image: 30 | containerPort: "3000" 31 | pullPolicy: Always 32 | repository: docuseal/docuseal 33 | tag: latest 34 | -------------------------------------------------------------------------------- /services/dokuwiki/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: dokuwiki 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "The DokuWiki Open Source Wiki Engine" 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/111377700" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/dokuwiki/dokuwiki" 13 | kubero.dev/template.categories: '[ "work", "documentation" ]' 14 | kubero.dev/template.title: "DokuWiki" 15 | kubero.dev/template.website: "https://www.dokuwiki.org/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: dokuwiki 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessMode: ReadWriteOnce 24 | accessModes: 25 | - ReadWriteOnce 26 | emptyDir: false 27 | mountPath: /config 28 | name: dokuwiki-config-volume 29 | size: 1Gi 30 | storageClass: standard 31 | cronjobs: [] 32 | addons: [] 33 | web: 34 | replicaCount: 1 35 | worker: 36 | replicaCount: 0 37 | image: 38 | containerPort: "80" 39 | pullPolicy: Always 40 | repository: lscr.io/linuxserver/dokuwiki 41 | tag: latest 42 | -------------------------------------------------------------------------------- /services/drawdb/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Free, simple, and intuitive online database diagram 7 | editor and SQL generator. 8 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/139706923?s=200&v=4 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/drawdb-io/.github/main/profile/assets/cover.png"]' 12 | kubero.dev/template.source: https://github.com/drawdb-io/drawdb 13 | kubero.dev/template.categories: '["development", "data", "admin"]' 14 | kubero.dev/template.title: DrawDB 15 | kubero.dev/template.website: https://drawdb.app/ 16 | labels: 17 | manager: kubero 18 | name: drawdb 19 | spec: 20 | addons: [] 21 | cronjobs: [] 22 | deploymentstrategy: docker 23 | envVars: [] 24 | extraVolumes: [] 25 | image: 26 | containerPort: '80' 27 | pullPolicy: Always 28 | repository: ghcr.io/drawdb-io/drawdb 29 | tag: latest 30 | name: drawdb 31 | web: 32 | replicaCount: 1 33 | worker: 34 | replicaCount: 0 35 | -------------------------------------------------------------------------------- /services/elasticvue/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: elasticvue 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Elasticsearch gui for the browser" 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/6764390" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: '["https://static.cars10k.de/demo.gif"]' 12 | kubero.dev/template.source: "https://github.com/cars10/elasticvue" 13 | kubero.dev/template.categories: '["data", "development", "admin"]' 14 | kubero.dev/template.title: "elasticvue" 15 | kubero.dev/template.website: "https://elasticvue.com/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: elasticvue 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | cronjobs: [] 24 | addons: [] 25 | web: 26 | replicaCount: 1 27 | worker: 28 | replicaCount: 0 29 | image: 30 | containerPort: "8080" 31 | pullPolicy: Always 32 | repository: cars10/elasticvue 33 | tag: latest 34 | -------------------------------------------------------------------------------- /services/excalidraw/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: An open source virtual hand-drawn style whiteboard. 7 | Collaborative and end-to-end encrypted. 8 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/59452120?s=200&v=4 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://excalidraw.nyc3.cdn.digitaloceanspaces.com/github%2Fproduct_showcase.png"]' 12 | kubero.dev/template.source: https://github.com/excalidraw/excalidraw 13 | kubero.dev/template.categories: '["documentation", "work", "collaboration"]' 14 | kubero.dev/template.title: Excalidraw 15 | kubero.dev/template.website: https://excalidraw.com/ 16 | name: excalidraw 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | image: 24 | containerPort: '80' 25 | repository: excalidraw/excalidraw 26 | run: 27 | securityContext: 28 | readOnlyRootFilesystem: false 29 | tag: latest 30 | name: excalidraw 31 | web: 32 | replicaCount: 1 33 | worker: 34 | replicaCount: 0 35 | -------------------------------------------------------------------------------- /services/filestash/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: A file manager / web client for SFTP, S3, FTP, 7 | WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze, ... 8 | kubero.dev/template.icon: https://raw.githubusercontent.com/mickael-kerjean/filestash/refs/heads/master/public/assets/logo/favicon.svg 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/mickael-kerjean/filestash_images/master/.assets/photo.jpg","https://raw.githubusercontent.com/mickael-kerjean/filestash_images/master/.assets/navigation.gif"]' 12 | kubero.dev/template.source: https://github.com/mickael-kerjean/filestash 13 | kubero.dev/template.categories: '["work", "development"]' 14 | kubero.dev/template.title: Filestash 15 | kubero.dev/template.website: https://www.filestash.app/ 16 | labels: 17 | manager: kubero 18 | name: filestash 19 | spec: 20 | addons: [] 21 | cronjobs: [] 22 | deploymentstrategy: docker 23 | envVars: [] 24 | extraVolumes: [] 25 | image: 26 | containerPort: '8334' 27 | pullPolicy: Always 28 | repository: machines/filestash 29 | tag: latest 30 | name: filestash 31 | web: 32 | replicaCount: 1 33 | worker: 34 | replicaCount: 0 35 | -------------------------------------------------------------------------------- /services/firefox/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: firefox 5 | annotations: 6 | kubero.dev/template.architecture: '["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/386"]' 7 | kubero.dev/template.description: "Start a Firefox web browser in a Docker container" 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/109460230" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/jlesage/docker-firefox" 13 | kubero.dev/template.categories: '["security", "utility"]' 14 | kubero.dev/template.title: "Firefox" 15 | kubero.dev/template.website: "https://www.mozilla.org/en-US/firefox/new/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: firefox 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessMode: ReadWriteOnce 24 | accessModes: 25 | - ReadWriteOnce 26 | emptyDir: false 27 | mountPath: /config 28 | name: firefox-volume 29 | size: 1Gi 30 | storageClass: standard 31 | cronjobs: [] 32 | addons: [] 33 | web: 34 | replicaCount: 1 35 | worker: 36 | replicaCount: 0 37 | image: 38 | containerPort: "5800" 39 | pullPolicy: Always 40 | repository: jlesage/firefox 41 | tag: latest 42 | -------------------------------------------------------------------------------- /services/flightlog/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: flightlog 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Flight log web application that keeps track of your personal flight history" 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/4271779" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/perdian/flightlog/main/docs/screenshots/home.png"]' 12 | kubero.dev/template.source: "https://github.com/perdian/flightlog" 13 | kubero.dev/template.categories: '["management", "log"]' 14 | kubero.dev/template.title: "Flightlog" 15 | kubero.dev/template.website: "https://github.com/perdian/flightlog" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: flightlog 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: FLIGHTLOG_SERVER_CONTEXT_PATH 23 | value: / 24 | extraVolumes: 25 | - accessMode: ReadWriteOnce 26 | accessModes: 27 | - ReadWriteOnce 28 | emptyDir: false 29 | mountPath: /var/flightlog/database 30 | name: flightlog-db-volume 31 | size: 1Gi 32 | storageClass: standard 33 | cronjobs: [] 34 | addons: [] 35 | web: 36 | replicaCount: 1 37 | worker: 38 | replicaCount: 0 39 | image: 40 | containerPort: 8080 41 | pullPolicy: Always 42 | repository: perdian/flightlog 43 | tag: latest 44 | -------------------------------------------------------------------------------- /services/flowise/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: flowise 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Drag & drop UI to build your customized LLM flow" 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/128289781?s=200&v=4" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/FlowiseAI/Flowise" 13 | kubero.dev/template.categories: '[ "ai" ]' 14 | kubero.dev/template.title: "Flowise" 15 | kubero.dev/template.website: "https://flowiseai.com" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: flowise 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: FLOWISE_SECRETKEY_OVERWRITE 23 | value: "1234567891234567" 24 | - name: FLOWISE_PASSWORD 25 | value: password 26 | - name: FLOWISE_USERNAME 27 | value: flowise 28 | - name: DISABLE_FLOWISE_TELEMETRY 29 | value: "false" 30 | extraVolumes: [] 31 | cronjobs: [] 32 | addons: [] 33 | web: 34 | replicaCount: 1 35 | worker: 36 | replicaCount: 0 37 | image: 38 | containerPort: 8080 39 | pullPolicy: Always 40 | repository: flowiseai/flowise 41 | tag: latest 42 | -------------------------------------------------------------------------------- /services/gatus/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Gatus is a service that allows you to monitor 7 | the availability and latency of your services and expose this information a 8 | beautiful dashboard. 9 | kubero.dev/template.icon: https://raw.githubusercontent.com/TwiN/gatus/9e46e3972d382c62ebf954eb109b3c856d33bd58/web/app/public/logo-192x192.png 10 | kubero.dev/template.installation: '' 11 | kubero.dev/template.links: '[]' 12 | kubero.dev/template.screenshots: '["https://github.com/TwiN/gatus/raw/master/.github/assets/dashboard-dark.png"]' 13 | kubero.dev/template.source: https://github.com/TwiN/gatus 14 | kubero.dev/template.categories: '["monitoring"]' 15 | kubero.dev/template.title: Gatus 16 | kubero.dev/template.website: https://gatus.io/ 17 | name: gatus 18 | spec: 19 | addons: [] 20 | cronjobs: [] 21 | deploymentstrategy: docker 22 | envVars: [] 23 | extraVolumes: [] 24 | image: 25 | containerPort: '8080' 26 | repository: twinproduction/gatus 27 | tag: latest 28 | name: gatus 29 | web: 30 | replicaCount: 1 31 | worker: 32 | replicaCount: 0 33 | -------------------------------------------------------------------------------- /services/gitea/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Painless self-hosted all-in-one software development 7 | service, includes Git hosting, code review, team collaboration, package registry 8 | and CI/CD 9 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/12724356?s=200&v=4 10 | kubero.dev/template.installation: '' 11 | kubero.dev/template.links: '[]' 12 | kubero.dev/template.screenshots: '["https://camo.githubusercontent.com/134f49a62801ab393c211125515d108439c67b59befb2ec3e42e7235af4f5d6c/68747470733a2f2f646c2e67697465612e696f2f73637265656e73686f74732f686f6d655f74696d656c696e652e706e67","https://camo.githubusercontent.com/186c2a4c286dcb5e6c419ae11c062721ba73eafcc40e518f237adcc9985385db/68747470733a2f2f646c2e67697465612e696f2f73637265656e73686f74732f757365725f70726f66696c652e706e67"]' 13 | kubero.dev/template.source: https://github.com/go-gitea/gitea 14 | kubero.dev/template.categories: '["work","development","collaboration"]' 15 | kubero.dev/template.title: gitea 16 | kubero.dev/template.website: https://gitea.io/ 17 | name: gitea 18 | spec: 19 | addons: [] 20 | cronjobs: [] 21 | deploymentstrategy: docker 22 | envVars: [] 23 | extraVolumes: 24 | - accessModes: 25 | - ReadWriteOnce 26 | emptyDir: false 27 | mountPath: /data 28 | name: gitea-data 29 | size: 10Gi 30 | image: 31 | containerPort: '3000' 32 | repository: gitea/gitea 33 | run: 34 | securityContext: 35 | readOnlyRootFilesystem: false 36 | tag: latest 37 | name: gitea 38 | web: 39 | replicaCount: 1 40 | worker: 41 | replicaCount: 0 42 | -------------------------------------------------------------------------------- /services/go-httpbin/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: A reasonably complete and well-tested golang 7 | port of httpbin, with zero dependencies outside the go stdlib. 8 | kubero.dev/template.icon: https://httpwg.org/assets/http.svg 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://cdn.hashnode.com/res/hashnode/image/upload/v1650233795205/xWudUDZjZ.png?auto=compress,format&format=webp"]' 12 | kubero.dev/template.source: https://github.com/mccutchen/go-httpbin 13 | kubero.dev/template.categories: '["debug", "development"]' 14 | kubero.dev/template.title: go-httpbin 15 | kubero.dev/template.website: https://httpbingo.org 16 | name: go-httpbin 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | image: 24 | containerPort: '8080' 25 | repository: mccutchen/go-httpbin 26 | tag: latest 27 | name: go-httpbin 28 | web: 29 | replicaCount: 1 30 | worker: 31 | replicaCount: 0 32 | -------------------------------------------------------------------------------- /services/gotenberg/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: gotenberg 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "A developer-friendly API for converting numerous document formats into PDF files, and more!" 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/66820499" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/gotenberg/gotenberg" 13 | kubero.dev/template.categories: '["accessories"]' 14 | kubero.dev/template.title: "Gotenberg" 15 | kubero.dev/template.website: "https://gotenberg.dev/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: gotenberg 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | cronjobs: [] 24 | addons: [] 25 | web: 26 | replicaCount: 0 27 | worker: 28 | replicaCount: 1 29 | image: 30 | containerPort: "3000" 31 | pullPolicy: Always 32 | repository: gotenberg/gotenberg 33 | tag: "8" 34 | -------------------------------------------------------------------------------- /services/gotify/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Gotify is a simple server for sending and receiving 7 | messages (in real time per WebSocket) 8 | kubero.dev/template.icon: https://raw.githubusercontent.com/gotify/logo/master/gotify-logo.png 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://github.com/gotify/server/raw/master/ui.png"]' 12 | kubero.dev/template.source: https://github.com/gotify/server 13 | kubero.dev/template.categories: '["communication", "accessories"]' 14 | kubero.dev/template.title: Gotify 15 | kubero.dev/template.website: https://gotify-net 16 | name: gotify 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: GOTIFY_DEFAULTUSER_NAME 23 | value: admin 24 | - name: GOTIFY_DEFAULTUSER_PASS 25 | value: admin 26 | - name: GOTIFY_SERVER_PORT 27 | value: '8080' 28 | - name: GOTIFY_REGISTRATION 29 | value: 'false' 30 | extraVolumes: 31 | - accessModes: 32 | - ReadWriteMany 33 | emptyDir: false 34 | mountPath: /app/data 35 | name: gotify-volume 36 | size: 1Gi 37 | storageClass: standard 38 | image: 39 | containerPort: '8080' 40 | repository: gotify/server 41 | tag: latest 42 | name: gotify 43 | web: 44 | replicaCount: 1 45 | worker: 46 | replicaCount: 0 47 | -------------------------------------------------------------------------------- /services/grafana/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Grafana open source software enables you to query, 7 | visualize, alert on, and explore your metrics, logs, and traces wherever they 8 | are stored. 9 | kubero.dev/template.icon: https://raw.githubusercontent.com/devicons/devicon/1119b9f84c0290e0f0b38982099a2bd027a48bf1/icons/grafana/grafana-original.svg 10 | kubero.dev/template.installation: '' 11 | kubero.dev/template.links: '[]' 12 | kubero.dev/template.screenshots: '["https://upload.wikimedia.org/wikipedia/commons/thumb/b/b3/Grafana_screenshot.png/800px-Grafana_screenshot.png","https://upload.wikimedia.org/wikipedia/commons/thumb/8/89/Grafana_dashboard.png/800px-Grafana_dashboard.png"]' 13 | kubero.dev/template.source: https://github.com/grafana/grafana 14 | kubero.dev/template.categories: '["monitoring","debug","dashboard"]' 15 | kubero.dev/template.title: Grafana 16 | kubero.dev/template.website: https://grafana.com/ 17 | name: grafana 18 | spec: 19 | addons: [] 20 | cronjobs: [] 21 | deploymentstrategy: docker 22 | envVars: 23 | - name: GF_INSTALL_PLUGINS 24 | value: grafana-clock-panel,grafana-simple-json-datasource 25 | extraVolumes: 26 | - accessModes: 27 | - ReadWriteMany 28 | emptyDir: false 29 | mountPath: /var/lib/grafana 30 | name: grafana-data 31 | size: 1Gi 32 | storageClass: standard 33 | image: 34 | containerPort: '3000' 35 | repository: grafana/grafana-oss 36 | tag: latest 37 | name: grafana 38 | web: 39 | replicaCount: 1 40 | worker: 41 | replicaCount: 0 42 | -------------------------------------------------------------------------------- /services/grav/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: grav 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Modern, fast and easy Flat-File CMS powered by PHP, Markdown, Twig, and Symfony" 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/8237355" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/getgrav/grav" 13 | kubero.dev/template.categories: '["cms"]' 14 | kubero.dev/template.title: "Grav" 15 | kubero.dev/template.website: "https://getgrav.org/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: grav 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessMode: ReadWriteOnce 24 | accessModes: 25 | - ReadWriteOnce 26 | emptyDir: false 27 | mountPath: /config 28 | name: grav-volume 29 | size: 1Gi 30 | storageClass: standard 31 | cronjobs: [] 32 | addons: [] 33 | web: 34 | replicaCount: 1 35 | worker: 36 | replicaCount: 0 37 | image: 38 | containerPort: "80" 39 | pullPolicy: Always 40 | repository: lscr.io/linuxserver/grav 41 | tag: latest 42 | -------------------------------------------------------------------------------- /services/guitos/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: guitos 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "A personal budgeting app that helps you figure out where your money went, plan your budget ahead of time and analyze past expenditures." 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/5001560" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/rare-magma/guitos" 13 | kubero.dev/template.categories: '["personal"]' 14 | kubero.dev/template.title: "guitos" 15 | kubero.dev/template.website: "https://guitos.app/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: guitos 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | cronjobs: [] 24 | addons: [] 25 | web: 26 | replicaCount: 1 27 | worker: 28 | replicaCount: 0 29 | image: 30 | containerPort: "3000" 31 | pullPolicy: Always 32 | repository: ghcr.io/rare-magma/guitos 33 | tag: latest 34 | -------------------------------------------------------------------------------- /services/homarr/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Homarr is a simple and lightweight homepage for 7 | your server, that helps you easily access all of your services in one place. 8 | kubero.dev/template.icon: https://github.com/ajnart/homarr/raw/dev/public/imgs/logo/logo-color.svg 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://user-images.githubusercontent.com/71191962/169860380-856634fb-4f41-47cb-ba54-6a9e7b3b9c81.gif"]' 12 | kubero.dev/template.source: https://github.com/ajnart/homarr 13 | kubero.dev/template.categories: '["homepage"]' 14 | kubero.dev/template.title: Homarr 15 | kubero.dev/template.website: https://homarr.dev 16 | name: homarr 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessModes: 24 | - ReadWriteMany 25 | emptyDir: false 26 | mountPath: /app/data/configs 27 | name: homar-config 28 | size: 10Mi 29 | storageClass: standard 30 | - accessModes: 31 | - ReadWriteMany 32 | emptyDir: false 33 | mountPath: /app/public/icons 34 | name: homarr-icons 35 | size: 200Mi 36 | storageClass: standard 37 | image: 38 | containerPort: '7575' 39 | repository: ghcr.io/ajnart/homarr 40 | tag: latest 41 | name: homarr 42 | web: 43 | replicaCount: 1 44 | worker: 45 | replicaCount: 0 46 | -------------------------------------------------------------------------------- /services/homebox/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Homebox is the inventory and organization system 7 | built for the Home User 8 | kubero.dev/template.icon: https://homebox.software/lilbox.svg 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: 'null' 12 | kubero.dev/template.source: https://github.com/sysadminsmedia/homebox 13 | kubero.dev/template.categories: '["documentation", "work"]' 14 | kubero.dev/template.title: Homebox 15 | kubero.dev/template.website: https://homebox.software 16 | name: homebox 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessModes: 24 | - ReadWriteMany 25 | emptyDir: false 26 | mountPath: /data 27 | name: homebox-data 28 | size: 1Gi 29 | storageClass: standard 30 | image: 31 | containerPort: '7745' 32 | repository: ghcr.io/hay-kot/homebox 33 | tag: latest 34 | name: homebox 35 | web: 36 | replicaCount: 1 37 | worker: 38 | replicaCount: 0 39 | -------------------------------------------------------------------------------- /services/homer/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: A dead simple static HOMepage for your servER 7 | to keep your services on hand, from a simple yaml configuration file. 8 | kubero.dev/template.icon: https://raw.githubusercontent.com/bastienwirtz/homer/main/public/logo.png 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://camo.githubusercontent.com/22f0b90b2c9ec4f1c9ec9ed920bb7b794bc1f1ac93bf61099ef298369b8850e5/68747470733a2f2f7261772e6769746875622e636f6d2f6261737469656e776972747a2f686f6d65722f6d61696e2f646f63732f73637265656e73686f742e706e67"]' 12 | kubero.dev/template.source: https://github.com/bastienwirtz/homer 13 | kubero.dev/template.categories: '["homepage","dashboard"]' 14 | kubero.dev/template.title: Homer 15 | kubero.dev/template.website: https://github.com/bastienwirtz/homer 16 | name: homer 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessModes: 24 | - ReadWriteMany 25 | emptyDir: false 26 | mountPath: /www/assets 27 | name: homer-data 28 | size: 300Mi 29 | storageClass: standard 30 | image: 31 | containerPort: '8080' 32 | repository: b4bz/homer 33 | tag: latest 34 | ingress: 35 | hosts: 36 | - host: homer.lacolhost.com 37 | paths: 38 | - path: / 39 | pathType: ImplementationSpecific 40 | name: homer 41 | web: 42 | replicaCount: 1 43 | worker: 44 | replicaCount: 0 45 | -------------------------------------------------------------------------------- /services/hopscotch/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Open source API development ecosystem 7 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/56705483?s=200&v=4 8 | kubero.dev/template.installation: '' 9 | kubero.dev/template.links: '[]' 10 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/hoppscotch/hoppscotch/main/packages/hoppscotch-common/public/images/banner-light.png"]' 11 | kubero.dev/template.source: https://github.com/hoppscotch/hoppscotch 12 | kubero.dev/template.categories: '["development", "development"]' 13 | kubero.dev/template.title: Hoppscotch 14 | kubero.dev/template.website: https://hoppscotch.io 15 | name: hopscotch 16 | spec: 17 | addons: [] 18 | cronjobs: [] 19 | deploymentstrategy: docker 20 | envVars: [] 21 | extraVolumes: [] 22 | image: 23 | containerPort: '3000' 24 | repository: hoppscotch/hoppscotch 25 | tag: latest 26 | name: hopscotch 27 | web: 28 | replicaCount: 1 29 | worker: 30 | replicaCount: 0 31 | -------------------------------------------------------------------------------- /services/illa/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: ILLA is a robust open source low-code platform 7 | for developers to build internal tools. 8 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/93245159?s=200&v=4 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://www.illacloud.com/_next/image?url=https%3A%2F%2Fcdn.illacloud.com%2Fofficial-website%2Fimg%2Fhome%2FplayVideoCover.png&w=3840&q=75"]' 12 | kubero.dev/template.source: https://github.com/illacloud/illa-builder 13 | kubero.dev/template.categories: '["work", "development", "utilities"]' 14 | kubero.dev/template.title: Illa 15 | kubero.dev/template.website: https://illacloud.com 16 | name: illa 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | image: 24 | containerPort: '80' 25 | repository: illasoft/illa-builder 26 | run: 27 | securityContext: 28 | readOnlyRootFilesystem: false 29 | tag: latest 30 | name: illa 31 | web: 32 | replicaCount: 1 33 | worker: 34 | replicaCount: 0 35 | -------------------------------------------------------------------------------- /services/it-tools/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Collection of handy online tools for developers, 7 | with great UX. 8 | kubero.dev/template.icon: https://raw.githubusercontent.com/CorentinTh/it-tools/main/public/mstile-144x144.png 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: 'null' 12 | kubero.dev/template.source: https://github.com/CorentinTh/it-tools 13 | kubero.dev/template.categories: '["development", "utilities"]' 14 | kubero.dev/template.title: it-tools 15 | kubero.dev/template.website: https://it-tools.tech/ 16 | labels: 17 | manager: kubero 18 | name: it-tools 19 | spec: 20 | addons: [] 21 | cronjobs: [] 22 | deploymentstrategy: docker 23 | envVars: [] 24 | extraVolumes: [] 25 | image: 26 | containerPort: '80' 27 | pullPolicy: Always 28 | repository: corentinth/it-tools 29 | tag: latest 30 | name: it-tools 31 | web: 32 | replicaCount: 1 33 | worker: 34 | replicaCount: 0 35 | -------------------------------------------------------------------------------- /services/jsoncrack/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: jsoncrack 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Innovative and open-source visualization application that transforms various data formats, such as JSON, YAML, XML, CSV and more, into interactive graphs." 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/48101043" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: '["https://github.com/AykutSarac/jsoncrack.com/raw/main/public/assets/editor.webp"]' 12 | kubero.dev/template.source: "https://github.com/AykutSarac/jsoncrack.com" 13 | kubero.dev/template.categories: '["development", "work", "utilities"]' 14 | kubero.dev/template.title: "jsoncrack.com" 15 | kubero.dev/template.website: "https://jsoncrack.com" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: jsoncrack 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | cronjobs: [] 24 | addons: [] 25 | web: 26 | replicaCount: 1 27 | worker: 28 | replicaCount: 0 29 | image: 30 | containerPort: 8080 31 | pullPolicy: Always 32 | repository: ghcr.io/mms-gianni/jsoncrack.com 33 | tag: main 34 | -------------------------------------------------------------------------------- /services/kanboard/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Kanboard is a free and open source project management 7 | software focused on the Kanban methodology. 8 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/13722943?s=200&v=4 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://kanboard.org/assets/img/board.png"]' 12 | kubero.dev/template.source: https://github.com/kanboard/kanboard 13 | kubero.dev/template.categories: '["work", "development", "utilities"]' 14 | kubero.dev/template.title: Kanboard 15 | kubero.dev/template.website: https://kanboard.org 16 | labels: 17 | manager: kubero 18 | name: kanboard 19 | spec: 20 | addons: [] 21 | cronjobs: [] 22 | deploymentstrategy: docker 23 | envVars: 24 | - name: PLUGIN_INSTALLER 25 | value: 'true' 26 | extraVolumes: 27 | - accessMode: ReadWriteOnce 28 | accessModes: 29 | - ReadWriteOnce 30 | emptyDir: false 31 | mountPath: /var/www/app/data 32 | name: kanboard-data-volume 33 | size: 1Gi 34 | storageClass: standard 35 | - accessMode: ReadWriteOnce 36 | accessModes: 37 | - ReadWriteOnce 38 | emptyDir: false 39 | mountPath: /var/www/app/plugins 40 | name: kanboard-plugins-volume 41 | size: 1Gi 42 | storageClass: standard 43 | image: 44 | containerPort: '80' 45 | pullPolicy: Always 46 | repository: kanboard/kanboard 47 | tag: latest 48 | name: kanboard 49 | web: 50 | replicaCount: 1 51 | worker: 52 | replicaCount: 0 53 | -------------------------------------------------------------------------------- /services/kener/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Kener is a Modern Self hosted Status Page 7 | kubero.dev/template.icon: https://kener.ing/logo.png 8 | kubero.dev/template.installation: '' 9 | kubero.dev/template.links: '[]' 10 | kubero.dev/template.screenshots: '["https://camo.githubusercontent.com/8d4f2ea8ac5a6200ad87e39a21be25c5b279d540a886db131a076ef69227ca7a/68747470733a2f2f6b656e65722e696e672f73732e706e67"]' 11 | kubero.dev/template.source: https://github.com/rajnandan1/kener 12 | kubero.dev/template.categories: '["monitoring"]' 13 | kubero.dev/template.title: Kener 14 | kubero.dev/template.website: https://www.kener.ing 15 | name: kener 16 | spec: 17 | addons: [] 18 | cronjobs: [] 19 | deploymentstrategy: docker 20 | envVars: 21 | - name: PUID 22 | value: '1000' 23 | - name: PGID 24 | value: '1000' 25 | extraVolumes: 26 | mountPath: /config 27 | name: kener-volume 28 | size: 1Gi 29 | image: 30 | containerPort: '3000' 31 | pullPolicy: Always 32 | repository: rajnandan1/kener 33 | tag: latest 34 | name: kener 35 | web: 36 | replicaCount: 1 37 | -------------------------------------------------------------------------------- /services/kotaemon/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: kotaemon 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "An open-source clean & customizable RAG UI for chatting with your documents." 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/3265185" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/Cinnamon/kotaemon/main/docs/images/preview-graph.png", "https://raw.githubusercontent.com/Cinnamon/kotaemon/main/docs/images/preview.png"]' 12 | kubero.dev/template.source: "https://github.com/Cinnamon/kotaemon" 13 | kubero.dev/template.categories: '["ai"]' 14 | kubero.dev/template.title: "Kotaemon" 15 | kubero.dev/template.website: "https://cinnamon.github.io/kotaemon/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: kotaemon 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: GRADIO_SERVER_PORT 23 | value: "8080" 24 | - name: GRADIO_SERVER_NAME 25 | value: 0.0.0.0 26 | extraVolumes: [] 27 | cronjobs: [] 28 | addons: [] 29 | web: 30 | replicaCount: 1 31 | worker: 32 | replicaCount: 0 33 | image: 34 | containerPort: 8080 35 | pullPolicy: Always 36 | repository: ghcr.io/cinnamon/kotaemon 37 | tag: main-full 38 | -------------------------------------------------------------------------------- /services/kuma/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: 'Kuma is a self-hosted monitoring tool like "Uptime 7 | Robot". ' 8 | kubero.dev/template.icon: https://github.com/louislam/uptime-kuma/raw/master/public/icon.svg 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://camo.githubusercontent.com/9674a2b1b7d094b060fd79e6df7dca10b86a484ce6015b2668cff768dfc786ee/68747470733a2f2f757074696d652e6b756d612e7065742f696d672f6461726b2e6a7067"]' 12 | kubero.dev/template.source: https://github.com/louislam/uptime-kuma 13 | kubero.dev/template.categories: '["monitoring"]' 14 | kubero.dev/template.title: Kuma 15 | kubero.dev/template.website: https://uptime.kuma.pet 16 | name: kuma 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessModes: 24 | - ReadWriteOnce 25 | emptyDir: false 26 | mountPath: /app/data 27 | name: kuma-data 28 | size: 1Gi 29 | storageClass: standard 30 | image: 31 | containerPort: '8080' 32 | repository: louislam/uptime-kuma 33 | tag: latest 34 | name: kuma 35 | web: 36 | replicaCount: 1 37 | worker: 38 | replicaCount: 0 39 | -------------------------------------------------------------------------------- /services/languagetool/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: LanguageTool is an Open Source proofreading software 7 | for English, Spanish, French, German, Portuguese, Polish, Dutch, and more than 8 | 20 other languages. 9 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/5187764?s=200&v=4 10 | kubero.dev/template.installation: '' 11 | kubero.dev/template.links: '["https://github.com/Erikvl87/docker-languagetool/blob/master/docker-compose.yml"]' 12 | kubero.dev/template.screenshots: '["https://languagetool.org/videos/gmail_de_en.mp4"]' 13 | kubero.dev/template.source: https://github.com/languagetool-org/languagetool 14 | kubero.dev/template.categories: '["development", "utilities"]' 15 | kubero.dev/template.title: LanguageTool 16 | kubero.dev/template.website: https://languagetool.org/ 17 | name: languagetool 18 | spec: 19 | addons: [] 20 | cronjobs: [] 21 | deploymentstrategy: docker 22 | envVars: 23 | - name: langtool_languageModel 24 | value: /ngrams 25 | - name: Java_Xms 26 | value: 512m 27 | - name: Java_Xmx 28 | value: 1g 29 | extraVolumes: 30 | - accessModes: 31 | - ReadWriteOnce 32 | mountPath: /ngrams 33 | name: languagetool-ngrams 34 | size: 1Gi 35 | image: 36 | containerPort: '8010' 37 | repository: erikvl87/languagetool 38 | tag: latest 39 | name: languagetool 40 | web: 41 | replicaCount: 1 42 | worker: 43 | replicaCount: 0 44 | -------------------------------------------------------------------------------- /services/logto/logto-admin-ingress.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: networking.k8s.io/v1 2 | kind: Ingress 3 | metadata: 4 | annotations: 5 | cert-manager.io/cluster-issuer: letsencrypt-prod 6 | kubernetes.io/tls-acme: "true" 7 | name: logto-kuberoapp-admin 8 | spec: 9 | ingressClassName: nginx 10 | rules: 11 | - host: admin.logto.localhost 12 | http: 13 | paths: 14 | - backend: 15 | service: 16 | name: logto-kuberoapp-admin 17 | port: 18 | number: 81 19 | path: / 20 | pathType: ImplementationSpecific 21 | tls: 22 | - secretName: logto-tls 23 | status: 24 | loadBalancer: 25 | ingress: 26 | - hostname: localhost 27 | --- 28 | apiVersion: v1 29 | kind: Service 30 | metadata: 31 | name: logto-kuberoapp-admin 32 | spec: 33 | ports: 34 | - name: http 35 | port: 81 36 | protocol: TCP 37 | targetPort: 3002 38 | selector: 39 | app.kubernetes.io/instance: logto-web 40 | app.kubernetes.io/name: kuberoapp 41 | sessionAffinity: None 42 | type: ClusterIP 43 | status: 44 | loadBalancer: {} -------------------------------------------------------------------------------- /services/maputnik/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: A free and open visual editor for the Mapbox 7 | GL styles targeted at developers and map designers. 8 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/22297422?s=200&v=4 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://camo.githubusercontent.com/e417a4c766f2f3245803f93ed2bdad17d13f20d114330e2436f91ecfadd1e7bf/68747470733a2f2f6a2e676966732e636f6d2f6b3567384f4a2e676966"]' 12 | kubero.dev/template.source: https://github.com/maputnik/editor 13 | kubero.dev/template.categories: '["accessories", "development"]' 14 | kubero.dev/template.title: Maputnik 15 | kubero.dev/template.website: https://maputnik.github.io/editor/ 16 | name: maputnik 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | image: 24 | containerPort: '8080' 25 | repository: ghcr.io/maplibre/maputnik 26 | tag: main 27 | name: maputnik 28 | web: 29 | replicaCount: 1 30 | worker: 31 | replicaCount: 0 32 | -------------------------------------------------------------------------------- /services/meilisearch/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: 'A lightning-fast search engine that fits effortlessly 7 | into your apps, websites, and workflow ' 8 | kubero.dev/template.icon: https://www.meilisearch.com/apple-touch-icon.png 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://github.com/meilisearch/meilisearch/raw/main/assets/demo-light.gif"]' 12 | kubero.dev/template.source: https://github.com/meilisearch/meilisearch 13 | kubero.dev/template.categories: '["accessories", "development"]' 14 | kubero.dev/template.title: Meilisearch 15 | kubero.dev/template.website: https://www.meilisearch.com/ 16 | name: meilisearch 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessModes: 24 | - ReadWriteOnce 25 | emptyDir: false 26 | mountPath: /meili_data 27 | name: meilidata-volume 28 | size: 1Gi 29 | storageClass: standard 30 | image: 31 | containerPort: '7700' 32 | repository: getmeili/meilisearch 33 | tag: latest 34 | name: meilisearch 35 | web: 36 | replicaCount: 1 37 | worker: 38 | replicaCount: 0 39 | -------------------------------------------------------------------------------- /services/memos/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: 'Memos is a simple note taking app. ' 7 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/95764151?s=200&v=4 8 | kubero.dev/template.installation: '' 9 | kubero.dev/template.links: '[]' 10 | kubero.dev/template.screenshots: '["https://usememos.com/demo.webp"]' 11 | kubero.dev/template.source: https://github.com/usememos/memos 12 | kubero.dev/template.categories: '["productivity", "work"]' 13 | kubero.dev/template.title: Memos 14 | kubero.dev/template.website: https://usememos.com/ 15 | name: memos 16 | spec: 17 | addons: [] 18 | cronjobs: [] 19 | deploymentstrategy: docker 20 | envVars: [] 21 | extraVolumes: 22 | - accessModes: 23 | - ReadWriteOnce 24 | emptyDir: false 25 | mountPath: /var/opt/memos 26 | name: memos-data 27 | size: 1Gi 28 | storageClass: standard 29 | image: 30 | containerPort: '5230' 31 | repository: neosmemo/memos 32 | tag: latest 33 | name: memos 34 | web: 35 | replicaCount: 1 36 | worker: 37 | replicaCount: 0 38 | -------------------------------------------------------------------------------- /services/metabase/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: metabase 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Metabase is the easy, open-source way for everyone in your company to ask questions and learn from data." 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/10520629" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: '[ "https://raw.githubusercontent.com/metabase/metabase/master/docs/images/metabase-product-screenshot.svg"]' 12 | kubero.dev/template.source: "https://github.com/metabase/metabase" 13 | kubero.dev/template.categories: '[ "data", "work" ]' 14 | kubero.dev/template.title: "Metabase" 15 | kubero.dev/template.website: "https://www.metabase.com/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: metabase 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | cronjobs: [] 24 | addons: [] 25 | web: 26 | replicaCount: 1 27 | worker: 28 | replicaCount: 0 29 | image: 30 | containerPort: "3000" 31 | pullPolicy: Always 32 | repository: metabase/metabase 33 | tag: latest 34 | -------------------------------------------------------------------------------- /services/metube/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Self-hosted YouTube downloader (web UI for youtube-dl 7 | / yt-dlp) 8 | kubero.dev/template.icon: https://raw.githubusercontent.com/alexta69/metube/master/ui/src/assets/icons/android-chrome-192x192.png 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/alexta69/metube/master/screenshot.gif"]' 12 | kubero.dev/template.source: https://github.com/alexta69/metube 13 | kubero.dev/template.categories: '["media"]' 14 | kubero.dev/template.title: Metube 15 | kubero.dev/template.website: hhttps://github.com/alexta69/metube 16 | labels: 17 | manager: kubero 18 | name: metube 19 | spec: 20 | addons: [] 21 | cronjobs: [] 22 | deploymentstrategy: docker 23 | envVars: [] 24 | extraVolumes: 25 | - accessMode: ReadWriteOnce 26 | accessModes: 27 | - ReadWriteOnce 28 | emptyDir: false 29 | mountPath: /downloads 30 | name: downloads-volume 31 | size: 10Gi 32 | image: 33 | containerPort: '8081' 34 | pullPolicy: Always 35 | repository: ghcr.io/alexta69/metube 36 | tag: latest 37 | name: metube 38 | web: 39 | replicaCount: 1 40 | worker: 41 | replicaCount: 0 42 | -------------------------------------------------------------------------------- /services/mongodb-express/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Web-based MongoDB admin interface written with 7 | Node.js, Express and Bootstrap3 8 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/17328297?s=200&v=4 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["http://i.imgur.com/XiYhblA.png","http://i.imgur.com/XWcIgY1.png","https://imgur.com/UmGSr3x.png","https://imgur.com/lL38abn.png"]' 12 | kubero.dev/template.source: https://github.com/mongo-express/mongo-express 13 | kubero.dev/template.categories: '["data", "development", "admin"]' 14 | kubero.dev/template.title: MongoDB Express 15 | kubero.dev/template.website: https://github.com/mongo-express/mongo-express 16 | name: mongodb-express 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: ME_CONFIG_MONGODB_URL 23 | value: mongodb://root:rootpassword@miro-mongodb:27017 24 | extraVolumes: [] 25 | image: 26 | containerPort: '8081' 27 | repository: mongo-express 28 | tag: latest 29 | name: mongodb-express 30 | web: 31 | replicaCount: 1 32 | worker: 33 | replicaCount: 0 34 | -------------------------------------------------------------------------------- /services/moodist/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Ambient sounds for focus and calm. 7 | kubero.dev/template.icon: https://moodist.app/logo.svg 8 | kubero.dev/template.installation: '' 9 | kubero.dev/template.links: 'null' 10 | kubero.dev/template.screenshots: 'null' 11 | kubero.dev/template.source: https://github.com/remvze/moodist 12 | kubero.dev/template.categories: '["utilities", "productivity"]' 13 | kubero.dev/template.title: Moodist 14 | kubero.dev/template.website: https://moodist.app/ 15 | labels: 16 | manager: kubero 17 | name: moodist 18 | spec: 19 | addons: [] 20 | cronjobs: [] 21 | deploymentstrategy: docker 22 | envVars: [] 23 | extraVolumes: [] 24 | image: 25 | containerPort: 8080 26 | pullPolicy: Always 27 | repository: ghcr.io/remvze/moodist 28 | tag: latest 29 | name: moodist 30 | web: 31 | replicaCount: 1 32 | worker: 33 | replicaCount: 0 34 | -------------------------------------------------------------------------------- /services/nats/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Connective Technology for Adaptive Edge & Distributed 7 | Systems 8 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/10203055?s=200&v=4 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '[]' 12 | kubero.dev/template.source: https://github.com/nats-io/nats-server 13 | kubero.dev/template.categories: '["accessories", "development"]' 14 | kubero.dev/template.title: Nats 15 | kubero.dev/template.website: https://nats.io 16 | name: nats 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | image: 24 | containerPort: '4222' 25 | repository: nats 26 | tag: latest 27 | name: nats 28 | web: 29 | replicaCount: 1 30 | worker: 31 | replicaCount: 0 32 | -------------------------------------------------------------------------------- /services/netbird/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: netbird 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Connect your devices into a secure WireGuard®-based overlay network with SSO, MFA and granular access controls." 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/100464677" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: '["https://docs.netbird.io/", "https://docs.netbird.io/selfhosted/selfhosted-guide"]' 11 | kubero.dev/template.screenshots: '["https://docs.netbird.io/docs-static/img/open-source-zero-trust-networking.png"]' 12 | kubero.dev/template.source: "https://github.com/netbirdio/netbird" 13 | kubero.dev/template.categories: '["security", "dashboard", "admin"]' 14 | kubero.dev/template.title: "netbird" 15 | kubero.dev/template.website: "https://netbird.io/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: netbird 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: AUTH0_DOMAIN 23 | value: https://example.com 24 | - name: AUTH0_CLIENT_ID 25 | value: "123456456546547988" 26 | - name: AUTH0_AUDIENCE 27 | value: team 28 | - name: NETBIRD_MGMT_API_ENDPOINT 29 | value: https://netbird.localhost 30 | extraVolumes: [] 31 | cronjobs: [] 32 | addons: [] 33 | web: 34 | replicaCount: 1 35 | worker: 36 | replicaCount: 0 37 | image: 38 | containerPort: "80" 39 | pullPolicy: Always 40 | repository: netbirdio/dashboard 41 | tag: main 42 | -------------------------------------------------------------------------------- /services/ntfy/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: ntfy (pronounced "notify") is a simple HTTP-based 7 | pub-sub notification service. With ntfy, you can send notifications to your 8 | phone or desktop via scripts from any computer, without having to sign up or 9 | pay any fees 10 | kubero.dev/template.icon: https://ntfy.sh/_next/static/media/logo.077f6a13.svg 11 | kubero.dev/template.installation: '' 12 | kubero.dev/template.links: '[]' 13 | kubero.dev/template.screenshots: '["https://ntfy.sh/static/img/screenshot-web-detail.png","https://ntfy.sh/static/img/screenshot-curl.png","https://ntfy.sh/static/img/screenshot-phone-notification.jpg","https://ntfy.sh/static/img/screenshot-phone-detail.jpg"]' 14 | kubero.dev/template.source: https://github.com/binwiederhier/ntfy 15 | kubero.dev/template.categories: '["accessories", "communication"]' 16 | kubero.dev/template.title: NTFY 17 | kubero.dev/template.website: https://ntfy.sh/ 18 | name: ntfy 19 | spec: 20 | addons: [] 21 | cronjobs: [] 22 | deploymentstrategy: docker 23 | envVars: [] 24 | extraVolumes: 25 | - accessModes: 26 | - ReadWriteOnce 27 | emptyDir: false 28 | mountPath: /var/cache/ntfy 29 | name: ntfy-cache-volume 30 | size: 500Mi 31 | storageClass: standard 32 | image: 33 | command: 34 | - ntfy 35 | - serve 36 | containerPort: '80' 37 | repository: binwiederhier/ntfy 38 | tag: latest 39 | name: ntfy 40 | web: 41 | replicaCount: 1 42 | worker: 43 | replicaCount: 0 44 | -------------------------------------------------------------------------------- /services/opengist/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Self-hosted pastebin powered by Git, open-source 7 | alternative to Github Gist. 8 | kubero.dev/template.icon: https://raw.githubusercontent.com/thomiceli/opengist/master/public/opengist.svg 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: 'null' 11 | kubero.dev/template.screenshots: 'null' 12 | kubero.dev/template.source: https://github.com/thomiceli/opengist 13 | kubero.dev/template.categories: '["productivity", "utilities"]' 14 | kubero.dev/template.title: opengist 15 | kubero.dev/template.website: https://github.com/thomiceli/opengist 16 | name: opengist 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessModes: 24 | - ReadWriteOnce 25 | mountPath: /root/.opengist 26 | name: opengist-volume 27 | size: 1Gi 28 | storageClass: standard 29 | image: 30 | containerPort: '6157' 31 | repository: ghcr.io/thomiceli/opengist 32 | tag: '1' 33 | name: opengist 34 | web: 35 | replicaCount: 1 36 | worker: 37 | replicaCount: 0 38 | -------------------------------------------------------------------------------- /services/pairdrop/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: pairdrop 5 | annotations: 6 | kubero.dev/template.architecture: '["linux/amd64", "linux/arm64"]' 7 | kubero.dev/template.description: "PairDrop: Transfer Files Cross-Platform. No Setup, No Signup." 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/52242352" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/schlagmichdoch/PairDrop" 13 | kubero.dev/template.categories: '["productivity", "work"]' 14 | kubero.dev/template.title: "PairDrop" 15 | kubero.dev/template.website: "https://pairdrop.net/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: pairdrop 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: WS_FALLBACK 23 | value: "false" 24 | - name: DEBUG_MODE 25 | value: "false" 26 | - name: RATE_LIMIT 27 | value: "false" 28 | - name: TZ 29 | value: "Etc/UTC" 30 | extraVolumes: [] 31 | cronjobs: [] 32 | addons: [] 33 | web: 34 | replicaCount: 1 35 | worker: 36 | replicaCount: 0 37 | image: 38 | containerPort: "3000" 39 | pullPolicy: Always 40 | repository: lscr.io/linuxserver/pairdrop 41 | tag: latest 42 | -------------------------------------------------------------------------------- /services/penpot-exporter/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: penpot-exporter 5 | annotations: 6 | kubero.dev/template.architecture: '["linux/amd64", "linux/arm64"]' 7 | kubero.dev/template.description: "Penpot is a open-source design tool for design and code collaboration." 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/30179644" 9 | kubero.dev/template.installation: "Make sure you have all three services running: penpot-backend, penpot-exporter, penpot-frontend" 10 | kubero.dev/template.links: '["https://community.penpot.app/"]' 11 | kubero.dev/template.screenshots: '["https://penpot.app/blog/content/images/size/w2000/2024/02/PenpotUI-flexlayout.png", "https://penpot.app/blog/content/images/size/w1000/2024/02/Penpot_workspace.png"]' 12 | kubero.dev/template.source: "https://github.com/penpot/penpot" 13 | kubero.dev/template.categories: '["work","collaboration"]' 14 | kubero.dev/template.title: "Penpot (Exporter)" 15 | kubero.dev/template.website: "https://penpot.app/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: penpot-exporter 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: PENPOT_PUBLIC_URI 23 | value: penpot-frontend 24 | - name: PENPOT_REDIS_URI 25 | value: redis://penpot@penpot-backend-redis-master:6379/0?verifyPeer=NONE 26 | extraVolumes: [] 27 | cronjobs: [] 28 | addons: [] 29 | web: 30 | replicaCount: 0 31 | worker: 32 | replicaCount: 1 33 | image: 34 | containerPort: 8080 35 | pullPolicy: Always 36 | repository: penpotapp/exporter 37 | tag: latest 38 | -------------------------------------------------------------------------------- /services/pgadmin/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: pgAdmin is the most popular and feature rich 7 | Open Source admin and development platform for PostgreSQL. 8 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/113517144?s=200&v=4 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: 'null' 12 | kubero.dev/template.source: https://github.com/pgadmin-org/pgadmin4 13 | kubero.dev/template.categories: '["data", "development", "admin", "debug"]' 14 | kubero.dev/template.title: pgAdmin 15 | kubero.dev/template.website: https://www.pgadmin.org 16 | labels: 17 | manager: kubero 18 | name: pgadmin 19 | spec: 20 | addons: [] 21 | cronjobs: [] 22 | deploymentstrategy: docker 23 | envVars: 24 | - name: PGADMIN_DEFAULT_EMAIL 25 | value: example@example.com 26 | - name: PGADMIN_DEFAULT_PASSWORD 27 | value: example 28 | extraVolumes: [] 29 | image: 30 | containerPort: '80' 31 | pullPolicy: Always 32 | repository: dpage/pgadmin4 33 | tag: latest 34 | name: pgadmin 35 | web: 36 | replicaCount: 1 37 | worker: 38 | replicaCount: 0 39 | -------------------------------------------------------------------------------- /services/phpmyadmin/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: phpMyAdmin is a free software tool written in 7 | PHP, intended to handle the admin of MySQL and MariaDB over the Web. 8 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/1351977?s=200&v=4 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://upload.wikimedia.org/wikipedia/commons/1/13/PhpMyAdmin-main-en.png"]' 12 | kubero.dev/template.source: https://github.com/phpmyadmin/phpmyadmin 13 | kubero.dev/template.categories: '["data","admin", "development", "debug"]' 14 | kubero.dev/template.title: phpMyAdmin 15 | kubero.dev/template.website: https://www.phpmyadmin.net/ 16 | labels: 17 | manager: kubero 18 | name: phpmyadmin 19 | spec: 20 | addons: [] 21 | cronjobs: [] 22 | deploymentstrategy: docker 23 | envVars: 24 | - name: PMA_ABSOLUTE_URI 25 | value: https://phpmyadmin.localhost 26 | - name: PMA_ARBITRARY 27 | value: '1' 28 | - name: TZ 29 | value: Europe/Berlin 30 | - name: PUID 31 | value: '1000' 32 | - name: PGID 33 | value: '1000' 34 | extraVolumes: [] 35 | image: 36 | containerPort: '80' 37 | pullPolicy: Always 38 | repository: lscr.io/linuxserver/phpmyadmin 39 | tag: latest 40 | name: phpmyadmin 41 | web: 42 | replicaCount: 1 43 | worker: 44 | replicaCount: 0 45 | -------------------------------------------------------------------------------- /services/planning-poker/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: A hassle-free Planning Poker application to deploy 7 | on your NAS. 8 | kubero.dev/template.icon: https://raw.githubusercontent.com/axeleroy/self-host-planning-poker/main/assets/icon.svg 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '["https://github.com/axeleroy/self-host-planning-poker"]' 11 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/axeleroy/self-host-planning-poker/main/assets/screenshot.png"]' 12 | kubero.dev/template.source: https://github.com/axeleroy/self-host-planning-poker 13 | kubero.dev/template.categories: '["utilities","work"]' 14 | kubero.dev/template.title: Planing Poker 15 | kubero.dev/template.website: https://github.com/axeleroy/self-host-planning-poker 16 | name: planning-poker 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessModes: 24 | - ReadWriteOnce 25 | emptyDir: false 26 | mountPath: /data 27 | name: planning-poker-volume 28 | size: 1Gi 29 | storageClass: default 30 | image: 31 | containerPort: '8000' 32 | repository: axeleroy/self-host-planning-poker 33 | tag: latest 34 | name: planning-poker 35 | web: 36 | replicaCount: 1 37 | worker: 38 | replicaCount: 0 39 | -------------------------------------------------------------------------------- /services/presentator/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: presentator 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Design feedback and presentation platform" 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/53578609" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: '["https://camo.githubusercontent.com/80d8158c90fdb90905c6205be717ab2fcb2bddd1f1044f935fe192dcfa26bfb0/68747470733a2f2f692e696d6775722e636f6d2f427742737236422e706e67"]' 12 | kubero.dev/template.source: "https://github.com/presentator/presentator" 13 | kubero.dev/template.categories: '[ "work", "collaboration" ]' 14 | kubero.dev/template.title: "Presentator" 15 | kubero.dev/template.website: "https://presentator.io/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: presentator 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessMode: ReadWriteOnce 24 | accessModes: 25 | - ReadWriteOnce 26 | emptyDir: false 27 | mountPath: /pr/pb_data 28 | name: presentator-volume 29 | size: 1Gi 30 | storageClass: standard 31 | cronjobs: [] 32 | addons: [] 33 | web: 34 | replicaCount: 1 35 | worker: 36 | replicaCount: 0 37 | image: 38 | containerPort: 8080 39 | pullPolicy: Always 40 | repository: ganigeorgiev/presentator 41 | tag: latest 42 | -------------------------------------------------------------------------------- /services/promlens/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: promlens 5 | annotations: 6 | kubero.dev/template.architecture: '["linux/amd64", "linux/arm64/v8", "linux/arm/v7"]' 7 | kubero.dev/template.description: "The query builder, analyzer, and explainer for Prometheus PromQL" 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/3380462" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/prometheus/promlens" 13 | kubero.dev/template.categories: '["admin", "development"]' 14 | kubero.dev/template.title: "PromLens" 15 | kubero.dev/template.website: "https://promlens.com/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: promlens 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | cronjobs: [] 24 | addons: [] 25 | web: 26 | replicaCount: 1 27 | worker: 28 | replicaCount: 0 29 | image: 30 | containerPort: 8080 31 | pullPolicy: Always 32 | repository: prom/promlens 33 | tag: main 34 | -------------------------------------------------------------------------------- /services/qdrant/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: qdrant 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "High-performance, massive-scale Vector Database and Vector Search Engine for the next generation of AI. Also available in the cloud" 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/73504361" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/qdrant/qdrant" 13 | kubero.dev/template.categories: '["database"]' 14 | kubero.dev/template.title: "qdrant" 15 | kubero.dev/template.website: "https://qdrant.tech/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: qdrant 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessMode: ReadWriteOnce 24 | accessModes: 25 | - ReadWriteOnce 26 | emptyDir: false 27 | mountPath: /qdrant/storage 28 | name: qdrant-volume 29 | size: 1Gi 30 | storageClass: standard 31 | cronjobs: [] 32 | addons: [] 33 | web: 34 | replicaCount: 1 35 | worker: 36 | replicaCount: 0 37 | image: 38 | containerPort: "6333" 39 | pullPolicy: Always 40 | repository: qdrant/qdrant 41 | tag: latest 42 | -------------------------------------------------------------------------------- /services/raneto/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: raneto 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Raneto - is an open source Knowledgebase platform that uses static Markdown files to power your Knowledgebase." 8 | kubero.dev/template.icon: "https://raw.githubusercontent.com/gilbitron/Raneto/master/logo/logo_readme.png" 9 | kubero.dev/template.installation: "Raneto has not possibility to modify the content of the displayed pages. 10 | You will need sometheing like a git repository to manage the content in the mounted volume." 11 | kubero.dev/template.links: '["https://docs.raneto.com/"]' 12 | kubero.dev/template.screenshots: "[]" 13 | kubero.dev/template.source: "https://github.com/ryanlelek/Raneto" 14 | kubero.dev/template.categories: '["knowledgebase", "cms"]' 15 | kubero.dev/template.title: "Raneto" 16 | kubero.dev/template.website: "http://raneto.com/" 17 | labels: 18 | manager: kubero 19 | spec: 20 | name: raneto 21 | deploymentstrategy: docker 22 | envVars: [] 23 | extraVolumes: 24 | - accessMode: ReadWriteOnce 25 | accessModes: 26 | - ReadWriteOnce 27 | emptyDir: false 28 | mountPath: /config 29 | name: raneto-volume 30 | size: 1Gi 31 | storageClass: standard 32 | cronjobs: [] 33 | addons: [] 34 | web: 35 | replicaCount: 1 36 | worker: 37 | replicaCount: 0 38 | image: 39 | containerPort: "3000" 40 | pullPolicy: Always 41 | repository: lscr.io/linuxserver/raneto 42 | tag: latest 43 | -------------------------------------------------------------------------------- /services/redis-commander/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: redis-commander 5 | annotations: 6 | kubero.dev/template.architecture: '[]' 7 | kubero.dev/template.description: Redis management tool written in node.js 8 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/1529926 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/joeferner/redis-commander/master/docs/GUI_EXAMPLE.png"]' 12 | kubero.dev/template.source: https://github.com/joeferner/redis-commander 13 | kubero.dev/template.categories: '["data", "development", "admin", "debug"]' 14 | kubero.dev/template.title: Redis Commander 15 | kubero.dev/template.website: http://joeferner.github.io/redis-commander/ 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: redis-commander 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: REDIS_HOSTS 23 | value: myapp-redis-master:6379 24 | extraVolumes: [] 25 | cronjobs: [] 26 | addons: [] 27 | web: 28 | replicaCount: 1 29 | worker: 30 | replicaCount: 0 31 | image: 32 | containerPort: "8081" 33 | pullPolicy: Always 34 | repository: ghcr.io/joeferner/redis-commander 35 | tag: latest -------------------------------------------------------------------------------- /services/redisinsight/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: redisinsight 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Redis Insight is a visual tool that provides capabilities to design, develop, and optimize your Redis application." 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/87389211" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: '["https://github.com/RedisInsight/RedisInsight/raw/main/.github/redisinsight_browser.png"]' 12 | kubero.dev/template.source: "https://github.com/RedisInsight/RedisInsight" 13 | kubero.dev/template.categories: '["data", "development", "admin", "debug"]' 14 | kubero.dev/template.title: "Redisinsight" 15 | kubero.dev/template.website: "https://redis.com/redis-enterprise/redis-insight/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: redisinsight 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: RI_LOG_LEVEL 23 | value: info 24 | extraVolumes: [] 25 | cronjobs: [] 26 | addons: [] 27 | web: 28 | replicaCount: 1 29 | worker: 30 | replicaCount: 0 31 | image: 32 | containerPort: "5540" 33 | pullPolicy: Always 34 | repository: redis/redisinsight 35 | tag: latest 36 | -------------------------------------------------------------------------------- /services/rsshub/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: RSSHub is an open source, easy to use, and extensible 7 | RSS feed generator. It is capable of generating RSS feeds from pretty much everything. 8 | kubero.dev/template.icon: https://raw.githubusercontent.com/DIYgod/RSSHub/master/lib/assets/logo.png 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: 'null' 12 | kubero.dev/template.source: https://github.com/DIYgod/RSSHub 13 | kubero.dev/template.categories: '["utilities"]' 14 | kubero.dev/template.title: RSSHub 15 | kubero.dev/template.website: https://docs.rsshub.app/ 16 | labels: 17 | manager: kubero 18 | name: rsshub 19 | spec: 20 | addons: [] 21 | cronjobs: [] 22 | deploymentstrategy: docker 23 | envVars: [] 24 | extraVolumes: [] 25 | image: 26 | containerPort: '1200' 27 | pullPolicy: Always 28 | repository: diygod/rsshub 29 | tag: chromium-bundled 30 | name: rsshub 31 | web: 32 | replicaCount: 1 33 | worker: 34 | replicaCount: 0 35 | -------------------------------------------------------------------------------- /services/screego/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: screego 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Screen sharing for developers" 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/72201776" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/screego/server" 13 | kubero.dev/template.categories: '["collaboration", "work", "development"]' 14 | kubero.dev/template.title: "Screego" 15 | kubero.dev/template.website: "https://screego.net" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: screego 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: SCREEGO_EXTERNAL_IP 23 | value: 127.0.0.1 24 | - name: SCREEGO_SECRET 25 | value: somerandomsecret 26 | - name: SCREEGO_SESSION_TIMEOUT_SECONDS 27 | value: "600" 28 | - name: SCREEGO_PROMETHEUS 29 | value: "false" 30 | - name: SCREEGO_LOG_LEVEL 31 | value: info 32 | extraVolumes: [] 33 | cronjobs: [] 34 | addons: [] 35 | web: 36 | replicaCount: 1 37 | worker: 38 | replicaCount: 0 39 | image: 40 | containerPort: "5050" 41 | pullPolicy: Always 42 | repository: ghcr.io/screego/server 43 | tag: "1" 44 | -------------------------------------------------------------------------------- /services/screen-sharing/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: screen-sharing 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Share your screen with one simple room code. No downloads or sign-ups required." 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/6596480" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/tonghohin/screen-sharing" 13 | kubero.dev/template.categories: '["communication", "work"]' 14 | kubero.dev/template.title: "Screen Sharing" 15 | kubero.dev/template.website: "https://share-your-screen.vercel.app/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: screen-sharing 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | cronjobs: [] 24 | addons: [] 25 | web: 26 | replicaCount: 1 27 | worker: 28 | replicaCount: 0 29 | image: 30 | containerPort: "3000" 31 | pullPolicy: Always 32 | repository: ghcr.io/tonghohin/screen-sharing 33 | tag: latest 34 | -------------------------------------------------------------------------------- /services/searxng/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: searxng 5 | annotations: 6 | kubero.dev/template.architecture: '["linux/amd64", "linux/arm64", "linux/arm/v7"]' 7 | kubero.dev/template.description: "SearXNG is a free internet metasearch engine which aggregates results from various search services and databases. Users are neither tracked nor profiled." 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/80454229" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/searxng/searxng" 13 | kubero.dev/template.categories: '["utility"]' 14 | kubero.dev/template.title: "searxng" 15 | kubero.dev/template.website: "https://docs.searxng.org/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: searxng 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: BASE_URL 23 | value: https://searxng.localhost/ 24 | - name: INSTANCE_NAME 25 | value: example 26 | extraVolumes: 27 | - accessMode: ReadWriteOnce 28 | accessModes: 29 | - ReadWriteOnce 30 | emptyDir: false 31 | mountPath: /etc/searxng 32 | name: searxng-volume 33 | size: 1Gi 34 | storageClass: standard 35 | cronjobs: [] 36 | addons: [] 37 | web: 38 | replicaCount: 1 39 | worker: 40 | replicaCount: 0 41 | image: 42 | containerPort: 8080 43 | pullPolicy: Always 44 | repository: searxng/searxng 45 | tag: latest 46 | -------------------------------------------------------------------------------- /services/semaphore/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: semaphore 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "Modern UI and powerful API for Ansible, Terraform, OpenTofu, PowerShell and other DevOps tools." 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/98574287" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: '["https://user-images.githubusercontent.com/914224/134777345-8789d9e4-ff0d-439c-b80e-ddc56b74fcee.png"]' 12 | kubero.dev/template.source: "https://github.com/semaphoreui/semaphore" 13 | kubero.dev/template.categories: '["development", "admin"]' 14 | kubero.dev/template.title: "Semaphore" 15 | kubero.dev/template.website: "https://semaphoreui.com/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: semaphore 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: SEMAPHORE_ADMIN_PASSWORD 23 | value: admin 24 | - name: SEMAPHORE_ADMIN_NAME 25 | value: Peter Example 26 | - name: SEMAPHORE_ADMIN_EMAIL 27 | value: peter.example@admin.com 28 | - name: SEMAPHORE_ADMIN 29 | value: admin 30 | - name: SEMAPHORE_DB_DIALECT 31 | value: bolt 32 | extraVolumes: [] 33 | cronjobs: [] 34 | addons: [] 35 | web: 36 | replicaCount: 1 37 | worker: 38 | replicaCount: 0 39 | image: 40 | containerPort: "3000" 41 | pullPolicy: Always 42 | repository: semaphoreui/semaphore 43 | tag: v2.10.35 44 | -------------------------------------------------------------------------------- /services/serge/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: A web interface for chatting with Alpaca through 7 | llama.cpp. Fully dockerized, with an easy to use API. 8 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/135821135?s=200&v=4 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://github.com/TwiN/gatus/raw/master/.github/assets/dashboard-dark.png"]' 12 | kubero.dev/template.source: https://github.com/serge-chat/serge 13 | kubero.dev/template.categories: '["ai"]' 14 | kubero.dev/template.title: Serge Chat AI 15 | kubero.dev/template.website: https://serge.chat 16 | name: serge 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessModes: 24 | - ReadWriteOnce 25 | emptyDir: false 26 | mountPath: /usr/src/app/weights 27 | name: weights 28 | size: 70Gi 29 | storageClass: standard 30 | - accessModes: 31 | - ReadWriteOnce 32 | emptyDir: false 33 | mountPath: /data/db 34 | name: datadb 35 | size: 1Gi 36 | storageClass: standard 37 | image: 38 | containerPort: '8008' 39 | repository: ghcr.io/serge-chat/serge 40 | tag: latest 41 | name: serge 42 | web: 43 | replicaCount: 1 44 | worker: 45 | replicaCount: 0 46 | -------------------------------------------------------------------------------- /services/shiori/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: 'Shiori is a simple bookmark manager. ' 7 | kubero.dev/template.icon: https://raw.githubusercontent.com/go-shiori/shiori/master/internal/view/assets/res/apple-touch-icon-152x152.png 8 | kubero.dev/template.installation: '' 9 | kubero.dev/template.links: '[]' 10 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/go-shiori/shiori/master/docs/readme/cover.png","https://raw.githubusercontent.com/go-shiori/shiori/master/docs/screenshots/02-home.png","https://raw.githubusercontent.com/go-shiori/shiori/master/docs/screenshots/04-options.png"]' 11 | kubero.dev/template.source: https://github.com/go-shiori/shiori 12 | kubero.dev/template.categories: '["work", "utilities"]' 13 | kubero.dev/template.title: Shiori 14 | kubero.dev/template.website: https://github.com/go-shiori/shiori 15 | name: shiori 16 | spec: 17 | addons: [] 18 | cronjobs: [] 19 | deploymentstrategy: docker 20 | envVars: [] 21 | extraVolumes: [] 22 | image: 23 | containerPort: '8080' 24 | repository: ghcr.io/go-shiori/shiori 25 | tag: latest 26 | name: shiori 27 | web: 28 | replicaCount: 1 29 | worker: 30 | replicaCount: 0 31 | -------------------------------------------------------------------------------- /services/silverbullet/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: silverbullet 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "SilverBullet is a note-taking application optimized for people with a hacker mindset." 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/108344757" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/silverbulletmd/silverbullet" 13 | kubero.dev/template.categories: '["productivity"]' 14 | kubero.dev/template.title: "Silverbullet" 15 | kubero.dev/template.website: "https://silverbullet.md/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: silverbullet 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: SB_USER 23 | value: admin:admin 24 | extraVolumes: 25 | - accessMode: ReadWriteOnce 26 | accessModes: 27 | - ReadWriteOnce 28 | emptyDir: false 29 | mountPath: /space 30 | name: silverbullet-volume 31 | size: 1Gi 32 | storageClass: standard 33 | cronjobs: [] 34 | addons: [] 35 | web: 36 | replicaCount: 1 37 | worker: 38 | replicaCount: 0 39 | image: 40 | containerPort: "3000" 41 | pullPolicy: Always 42 | repository: zefhemel/silverbullet 43 | tag: latest 44 | -------------------------------------------------------------------------------- /services/slash/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: slash 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "An open source, self-hosted platform for sharing and managing your most frequently used links. Easily create customizable, human-readable shortcuts to streamline your link management." 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/140182318" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/yourselfhosted/slash/refs/heads/main/docs/assets/demo.png"]' 12 | kubero.dev/template.source: "https://github.com/yourselfhosted/slash" 13 | kubero.dev/template.categories: '["utilities"]' 14 | kubero.dev/template.title: "Slash" 15 | kubero.dev/template.website: "https://github.com/yourselfhosted/slash" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: slash 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessMode: ReadWriteOnce 24 | accessModes: 25 | - ReadWriteOnce 26 | emptyDir: false 27 | mountPath: /var/opt/slash 28 | name: slash-volume 29 | size: 1Gi 30 | storageClass: standard 31 | cronjobs: [] 32 | addons: [] 33 | web: 34 | replicaCount: 1 35 | worker: 36 | replicaCount: 0 37 | image: 38 | containerPort: "5231" 39 | pullPolicy: Always 40 | repository: yourselfhosted/slash 41 | tag: latest 42 | -------------------------------------------------------------------------------- /services/sshwifty/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Sshwifty is a SSH and Telnet connector made for 7 | the Web 8 | kubero.dev/template.icon: https://raw.githubusercontent.com/meienberger/runtipi-appstore/master/apps/sshwifty/metadata/logo.jpg 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/nirui/sshwifty/master/Screenshot.png"]' 12 | kubero.dev/template.source: https://github.com/nirui/sshwifty 13 | kubero.dev/template.categories: '["admin", "utilities"]' 14 | kubero.dev/template.title: Sshwifty 15 | kubero.dev/template.website: https://sshwifty-demo.nirui.org 16 | name: sshwifty 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | image: 24 | containerPort: '8182' 25 | repository: niruix/sshwifty 26 | tag: latest 27 | name: sshwifty 28 | web: 29 | replicaCount: 1 30 | worker: 31 | replicaCount: 0 32 | -------------------------------------------------------------------------------- /services/statping-ng/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: An updated drop-in replacement for statping - 7 | Status Page for monitoring your websites and applications with beautiful graphs, 8 | analytics, and plugins. 9 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/88886654?s=200&v=4 10 | kubero.dev/template.installation: '' 11 | kubero.dev/template.links: '[]' 12 | kubero.dev/template.screenshots: '["https://camo.githubusercontent.com/2e6247a73a3ef41ee0884415c6ec63c9caa4d9dc8fdb4a8ecf64342b00a29a0f/68747470733a2f2f7374617470696e672d6e672e6769746875622e696f2f6173736574732f65787465726e616c2f736c61636b2d6e6f74696665722e706e67"]' 13 | kubero.dev/template.source: https://github.com/statping-ng/statping-ng 14 | kubero.dev/template.categories: '["monitoring"]' 15 | kubero.dev/template.title: Statping NG 16 | kubero.dev/template.website: https://statping-ng.github.io 17 | name: statping-ng 18 | spec: 19 | addons: [] 20 | cronjobs: [] 21 | deploymentstrategy: docker 22 | envVars: 23 | - name: STATPING_DIR 24 | value: /data 25 | extraVolumes: 26 | - accessModes: 27 | - ReadWriteOnce 28 | emptyDir: false 29 | mountPath: /data 30 | name: statping-volume 31 | size: 1Gi 32 | image: 33 | containerPort: '8080' 34 | repository: adamboutcher/statping-ng 35 | tag: latest 36 | name: statping-ng 37 | web: 38 | replicaCount: 1 39 | worker: 40 | replicaCount: 0 41 | -------------------------------------------------------------------------------- /services/statusnook/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: StatusNook is a simple status page for your services. 7 | kubero.dev/template.icon: https://www.svgrepo.com/show/310016/status.svg 8 | kubero.dev/template.installation: 'Admin account is created with the first website visit' 9 | kubero.dev/template.links: '[]' 10 | kubero.dev/template.screenshots: '[]' 11 | kubero.dev/template.source: https://github.com/goksan/statusnook 12 | kubero.dev/template.categories: '["monitoring"]' 13 | kubero.dev/template.title: StatusNook 14 | kubero.dev/template.website: https://statusnook.com 15 | labels: 16 | manager: kubero 17 | name: statusnook 18 | spec: 19 | addons: [] 20 | cronjobs: [] 21 | deploymentstrategy: docker 22 | envVars: [] 23 | extraVolumes: 24 | - accessMode: ReadWriteOnce 25 | accessModes: 26 | - ReadWriteOnce 27 | emptyDir: false 28 | mountPath: /app/statusnook-data 29 | name: statusnook-volume 30 | size: 1Gi 31 | storageClass: standard 32 | image: 33 | containerPort: '8000' 34 | pullPolicy: Always 35 | repository: goksan/statusnook 36 | tag: latest 37 | name: statusnook 38 | web: 39 | replicaCount: 1 40 | worker: 41 | replicaCount: 0 42 | -------------------------------------------------------------------------------- /services/sterlingpdf/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Stirling PDF is a hosted web application that 7 | allows you to perform various operations on PDF files, such as splitting and 8 | adding images. 9 | kubero.dev/template.icon: https://raw.githubusercontent.com/Frooodle/Stirling-PDF/main/docs/stirling.png 10 | kubero.dev/template.installation: '' 11 | kubero.dev/template.links: '[]' 12 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/Frooodle/Stirling-PDF/main/images/stirling-home.png"]' 13 | kubero.dev/template.source: https://github.com/Frooodle/Stirling-PDF 14 | kubero.dev/template.categories: '["productivity", "utilities", "work"]' 15 | kubero.dev/template.title: Stirling PDF 16 | kubero.dev/template.website: https://github.com/Frooodle/Stirling-PDF 17 | name: stirlingpdf 18 | spec: 19 | addons: [] 20 | cronjobs: [] 21 | deploymentstrategy: docker 22 | envVars: [] 23 | extraVolumes: [] 24 | image: 25 | containerPort: '8080' 26 | repository: frooodle/s-pdf 27 | tag: latest 28 | name: stirlingpdf 29 | web: 30 | replicaCount: 1 31 | worker: 32 | replicaCount: 0 33 | -------------------------------------------------------------------------------- /services/tasksmd/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: A self-hosted, file based task management board 7 | that supports Markdown syntax. 8 | kubero.dev/template.icon: https://raw.githubusercontent.com/BaldissaraMatheus/Tasks.md/main/frontend/public/favicon/android-chrome-192x192.png 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/BaldissaraMatheus/Tasks.md/main/public/demonstration.gif"]' 12 | kubero.dev/template.source: https://github.com/BaldissaraMatheus/Tasks.md 13 | kubero.dev/template.categories: '["productivity", "utilities", "work"]' 14 | kubero.dev/template.title: Tasks.md 15 | kubero.dev/template.website: https://hub.docker.com/r/baldissaramatheus/tasks.md 16 | name: tasksmd 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: TITLE 23 | value: Demo 24 | extraVolumes: 25 | - accessModes: 26 | - ReadWriteMany 27 | mountPath: /api/files/ 28 | name: tasksmd-files 29 | size: 1Gi 30 | image: 31 | containerPort: '8080' 32 | repository: baldissaramatheus/tasks.md 33 | tag: latest 34 | name: tasksmd 35 | web: 36 | replicaCount: 1 37 | worker: 38 | replicaCount: 0 39 | -------------------------------------------------------------------------------- /services/timetagger/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: TimeTagger is a simple time tracking tool for 7 | your terminal. 8 | kubero.dev/template.icon: https://timetagger.app/timetagger_sl.svg 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://timetagger.app/screenshot1.png","https://timetagger.app/screenshot2.png","https://timetagger.app/screenshot3.png"]' 12 | kubero.dev/template.source: https://github.com/almarklein/timetagger 13 | kubero.dev/template.categories: '["productivity", "development"]' 14 | kubero.dev/template.title: TimeTagger 15 | kubero.dev/template.website: https://timetagger.app/ 16 | name: timetagger 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: TIMETAGGER_BIND 23 | value: 0.0.0.0:8080 24 | - name: TIMETAGGER_DATADIR 25 | value: /data/_timetagger 26 | - name: TIMETAGGER_CREDENTIALS 27 | value: test:$$2a$$08$$0CD1NFiIbancwWsu3se1v.RNR/b7YeZd71yg3cZ/3whGlyU6Iny5i 28 | extraVolumes: 29 | - accessModes: 30 | - ReadWriteMany 31 | emptyDir: false 32 | mountPath: /data/_timetagger 33 | name: timetagger-data 34 | size: 1Gi 35 | storageClass: standard 36 | image: 37 | containerPort: '8080' 38 | repository: ghcr.io/almarklein/timetagger 39 | tag: latest 40 | name: timetagger 41 | web: 42 | replicaCount: 1 43 | worker: 44 | replicaCount: 0 45 | -------------------------------------------------------------------------------- /services/traggo/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: 'Traggo is a self-hosted time tracking tool. 7 | It is designed to be easy to use and to be self-hosted. It is written in Go 8 | and uses Vue.js for the frontend. ' 9 | kubero.dev/template.icon: https://raw.githubusercontent.com/traggo/logo/master/logo.png 10 | kubero.dev/template.installation: '' 11 | kubero.dev/template.links: '[]' 12 | kubero.dev/template.screenshots: '["https://github.com/traggo/server/raw/master/.github/traggo_list.png","https://github.com/traggo/server/raw/master/.github/traggo_calendar.png","https://github.com/traggo/server/raw/master/.github/traggo_dashboard.png"]' 13 | kubero.dev/template.source: https://github.com/traggo/server 14 | kubero.dev/template.categories: '["productivity", "utilities", "work"]' 15 | kubero.dev/template.title: Traggo 16 | kubero.dev/template.website: https://traggo.net 17 | name: traggo 18 | spec: 19 | addons: [] 20 | cronjobs: [] 21 | deploymentstrategy: docker 22 | envVars: [] 23 | extraVolumes: 24 | - accessModes: 25 | - ReadWriteMany 26 | mountPath: /opt/traggo/data 27 | name: traggo-data 28 | size: 1Gi 29 | image: 30 | containerPort: '3030' 31 | repository: traggo/server 32 | tag: latest 33 | name: traggo 34 | web: 35 | replicaCount: 1 36 | worker: 37 | replicaCount: 0 38 | -------------------------------------------------------------------------------- /services/trailbase/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: trailbase 5 | annotations: 6 | kubero.dev/template.architecture: '["linux/amd64"]' 7 | kubero.dev/template.description: "A fast, open-source application server with type-safe APIs, including an admin interface." 8 | kubero.dev/template.icon: "https://avatars.githubusercontent.com/u/176172021" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: "[]" 12 | kubero.dev/template.source: "https://github.com/trailbaseio/trailbase" 13 | kubero.dev/template.categories: '["devtool", "utility"]' 14 | kubero.dev/template.title: "Trailbase" 15 | kubero.dev/template.website: "https://www.trailbase.io/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: trailbase 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | cronjobs: [] 24 | addons: [] 25 | web: 26 | replicaCount: 1 27 | worker: 28 | replicaCount: 0 29 | image: 30 | containerPort: "4000" 31 | pullPolicy: Always 32 | repository: trailbase/trailbase 33 | tag: latest 34 | -------------------------------------------------------------------------------- /services/trilium/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: 'Trilium Notes is a hierarchical note taking 7 | application with focus on building large personal knowledge bases. ' 8 | kubero.dev/template.icon: https://raw.githubusercontent.com/zadam/trilium/master/images/app-icons/png/256x256.png 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/wiki/zadam/trilium/images/screenshot.png"]' 12 | kubero.dev/template.source: https://github.com/zadam/trilium 13 | kubero.dev/template.categories: '["documentation", "productivity", "utilities"]' 14 | kubero.dev/template.title: Trilium Notes 15 | kubero.dev/template.website: https://github.com/zadam/trilium 16 | name: trilium 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessModes: 24 | - ReadWriteMany 25 | emptyDir: false 26 | mountPath: /home/node/trilium-data 27 | name: trilium-data 28 | size: 1Gi 29 | storageClass: standard 30 | image: 31 | containerPort: '8080' 32 | repository: zadam/trilium 33 | tag: latest 34 | name: trilium 35 | web: 36 | replicaCount: 1 37 | worker: 38 | replicaCount: 0 39 | -------------------------------------------------------------------------------- /services/typesense/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Typesense is a fast, typo-tolerant open-source 7 | search engine optimized for instant, relevant search results. 8 | kubero.dev/template.icon: https://typesense.org/_nuxt/img/typesense_logo.1be34dd.svg 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://github.com/typesense/typesense/blob/v28/assets/typesense_books_demo.gif?raw=true"]' 12 | kubero.dev/template.source: https://github.com/typesense/typesense 13 | kubero.dev/template.categories: '["data", "accessories"]' 14 | kubero.dev/template.title: Typesense 15 | kubero.dev/template.website: https://typesense.org 16 | name: typesense 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: TYPESENSE_API_KEY 23 | value: your-api-key 24 | - name: TYPESENSE_DATA_DIR 25 | value: /data 26 | extraVolumes: 27 | - accessModes: 28 | - ReadWriteOnce 29 | emptyDir: false 30 | mountPath: /data 31 | name: typesense-data 32 | size: 1Gi 33 | storageClass: null 34 | image: 35 | containerPort: '8108' 36 | repository: typesense/typesense 37 | tag: latest 38 | name: typesense 39 | web: 40 | replicaCount: 1 41 | worker: 42 | replicaCount: 0 43 | -------------------------------------------------------------------------------- /services/vaultwarden/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: 'A Bitwarden compatible paswordsafe server written 7 | in Rust. ' 8 | kubero.dev/template.icon: https://raw.githubusercontent.com/dani-garcia/vaultwarden/main/resources/vaultwarden-icon.svg 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: 'null' 12 | kubero.dev/template.source: https://github.com/dani-garcia/vaultwarden 13 | kubero.dev/template.categories: '["security", "utilities"]' 14 | kubero.dev/template.title: Vaultwarden 15 | kubero.dev/template.website: https://github.com/dani-garcia/vaultwarden 16 | name: vaultwarden 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessModes: 24 | - ReadWriteMany 25 | emptyDir: false 26 | mountPath: /data 27 | name: vaultwarden-data 28 | size: 1Gi 29 | storageClass: standard 30 | image: 31 | containerPort: '80' 32 | repository: vaultwarden/server 33 | tag: latest 34 | name: vaultwarden 35 | web: 36 | replicaCount: 1 37 | worker: 38 | replicaCount: 0 39 | -------------------------------------------------------------------------------- /services/web-check/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | name: web-check 5 | annotations: 6 | kubero.dev/template.architecture: "[]" 7 | kubero.dev/template.description: "All-in-one OSINT tool for analysing any website web" 8 | kubero.dev/template.icon: "https://camo.githubusercontent.com/e081ebebf2ef1dbe9ecffa081063db7c9f696e5913d75699f7d2968a186d0d72/68747470733a2f2f692e6962622e636f2f7131675a4e32702f7765622d636865636b2d6c6f676f2e706e67" 9 | kubero.dev/template.installation: "" 10 | kubero.dev/template.links: "[]" 11 | kubero.dev/template.screenshots: '["https://camo.githubusercontent.com/5848c091c38749d187599505b7c2e1c9e4689dbc93e9c438ed785528da891d49/68747470733a2f2f692e6962622e636f2f72306a584e36732f7765622d636865636b2e706e67"]' 12 | kubero.dev/template.source: "https://github.com/Lissy93/web-check" 13 | kubero.dev/template.categories: '["security", "monitoring", "web"]' 14 | kubero.dev/template.title: "web-check" 15 | kubero.dev/template.website: "https://web-check.xyz/" 16 | labels: 17 | manager: kubero 18 | spec: 19 | name: web-check 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: [] 23 | cronjobs: [] 24 | addons: [] 25 | web: 26 | replicaCount: 1 27 | worker: 28 | replicaCount: 0 29 | image: 30 | containerPort: "3000" 31 | pullPolicy: Always 32 | repository: lissy93/web-check 33 | tag: latest 34 | -------------------------------------------------------------------------------- /services/webkubectl/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Run kubectl command in web browser 7 | kubero.dev/template.icon: https://avatars.githubusercontent.com/u/52770786?s=200&v=4 8 | kubero.dev/template.installation: '' 9 | kubero.dev/template.links: '[]' 10 | kubero.dev/template.screenshots: '["https://github.com/KubeOperator/webkubectl/raw/master/web-resources/webkubectl.gif"]' 11 | kubero.dev/template.source: https://github.com/KubeOperator/webkubectl 12 | kubero.dev/template.categories: '["utilities", "admin"]' 13 | kubero.dev/template.title: Web Kubectl 14 | kubero.dev/template.website: https://github.com/KubeOperator/webkubectl 15 | name: kubectl 16 | spec: 17 | addons: [] 18 | cronjobs: [] 19 | deploymentstrategy: docker 20 | envVars: [] 21 | extraVolumes: [] 22 | image: 23 | containerPort: 8080 24 | repository: kubeoperator/webkubectl 25 | tag: latest 26 | name: kubectl 27 | web: 28 | replicaCount: 1 29 | worker: 30 | replicaCount: 0 31 | -------------------------------------------------------------------------------- /services/whiteboard/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Lightweight collaborative Whiteboard / Sketchboard 7 | kubero.dev/template.icon: https://static-00.iconduck.com/assets.00/whiteboard-icon-512x416-i0xojg3v.png 8 | kubero.dev/template.installation: '' 9 | kubero.dev/template.links: '[]' 10 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/cracker0dks/whiteboard/refs/heads/master/doc/start.png"]' 11 | kubero.dev/template.source: https://github.com/cracker0dks/whiteboard 12 | kubero.dev/template.categories: '["school", "work", "utilities"]' 13 | kubero.dev/template.title: Whiteboard 14 | kubero.dev/template.website: https://github.com/cracker0dks/whiteboard 15 | labels: 16 | manager: kubero 17 | name: whiteboard 18 | spec: 19 | addons: [] 20 | cronjobs: [] 21 | deploymentstrategy: docker 22 | envVars: [] 23 | extraVolumes: [] 24 | image: 25 | containerPort: 8080 26 | pullPolicy: Always 27 | repository: rofl256/whiteboard 28 | tag: latest 29 | name: whiteboard 30 | web: 31 | replicaCount: 1 32 | worker: 33 | replicaCount: 0 34 | -------------------------------------------------------------------------------- /services/whoogle/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Whoogle is a self-hosted, ad-free, privacy-respecting 7 | metasearch engine. 8 | kubero.dev/template.icon: https://preview.redd.it/4alqumb2xqi81.png?width=192&format=png&auto=webp&s=05f078627d3b9d7f1f82e002d5388efc6ee3c63a 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: '["https://raw.githubusercontent.com/benbusby/whoogle-search/main/docs/screenshot_desktop.png","https://raw.githubusercontent.com/benbusby/whoogle-search/main/docs/screenshot_mobile.png"]' 12 | kubero.dev/template.source: https://github.com/benbusby/whoogle-search 13 | kubero.dev/template.categories: '["utilities", "work"]' 14 | kubero.dev/template.title: Whoogle 15 | kubero.dev/template.website: https://github.com/benbusby/whoogle-search 16 | name: whoogle 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: [] 22 | extraVolumes: 23 | - accessModes: 24 | - ReadWriteMany 25 | emptyDir: false 26 | mountPath: /var/lib 27 | name: whoogle-tor 28 | size: 1Gi 29 | storageClass: standard 30 | - accessModes: 31 | - ReadWriteMany 32 | emptyDir: false 33 | mountPath: /whoogle/app/static/build 34 | name: whoogle-build 35 | size: 20Mi 36 | storageClass: standard 37 | image: 38 | containerPort: '5000' 39 | repository: benbusby/whoogle-search 40 | tag: latest 41 | name: whoogle 42 | web: 43 | replicaCount: 1 44 | worker: 45 | replicaCount: 0 46 | -------------------------------------------------------------------------------- /services/wikijs/app.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: application.kubero.dev/v1alpha1 2 | kind: KuberoApp 3 | metadata: 4 | annotations: 5 | kubero.dev/template.architecture: '[]' 6 | kubero.dev/template.description: Wiki.js is a modern, lightweight and powerful 7 | wiki app built on Node.js, Git and Markdown. 8 | kubero.dev/template.icon: https://raw.githubusercontent.com/requarks/wiki/main/client/static/favicons/android-chrome-256x256.png 9 | kubero.dev/template.installation: '' 10 | kubero.dev/template.links: '[]' 11 | kubero.dev/template.screenshots: 'null' 12 | kubero.dev/template.source: https://github.com/Requarks/wiki 13 | kubero.dev/template.categories: '["documentation", "work", "collaboration", "utilities"]' 14 | kubero.dev/template.title: Wiki.js 15 | kubero.dev/template.website: https://js.wiki/ 16 | name: wikijs 17 | spec: 18 | addons: [] 19 | cronjobs: [] 20 | deploymentstrategy: docker 21 | envVars: 22 | - name: DB_TYPE 23 | value: sqlite 24 | - name: DB_FILEPATH 25 | value: /wiki/data/wikisj.db 26 | extraVolumes: 27 | - accessModes: 28 | - ReadWriteOnce 29 | emptyDir: false 30 | mountPath: /wiki/data 31 | name: wikijs-data 32 | size: 1Gi 33 | storageClass: standard 34 | image: 35 | containerPort: '3000' 36 | repository: ghcr.io/requarks/wiki 37 | tag: latest 38 | name: wikijs 39 | web: 40 | replicaCount: 1 41 | worker: 42 | replicaCount: 0 43 | --------------------------------------------------------------------------------