Initial commit, fully working stack

This commit is contained in:
Zeva Rose 2022-10-27 20:25:41 -06:00
commit a02c6df708
6 changed files with 117 additions and 0 deletions

6
.gitignore vendored Normal file
View file

@ -0,0 +1,6 @@
# Cloned repos
jarvis-bot/
jarvis-tasks/
# Configs
config.yaml

23
README.md Normal file
View file

@ -0,0 +1,23 @@
# JARVIS
## What is this repo?
This repository is a repo designed to self-host a full-stack JARVIS instance from the ground up with no extra work.
## How to run
To use, first create a `config.yaml` based on `config.example.yaml`
Then, run `fetch.sh` if you're on Linux/macOS, or `fetch.ps1` if you're on Windows
Finally, run `docker compose up -d`
## How to update
First, re-run `fetch.sh` or `fetch.ps1`
Then, run `docker compose up -d --build`
## Prerequisites
- git
- docker

29
config.example.yaml Normal file
View file

@ -0,0 +1,29 @@
---
# Replace ... with actual values
token: ...
twitter:
consumer_key: ...
consumer_secret: ...
access_token: ...
access_token_secret: ...
bearer_token: ...
reddit:
client_secret: ...
client_id: ...
# Leave these values alone
mongo:
connect:
username:
password:
host: mongodb
port: 27017
database: jarvis
redis:
host: redis://cache
username:
password:
max_messages: 10000
log_level: INFO
sync: True
urls:

24
docker-compose.yaml Normal file
View file

@ -0,0 +1,24 @@
version: "3.8"
services:
cache:
image: redis
restart: always
command: redis-server --save 20 1 --loglevel warning
mongodb:
image: mongo
command: mongod
bot:
build: ./jarvis-bot
depends_on:
- cache
- mongodb
tasks:
build: ./jarvis-tasks
stop_grace_period: 5s
depends_on:
- cache
- mongodb

17
fetch.ps1 Normal file
View file

@ -0,0 +1,17 @@
if (Test-Path -Path ".\jarvis-bot") {
Push-Location ".\jarvis-bot"
git pull
Pop-Location
} else {
git clone https://git.zevaryx.com/stark-industries/jarvis/jarvis-bot.git
}
if (Test-Path -Path ".\jarvis-tasks") {
Push-Location ".\jarvis-tasks"
git pull
Pop-Location
} else {
git clone https://git.zevaryx.com/stark-industries/jarvis/jarvis-tasks.git
}
cp config.yaml .\jarvis-bot\config.yaml
cp config.yaml .\jarvis-tasks.\config.yaml

18
fetch.sh Executable file
View file

@ -0,0 +1,18 @@
#!/bin/bash
if [ ! -d jarvis-bot ]; then
git clone https://git.zevaryx.com/stark-industries/jarvis/jarvis-bot.git
else
pushd jarvis-bot
git pull
popd
fi
if [ ! -d jarvis-tasks ]; then
git clone https://git.zevaryx.com/stark-industries/jarvis/jarvis-tasks.git
else
pushd jarvis-tasks
git pull
popd
fi
cp -v config.yaml jarvis-bot/config.yaml
cp -v config.yaml jarvis-tasks/config.yaml