DEV Community

青 薄
青 薄

Posted on

I self-hosted an AI support bot with FastGPT + Docker — 3 gotchas that will break your install

I spent the last few days installing FastGPT v4.15 (open-source knowledge-base chatbot) on a fresh Linux box with Docker. It mostly works out of the box, but three things will stop you cold:

  1. The MinIO image no longer pulls from Docker Hub.
    pull access denied for minio/minio — MinIO pulled their public images. The fix that worked for me: use the same version from FastGPT's own mirror (registry.cn-hangzhou.aliyuncs.com/fastgpt/minio). Slow from outside China, but it works.

  2. CSV FAQ import needs a third column.
    The header must be q,a,indexes, not q,a, or the import is rejected with a format error.

  3. You need an embedding model, not just a chat model.
    Without one, you can't even create a knowledge base ("System not embedding model"). DeepSeek alone isn't enough.

Bonus: Docker can bypass your firewall (ufw). Bind FastGPT's ports to 127.0.0.1 and put a reverse proxy in front.

Idle memory on my test box was ~2.1 GB, so 2 GB RAM VPSes won't cut it — plan for 4 GB.

I wrote the whole process up as a step-by-step guide with templates (compose fixes, backup/restore scripts, website widget snippet): https://zhutiandiba.gumroad.com/l/ibgouh

Happy to answer questions here either way.

Top comments (1)

Collapse
 
dhruonweb profile image
Dhruv Malaviya •

The ufw point is the most important line here and deserves more than a bonus mention. Docker rewrites iptables directly, so a published container port is reachable regardless of what ufw says , the firewall you configured and verified isn't the one being enforced.

That's the argument for default-closed rather than default-open-with-rules. At Krova Cloud a Cube has no inbound address at all; nothing is reachable until you map a port, and each mapping takes an IP allowlist. There's no iptables layer for a container runtime to write past.

Your 2.1 GB idle figure is the useful number , most "runs on a small VPS" guides omit what idle costs. Our 2 vCPU / 4 GB / 40 GB shape is $10.22/mo, which matches your 4 GB recommendation with headroom.

The MinIO registry disappearance is worth its own post.