AllYourBot / hostedgpt

An open version of ChatGPT you can host anywhere or run locally.
MIT License
228 stars 92 forks source link

sets up docker compose #125

Closed robacarp closed 4 months ago

robacarp commented 4 months ago

fixes #121

robacarp commented 4 months ago

@krschacht I'm not sure why your local run wouldn't be interuptable with ctrl-c. I have run into that before, but not here.

When the container boots the ruby container has a boot up routine that looks for other init files, and I don't think it's worth fiddling with overriding that. The worker sometimes boots up too quickly and errors out before respawning:

image

I fiddled with the docker compose hooks to "wait for a service to be healthy" before starting dependent services, but that makes the boot up process so slow -- it waits 5s before booting the dependent!

Since this happens only on a brand new container, and it self-heals, I'd prefer to just have it boot quicker and ignore the warning message. Thoughts?

krschacht commented 4 months ago

@robacarp Agreed!

krschacht commented 4 months ago

@robacarp I went ahead and fixed the REDIS_URL issue for development, it wasn't too hard. And I renamed "server" to "base" to make those commands a little clearer. That felt like a good balance of a service name that still makes sense within compose.yml but also makes sense when you're thinking of it as the thing you're executing arbitrary commands on. With that, I'm going to merge in!

I just discovered one more issue: chromedriver isn't installed in the docker image so you can't run the system tests:

docker compose run base rails test:system

Selenium::WebDriver::Error::WebDriverError: unable to connect to /root/.cache/selenium/chromedriver/linux64/121.0.6167.85/chromedriver 127.0.0.1:9515

Issue #137

hopeseekr commented 4 weeks ago

Has anyone bothered testing this recently?

When you do docker compose up now you get hit with:

Cannot render console from 172.25.0.1! Allowed networks: 192.168.0.0/192.168.255.255

So I went in and edited config/environments/development.rb and changed line 79 from

   config.web_console.permissions = "192.168.0.0/16"

to

   config.web_console.permissions = "172.0.0.0/16"

so that it, you know, runs on Docker networks...

But then I get hit with a big-ole Sprockets::Rails::Helper::AssetNotFound in Sessions#new

The asset "tailwind.css" is not present in the asset pipeline.

error. image

Also, I want to run this via docker in production. How do I change the environment???

It seems you left stuff out of the README and/or the docker compose setup has bitrotted in just 3 months to the point of not being able to be setup on the first run.

krschacht commented 4 weeks ago

@hopeseekr There are no known issues and I test regularly, but let me investigate a bit more. I'm going to convert this to an issue to keep us organized.