To jest stara wersja strony!
Aider AI w kontenerze
Uruchomienie najprostszej możliwej instancji Aider w kontenerach jedną komendą (to znaczy skryptem).
Pliki konfiguracyjne
$ cat requirements.txt
aider-chat==0.86.2
aiohappyeyeballs==2.6.1
aiohttp==3.13.3
aiosignal==1.4.0
annotated-doc==0.0.4
annotated-types==0.7.0
anyio==4.12.1
asgiref==3.11.1
attrs==25.4.0
backoff==2.2.1
beautifulsoup4==4.14.3
certifi==2026.1.4
cffi==2.0.0
charset-normalizer==3.4.4
click==8.3.1
ConfigArgParse==1.7.1
diff-match-patch==20241021
diskcache==5.6.3
distro==1.9.0
fastapi==0.128.8
fastuuid==0.14.0
filelock==3.20.3
flake8==7.3.0
frozenlist==1.8.0
fsspec==2026.2.0
gitdb==4.0.12
GitPython==3.1.46
grep-ast==0.9.0
h11==0.16.0
hf-xet==1.2.0
httpcore==1.0.9
httpx==0.28.1
huggingface_hub==1.4.1
idna==3.11
importlib_metadata==7.2.1
importlib_resources==6.5.2
Jinja2==3.1.6
jiter==0.13.0
json5==0.13.0
jsonschema==4.26.0
jsonschema-specifications==2025.9.1
litellm==1.81.10
markdown-it-py==4.0.0
MarkupSafe==3.0.3
mccabe==0.7.0
mdurl==0.1.2
mixpanel==5.0.0
mslex==1.3.0
multidict==6.7.1
networkx==3.4.2
numpy==1.26.4
openai==2.20.0
orjson==3.11.7
oslex==0.1.3
packaging==26.0
pathspec==1.0.4
pexpect==4.9.0
pillow==12.1.1
posthog==7.8.6
prompt_toolkit==3.0.52
propcache==0.4.1
psutil==7.2.2
ptyprocess==0.7.0
pycodestyle==2.14.0
pycparser==3.0
pydantic==2.12.5
pydantic_core==2.41.5
pydub==0.25.1
pyflakes==3.4.0
Pygments==2.19.2
pypandoc==1.16.2
pyperclip==1.11.0
python-dateutil==2.9.0.post0
python-dotenv==1.2.1
PyYAML==6.0.3
referencing==0.37.0
regex==2026.1.15
requests==2.32.5
rich==14.3.2
rpds-py==0.30.0
scipy==1.15.3
shellingham==1.5.4
shtab==1.8.0
six==1.17.0
smmap==5.0.2
sniffio==1.3.1
socksio==1.0.0
sounddevice==0.5.5
soundfile==0.13.1
soupsieve==2.8.3
starlette==0.52.1
tiktoken==0.12.0
tokenizers==0.22.2
tqdm==4.67.3
tree-sitter==0.25.2
tree-sitter-c-sharp==0.23.1
tree-sitter-embedded-template==0.25.0
tree-sitter-language-pack==0.13.0
tree-sitter-yaml==0.7.2
typer==0.23.0
typer-slim==0.23.0
typing-inspection==0.4.2
typing_extensions==4.15.0
urllib3==2.6.3
watchfiles==1.1.1
wcwidth==0.6.0
yarl==1.22.0
zipp==3.23.0
$ cat Dockerfile
from registry.redhat.io/rhel10/python-312-minimal@sha256:c0717a2e8da811f7100b00ed59d6997fa7d3178b95039ac805d414e783a15641
USER 0
RUN pip install --upgrade "pip==26.1.2"
ADD requirements.txt /tmp/
RUN pip install --requirement /tmp/requirements.txt
RUN rm -f /tmp/requirements.txt
RUN mkdir -p /opt/aider_ai
RUN chown -R 1001:0 /opt/aider_ai
USER 1001
ENV AIDER_GIT=false
ENV AIDER_DARK_MODE=true
ENV OLLAMA_API_BASE=http://nazwa.hosta:11434/
ENV IDER_ANALYTICS_DISABLE=true
ENV AIDER_SHOW_RELEASE_NOTES=false
ENV OLLAMA_MODEL=qwen3.5:9b
WORKDIR /opt/aider_ai
CMD aider --model=ollama_chat/${OLLAMA_MODEL}
Zamienić „nazwa.hosta” oraz model i jego wersję na preferowane.
Budowanie obrazu
$ podman login registry.redhat.io
Wpisać nazwę użytkownka oraz hasło dla konta redhat.com.
$ podman build -t aiderai .
Uruchomienie
Uruchomienie kontenera w bieżącym (dowolnym) katalogu ręcznie:
$ podman mkdir pulpit $ podman unshare chown 1001:0 pulpit/ $ podman unshare chmod 770:0 pulpit/ $ podman run --rm -it --env OLLAMA_MODEL='qwen3.5:9b' --name=aider_alfa --volume ./pulpit/:/opt/aider_ai/:rw,Z aiderai
Model można wybrać za pomocą zmiennej OLLAMA_MODEL.
Skrypt do uruchamiania powyższego trochę szybciej:
$ cat ~/.local/bin/aiderinit #!/usr/bin/bash if [ ! -d pulpit ] ; then mkdir pulpit fi podman unshare chown 1001:0 pulpit podman unshare chmod 770 pulpit podman run --rm -it --env OLLAMA_MODEL='qwen3.5:9b' --name=aider_alfa --volume ./pulpit/:/opt/aider_ai/:rw,Z aiderai
Uwagi
Aider w takiej konfiguracji nie zrobi dwóch rzeczy:
- nie zapamięta kontekstu pomiędzy sesjami,
- nie zrobi repozytorium typu git, gdzie będzie wersjonować kolejne zmiany w kodzie.
Katalog pulpit jest do dyspozycji aidera. Nie polecam wrzucać tam plików, lub ich ręcznie modyfikować, ponieważ poprawne działanie aidera, oraz modelu zarazem, polega na analizie dotychczasowych promptów oraz historii czatów w plikach .aider.chat.history.md oraz .aider.input.history z katalogu pulpit.
Nazwa lokalnego katalogu pulpit może być dowolna.