- Pretending to be developer-friendly🤞
- With convenience for end-users 🕴️
- Runs from sources 🧾, no build is necessary
- Source directories are mapped into container directory to just run
- Docker image with GPU support with NVidia CUDA 12.4.0
- Python 3.11.8
- Miniconda3 environment: Python packages are under conda control. No PIP🪦.
- Build caches shared between services for build performance
- Localization at OS level with 152 UTF-8 locales. Major and hieroglyphic languages with dialects are enabled by default.
- Uncomment necessary locales in
docker/locales
file - Run
docker compose up --build --remove-orphans
- Uncomment necessary locales in
- Independent
docker compose
service - Yarn package manager (available out-of-the-box, so no new dependencies) for seamless NX integration with
@nx/react
. After many attempts it showed itself as the most robust for building this UI project.
Use following sequence to have it up and running.
$ git clone https://github.com/OpenDevin/OpenDevin.git .
$ cd OpenDevin
$ docker compose up --build
Also docker compose up --build app
will start application container with dependencies, as well as docker compose up --build ui
will start the UI server.
- OpenDevin service
- LiteLLM Proxy service
- Mitmproxy for debugging
- Ollama LLM service
- Postgres server
- Redis server
- Ports
- Time zone configuration
- Directory paths
- Clone the repository
git clone https://github.com/lehcode/oppendevin.git /home/<your_username>/opendevin
- Stop or disable existing ollama
Temporarily stop or disable Ollama systemd service on host system to avoid running multiple Ollama services.
$ systemctl stop ollama.service
$ systemctl disable ollama.service
- Create a systemd Service Unit File
Create a systemd service unit file (e.g., oppendevin.service) in the /etc/systemd/system/ directory:
sudo systemctl edit --full [email protected]
[Unit]
Description=Oppendevin systemd service
Requires=docker.service
After=docker.service
[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/home/<your_username>/opendevin
ExecStart=/usr/local/bin/docker-compose up up -d --remove-orphans
ExecStop=/usr/local/bin/docker-compose down
[Install]
WantedBy=multi-user.target
- Update the paths to docker-compose and docker-compose.yml as necessary.
- Reload systemd and enable the service
After creating the systemd service unit file, reload systemd to load the new service and enable it to start automatically on boot.
sudo systemctl daemon-reload
sudo systemctl start oppendevin
Optionally enable service to start automatically on boot.
sudo systemctl enable oppendevin
- Describe all build features 🫤
- Refactor UI build
- HMR and live reload for UI service in development mode
- Configure production build for user convenience
- GPT Researcher integration
- MemGPT integration