mirror of
https://github.com/kevinthedang/discord-ollama.git
synced 2025-12-12 19:56:06 -05:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
42ef38db14 | ||
|
|
af23db20bb | ||
|
|
117b195095 | ||
|
|
b361636a93 | ||
|
|
4dbd45bccd |
@@ -1,9 +1,6 @@
|
|||||||
# Discord token for the bot
|
# Discord token for the bot
|
||||||
CLIENT_TOKEN = BOT_TOKEN
|
CLIENT_TOKEN = BOT_TOKEN
|
||||||
|
|
||||||
# id token of a discord server
|
|
||||||
GUILD_ID = GUILD_ID
|
|
||||||
|
|
||||||
# model for the bot to query from (i.e. llama2 [llama2:13b], mistral, codellama, etc... )
|
# model for the bot to query from (i.e. llama2 [llama2:13b], mistral, codellama, etc... )
|
||||||
MODEL = MODEL_NAME
|
MODEL = MODEL_NAME
|
||||||
|
|
||||||
|
|||||||
9
.github/workflows/build.yml
vendored
9
.github/workflows/build.yml
vendored
@@ -1,10 +1,9 @@
|
|||||||
name: Builds
|
name: Builds
|
||||||
run-name: Validate Node and Docker Builds
|
run-name: Validate Node and Docker Builds
|
||||||
on:
|
on:
|
||||||
workflow_run:
|
push:
|
||||||
workflows: [Tests]
|
branches:
|
||||||
types:
|
- master # runs after Pull Request is merged
|
||||||
- completed
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
Discord-Node-Build: # test if the node install and run
|
Discord-Node-Build: # test if the node install and run
|
||||||
@@ -73,7 +72,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Check Images Exist
|
- name: Check Images Exist
|
||||||
run: |
|
run: |
|
||||||
(docker images | grep -q 'discord/bot' && docker images | grep -qE 'ollama/ollama') || exit 1
|
(docker images | grep -q 'kevinthedang/discord-ollama' && docker images | grep -qE 'ollama/ollama') || exit 1
|
||||||
|
|
||||||
- name: Check Containers Exist
|
- name: Check Containers Exist
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
51
.github/workflows/release.yml
vendored
Normal file
51
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
name: release
|
||||||
|
run-name: Release Docker Image
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'v*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
Deploy-Image:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
environment: release
|
||||||
|
timeout-minutes: 3
|
||||||
|
steps:
|
||||||
|
- name: Checkout Repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Node Environment lts/hydrogen
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: lts/hydrogen
|
||||||
|
cache: "npm"
|
||||||
|
|
||||||
|
- name: Create Environment Variables
|
||||||
|
run: |
|
||||||
|
touch .env
|
||||||
|
echo CLIENT_TOKEN = NOT_REAL_TOKEN >> .env
|
||||||
|
echo GUILD_ID = 123456 >> .env
|
||||||
|
echo MODEL = ${{ secrets.MODEL }} >> .env
|
||||||
|
echo CLIENT_UID = ${{ secrets.CLIENT_UID }} >> .env
|
||||||
|
echo OLLAMA_IP = ${{ secrets.OLLAMA_IP }} >> .env
|
||||||
|
echo OLLAMA_PORT = ${{ secrets.OLLAMA_PORT }} >> .env
|
||||||
|
|
||||||
|
- name: Get Version from package.json
|
||||||
|
run: echo "VERSION=$(jq -r '.version' package.json)" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Build Image
|
||||||
|
run: |
|
||||||
|
npm run docker:build
|
||||||
|
|
||||||
|
- name: Build Image as Latest
|
||||||
|
run: |
|
||||||
|
npm run docker:build-latest
|
||||||
|
|
||||||
|
- name: Log into Docker
|
||||||
|
run: |
|
||||||
|
docker login --username ${{ vars.DOCKER_USER }} --password ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Release Docker Image
|
||||||
|
run: |
|
||||||
|
docker push ${{ vars.DOCKER_USER }}/discord-ollama:${{ env.VERSION }}
|
||||||
|
docker push ${{ vars.DOCKER_USER }}/discord-ollama:latest
|
||||||
@@ -8,7 +8,7 @@ services:
|
|||||||
build: ./ # find docker file in designated path
|
build: ./ # find docker file in designated path
|
||||||
container_name: discord
|
container_name: discord
|
||||||
restart: always # rebuild container always
|
restart: always # rebuild container always
|
||||||
image: discord/bot:0.5.7
|
image: kevinthedang/discord-ollama:0.5.9
|
||||||
environment:
|
environment:
|
||||||
CLIENT_TOKEN: ${CLIENT_TOKEN}
|
CLIENT_TOKEN: ${CLIENT_TOKEN}
|
||||||
GUILD_ID: ${GUILD_ID}
|
GUILD_ID: ${GUILD_ID}
|
||||||
|
|||||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "discord-ollama",
|
"name": "discord-ollama",
|
||||||
"version": "0.5.7",
|
"version": "0.5.9",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "discord-ollama",
|
"name": "discord-ollama",
|
||||||
"version": "0.5.7",
|
"version": "0.5.9",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"discord.js": "^14.15.3",
|
"discord.js": "^14.15.3",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "discord-ollama",
|
"name": "discord-ollama",
|
||||||
"version": "0.5.7",
|
"version": "0.5.9",
|
||||||
"description": "Ollama Integration into discord",
|
"description": "Ollama Integration into discord",
|
||||||
"main": "build/index.js",
|
"main": "build/index.js",
|
||||||
"exports": "./build/index.js",
|
"exports": "./build/index.js",
|
||||||
@@ -18,8 +18,9 @@
|
|||||||
"docker:start-cpu": "npm run docker:network && npm run docker:build && npm run docker:client && npm run docker:ollama-cpu",
|
"docker:start-cpu": "npm run docker:network && npm run docker:build && npm run docker:client && npm run docker:ollama-cpu",
|
||||||
"docker:clean": "docker rm -f discord && docker rm -f ollama && docker rmi $(docker images --filter \"dangling=true\" -q --no-trunc)",
|
"docker:clean": "docker rm -f discord && docker rm -f ollama && docker rmi $(docker images --filter \"dangling=true\" -q --no-trunc)",
|
||||||
"docker:network": "docker network create --subnet=172.18.0.0/16 ollama-net",
|
"docker:network": "docker network create --subnet=172.18.0.0/16 ollama-net",
|
||||||
"docker:build": "docker build --no-cache -t discord/bot:$(node -p \"require('./package.json').version\") .",
|
"docker:build": "docker build --no-cache -t kevinthedang/discord-ollama:$(node -p \"require('./package.json').version\") .",
|
||||||
"docker:client": "docker run -d -v discord:/src/app --name discord --network ollama-net --ip 172.18.0.3 discord/bot:$(node -p \"require('./package.json').version\")",
|
"docker:build-latest": "docker build --no-cache -t kevinthedang/discord-ollama:latest .",
|
||||||
|
"docker:client": "docker run -d -v discord:/src/app --name discord --network ollama-net --ip 172.18.0.3 kevinthedang/discord-ollama:$(node -p \"require('./package.json').version\")",
|
||||||
"docker:ollama": "docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama --network ollama-net --ip 172.18.0.2 ollama/ollama:latest",
|
"docker:ollama": "docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama --network ollama-net --ip 172.18.0.2 ollama/ollama:latest",
|
||||||
"docker:ollama-cpu": "docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama --network ollama-net --ip 172.18.0.2 ollama/ollama:latest"
|
"docker:ollama-cpu": "docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama --network ollama-net --ip 172.18.0.2 ollama/ollama:latest"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ export const Keys = {
|
|||||||
clientToken: getEnvVar('CLIENT_TOKEN'),
|
clientToken: getEnvVar('CLIENT_TOKEN'),
|
||||||
model: getEnvVar('MODEL'),
|
model: getEnvVar('MODEL'),
|
||||||
clientUid: getEnvVar('CLIENT_UID'),
|
clientUid: getEnvVar('CLIENT_UID'),
|
||||||
guildId: getEnvVar('GUILD_ID'),
|
|
||||||
ipAddress: getEnvVar('OLLAMA_IP'),
|
ipAddress: getEnvVar('OLLAMA_IP'),
|
||||||
portAddress: getEnvVar('OLLAMA_PORT'),
|
portAddress: getEnvVar('OLLAMA_PORT'),
|
||||||
} as const // readonly keys
|
} as const // readonly keys
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { Configuration, ServerConfig, UserConfig, isServerConfigurationKey } from '../index.js'
|
import { Configuration, ServerConfig, UserConfig, isServerConfigurationKey } from '../index.js'
|
||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
|
import path from 'path'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method to open a file in the working directory and modify/create it
|
* Method to open a file in the working directory and modify/create it
|
||||||
@@ -35,6 +36,10 @@ export function openConfig(filename: string, key: string, value: any) {
|
|||||||
[key]: value
|
[key]: value
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const directory = path.dirname(fullFileName)
|
||||||
|
if (!fs.existsSync(directory))
|
||||||
|
fs.mkdirSync(directory, { recursive: true })
|
||||||
|
|
||||||
fs.writeFileSync(`data/${filename}`, JSON.stringify(object, null, 2))
|
fs.writeFileSync(`data/${filename}`, JSON.stringify(object, null, 2))
|
||||||
console.log(`[Util: openConfig] Created '${filename}' in working directory`)
|
console.log(`[Util: openConfig] Created '${filename}' in working directory`)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user