Files
discord-aidolls/docs/setup-docker.md
Kevin Dang 43fb2ea94e User Preferences and Setup Docs (#20)
* added message style command

* docker setup scripts

* reformat messageStyle.ts

* fix: register unregister on deploy

* add: messageStream preference

* add: json config handler

* update: messageCreate gets config

* update: shifted chat to config callback

* fix: naming conventions based on discord

* update: setup in docs now

* add: static docker ips

* version increment

* add: bot message for no config

* fix: no config case

* add: clarification for subnetting

* update: version increment in lock file

---------

Co-authored-by: JT2M0L3Y <jtsmoley@icloud.com>
2024-03-22 10:37:06 -07:00

2.7 KiB

Docker Setup

To Run (with Docker and Docker Compose)

  • With the inclusion of subnets in the docker-compose.yml, you will need to set the SUBNET_ADDRESS, OLLAMA_IP, OLLAMA_PORT, and DISCORD_IP. Here are some default values if you don't care:
    • OLLAMA_IP = 172.18.0.2
    • OLLAMA_PORT = 11434
    • DISCORD_IP = 172.18.0.3
    • SUBNET_ADDRESS = 172.18.0.0
    • Don't understand any of this? watch a Networking video to understand subnetting.
  • You will need a model in the container for this to work properly, on Docker Desktop go to the Containers tab, select the ollama container, and select Exec to run as root on your container. Now, run ollama pull [model name] to get your model.
    • For Linux Servers, you need another shell to pull the model, or if you run docker compose build && docker compose up -d, then it will run in the background to keep your shell. Run docker exec -it ollama bash to get into the container and run the samme pull command above.
  • Otherwise, there is no need to install any npm packages for this, you just need to run npm run start to pull the containers and spin them up.
  • For cleaning up on Linux (or Windows), run the following commands:
    • docker compose stop
    • docker compose rm
    • docker ps to check if containers have been removed.
  • You can also use npm run clean to clean up the containers and remove the network to address a possible Address already in use problem.

Manual Run (with Docker)

  • Run the following commands:
    • npm run docker:build
    • npm run docker:ollama
    • npm run docker:client
    • docker ps to see if the containers are there!
      • Names should be discord and ollama.
    • You can also just run npm run docker:start now for the above commands.
  • Clean-up:
    • docker ps for the conatiner id's. Use -a flag as necessary.
    • docker rm -f discord && docker rm -f ollama to remove the containers.
      • docker rm -f CONTAINER_ID do for both containers if naming issues arise.
    • docker network rm ollama-net removes the network.
      • docker network prune will also work so long as the network is unused.
  • Remove Image:
    • If you need to remove the image run docker image rm IMAGE_ID. You can get the image id by running docker images.