feat(muse) add muse (#7366)

* feat(muse) add muse

* add description to variable.

* some clean up + docs

* add our mirror tag

* fix docs
This commit is contained in:
Xstar97TheNoob
2023-02-18 15:13:10 -05:00
committed by GitHub
parent e93bdedf88
commit dcb83c41a5
9 changed files with 305 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
# OWNERS file for Kubernetes
OWNERS
# helm-docs templates
*.gotmpl
# docs folder
/docs
# icon
icon.png

View File

@@ -0,0 +1 @@
# Changelog

View File

@@ -0,0 +1,32 @@
apiVersion: v2
appVersion: "2.1.9"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 11.1.2
deprecated: false
description: A self-hosted midwestern Discord music bot that doesn't suck.
home: https://truecharts.org/charts/incubator/muse
icon: https://truecharts.org/img/hotlink-ok/chart-icons/muse.png
keywords:
- muse
- media
- discord-bot
kubeVersion: ">=1.16.0-0"
maintainers:
- email: info@truecharts.org
name: TrueCharts
url: https://truecharts.org
name: muse
sources:
- https://github.com/truecharts/charts/tree/master/charts/incubator/muse
- https://github.com/codetheweb/muse
- https://hub.docker.com/r/codetheweb/muse
type: application
version: 0.0.1
annotations:
truecharts.org/catagories: |
- media
- discord-bot
truecharts.org/SCALE-support: "true"
truecharts.org/grade: U

View File

@@ -0,0 +1 @@
# README

View File

@@ -0,0 +1,30 @@
# Installation Notes
- `Discord Token` can be acquired [here](https://discordapp.com/developers/applications) by creating a 'New Application', then going to 'Bot'.
- `Spotify Client Id` and `Spotify Client Secret` can be acquired [here](https://developer.spotify.com/dashboard/applications) with 'Create a Client ID'.
- `Youtube API Key` can be acquired by [creating a new project](https://console.developers.google.com/) in Google's Developer Console, enabling the YouTube API, and creating an API key under credentials.
Optionally you can enable the `advanced` settings and set the following:
- `Cache Limit` can accept MB or GB string values for example: **512MB** or **10GB**.
- `Bot Status` has list of values for the discord bot:
- Online
- Away
- Do not Disturb
- `Bot Activity Type` has list of values for the discord bot:
- Playing
- Listening
- Watching
- Streaming
- Set `Bot Activity` to whatever you want that follows the activity type.
- If you plan to publicly share your bot with more servers other than your own, its recommended by the upstream project to set `Register Commands On Bot` to **true** if its more than 10 guilds. The bot is purpose built to support multiple servers.
:::note
If `Bot Activity Type` set to **Streaming** then `Bot Activity URL` will be shown and is required to be set by adding either a youtube or twitch stream url.
:::
Once installed, check the app logs to get the discord invite link that auto-generated and then invite the bot into your server.
The bot will play music only in voice channels.

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -0,0 +1,171 @@
# Include{groups}
portals: {}
questions:
# Include{global}
# Include{controller}
# Include{replicas}
# Include{replica1}
# Include{controllerExpertExtraArgs}
- variable: env
group: App Configuration
label: Image Environment
schema:
additional_attrs: true
type: dict
attrs:
- variable: DISCORD_TOKEN
label: Discord Token
schema:
type: string
required: true
default: ""
- variable: YOUTUBE_API_KEY
label: Youtube API Key
description: Google's Developer Console credentials API key.
schema:
type: string
required: true
default: ""
- variable: SPOTIFY_CLIENT_ID
label: Spotify Client Id
schema:
type: string
required: true
default: ""
- variable: SPOTIFY_CLIENT_SECRET
label: Spotify Client Secret
schema:
type: string
required: true
default: ""
- variable: advanced
label: Show Advanced Settings
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: CACHE_LIMIT
label: Cache Limit
schema:
type: string
required: true
default: 2GB
- variable: BOT_STATUS
label: Bot Status
schema:
type: string
default: online
enum:
- value: online
description: Online
- value: idle
description: Away
- value: dnd
description: Do not Disturb
- variable: BOT_ACTIVITY_TYPE
label: Bot Activity Type
schema:
type: string
default: PLAYING
enum:
- value: PLAYING
description: Playing
- value: LISTENING
description: Listening
- value: WATCHING
description: Watching
- value: STREAMING
description: Streaming
- variable: BOT_ACTIVITY
label: Bot Activity
schema:
type: string
default: ""
- variable: BOT_ACTIVITY_URL
label: Bot Activity URL
description: requires either a youtube or twitch stream to be set.
schema:
type: string
default: ""
show_if: [[BOT_ACTIVITY_TYPE, "=", "STREAMING"]]
- variable: REGISTER_COMMANDS_ON_BOT
label: Register Commands On Bot
description: Enable Bot-wide commands if your muse instance is running on 10+ guilds.
schema:
type: boolean
default: false
# Include{containerConfig}
# Include{serviceExpertRoot}
default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceRoot}
- variable: config
label: App Config Storage
description: Stores the Application Configuration.
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceList}
# Include{ingressRoot}
- variable: main
label: Main Ingress
schema:
additional_attrs: true
type: dict
attrs:
# Include{ingressDefault}
# Include{ingressTLS}
# Include{ingressTraefik}
# Include{ingressList}
# Include{security}
# Include{securityContextAdvancedRoot}
- variable: privileged
label: Privileged mode
schema:
type: boolean
default: false
- variable: readOnlyRootFilesystem
label: ReadOnly Root Filesystem
schema:
type: boolean
default: false
- variable: allowPrivilegeEscalation
label: Allow Privilege Escalation
schema:
type: boolean
default: false
- variable: runAsNonRoot
label: runAsNonRoot
schema:
type: boolean
default: false
# Include{podSecurityContextRoot}
- variable: runAsUser
label: runAsUser
description: The UserID of the user running the application
schema:
type: int
default: 0
- variable: runAsGroup
label: runAsGroup
description: The groupID this App of the user running the application
schema:
type: int
default: 0
- variable: fsGroup
label: fsGroup
description: The group that should own ALL storage.
schema:
type: int
default: 568
# Include{podSecurityContextAdvanced}
# Include{resources}
# Include{advanced}
# Include{addons}
# Include{codeserver}
# Include{vpn}
# Include{documentation}

View File

@@ -0,0 +1 @@
{{ include "tc.common.loader.all" . }}

View File

@@ -0,0 +1,39 @@
image:
repository: tccr.io/truecharts/muse
pullPolicy: IfNotPresent
tag: 2.1.9@sha256:7451ede551f75219692bbef2e662b540c9a3f585485597bff252777f1c6e42f0
securityContext:
runAsNonRoot: false
readOnlyRootFilesystem: false
podSecurityContext:
runAsUser: 0
runAsGroup: 0
service:
main:
enabled: false
ports:
main:
enabled: false
env:
DATA_DIR: /config
DISCORD_TOKEN: ""
SPOTIFY_CLIENT_ID: ""
SPOTIFY_CLIENT_SECRET: ""
YOUTUBE_API_KEY: ""
# CACHE_LIMIT: 2GB
# BOT_STATUS: online
# BOT_ACTIVITY_TYPE: PLAYING
# BOT_ACTIVITY: A incubator app
# BOT_ACTIVITY_URL: https://www.youtube.com/truecharts
persistence:
config:
enabled: true
mountPath: /config
portal:
enabled: false