├── .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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
5 |
--------------------------------------------------------------------------------
/client/public/img/icons/disconnected.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/client/public/img/icons/discord.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/public/img/icons/docker.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/public/img/icons/gitea.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/client/public/img/icons/hexagon1-empty-bold.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/client/public/img/icons/hexagon1.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/client/public/img/icons/hexagon3.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/client/public/img/icons/nixos.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow: /
--------------------------------------------------------------------------------
/client/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
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 |
7 |
--------------------------------------------------------------------------------
/client/src/components/apps/overview.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
51 |
52 |
--------------------------------------------------------------------------------
/client/src/components/breadcrumbs.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 | {{ item.title.split('.')[0] }}
{{ item.title.split('.')[1] }}
13 |
14 |
15 |
16 |
17 |
18 |
19 |
31 |
32 |
--------------------------------------------------------------------------------
/client/src/layouts/default/AppBar.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ banner.message }}
4 |
5 |
6 |
7 |
49 |
--------------------------------------------------------------------------------
/client/src/layouts/default/AppFooter.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | Kubero {{ kuberoversion }} |
8 | Kubernetes API {{ kubeversion }}
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/client/src/layouts/default/Popup.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/client/src/layouts/login/Login.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/client/src/layouts/login/View.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
14 |
15 |
--------------------------------------------------------------------------------
/client/src/layouts/setup/Setup.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
10 |
--------------------------------------------------------------------------------
/client/src/layouts/setup/View.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
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 |
2 |
3 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/client/src/views/Addons.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/client/src/views/Login.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/client/src/views/Pipeline.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/client/src/views/Settings.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/client/src/views/Setup.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
--------------------------------------------------------------------------------
/client/src/views/Templates.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
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 |
--------------------------------------------------------------------------------