mirror of
				https://github.com/Akkudoktor-EOS/EOS.git
				synced 2025-10-30 22:36:21 +00:00 
			
		
		
		
	
		
			
	
	
		
			289 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			289 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | % SPDX-License-Identifier: Apache-2.0 | ||
|  | (install-page)= | ||
|  | 
 | ||
|  | # Installation Guide
 | ||
|  | 
 | ||
|  | This guide provides four different methods to install AkkudoktorEOS. Choose the method that best | ||
|  | suits your needs. | ||
|  | 
 | ||
|  | ## Installation Prerequisites
 | ||
|  | 
 | ||
|  | Before installing, ensure you have the following: | ||
|  | 
 | ||
|  | - **For Source/Release Installation:** | ||
|  |   - Python 3.10 or higher | ||
|  |   - pip (Python package manager) | ||
|  |   - Git (for source installation) | ||
|  |   - Tar/Zip (for release package installation) | ||
|  | 
 | ||
|  | - **For Docker Installation:** | ||
|  |   - Docker Engine 20.10 or higher | ||
|  |   - Docker Compose (optional, but recommended) | ||
|  | 
 | ||
|  | ## Method 1: Installation from Source (GitHub)
 | ||
|  | 
 | ||
|  | This method is recommended for developers or users who want the latest features. | ||
|  | 
 | ||
|  | ### M1-Step 1: Clone the Repository
 | ||
|  | 
 | ||
|  | ```{eval-rst} | ||
|  | .. tabs:: | ||
|  | 
 | ||
|  |   .. tab:: Windows | ||
|  | 
 | ||
|  |      .. code-block:: powershell | ||
|  | 
 | ||
|  |         git clone https://github.com/Akkudoktor-EOS/EOS.git | ||
|  |         cd EOS | ||
|  | 
 | ||
|  |   .. tab:: Linux | ||
|  | 
 | ||
|  |      .. code-block:: bash | ||
|  | 
 | ||
|  |         git clone https://github.com/Akkudoktor-EOS/EOS.git | ||
|  |         cd EOS | ||
|  | ``` | ||
|  | 
 | ||
|  | ### M1-Step 2: Create a Virtual Environment and install dependencies
 | ||
|  | 
 | ||
|  | ```{eval-rst} | ||
|  | .. tabs:: | ||
|  | 
 | ||
|  |   .. tab:: Windows | ||
|  | 
 | ||
|  |      .. code-block:: powershell | ||
|  | 
 | ||
|  |         python -m venv .venv | ||
|  |         .venv\Scripts\pip install -r requirements.txt | ||
|  |         .venv\Scripts\pip install -e . | ||
|  | 
 | ||
|  |   .. tab:: Linux | ||
|  | 
 | ||
|  |      .. code-block:: bash | ||
|  | 
 | ||
|  |         python -m venv .venv | ||
|  |         .venv/bin/pip install -r requirements.txt | ||
|  |         .venv/bin/pip install -e . | ||
|  | 
 | ||
|  | ``` | ||
|  | 
 | ||
|  | ### M1-Step 3: Run EOS
 | ||
|  | 
 | ||
|  | ```{eval-rst} | ||
|  | .. tabs:: | ||
|  | 
 | ||
|  |   .. tab:: Windows | ||
|  | 
 | ||
|  |      .. code-block:: powershell | ||
|  | 
 | ||
|  |         .venv\Scripts\python -m akkudoktoreos.server.eos | ||
|  | 
 | ||
|  |   .. tab:: Linux | ||
|  | 
 | ||
|  |      .. code-block:: bash | ||
|  | 
 | ||
|  |         .venv/bin/python -m akkudoktoreos.server.eos | ||
|  | 
 | ||
|  | ``` | ||
|  | 
 | ||
|  | EOS should now be accessible at [http://localhost:8503/docs](http://localhost:8503/docs) and EOSdash | ||
|  | should be available at [http://localhost:8504](http://localhost:8504). | ||
|  | 
 | ||
|  | If you want to make EOS and EOSdash accessible from outside of your machine or container at this | ||
|  | stage of the installation provide appropriate IP addresses on startup. | ||
|  | 
 | ||
|  | <!-- pyml disable line-length --> | ||
|  | ```{eval-rst} | ||
|  | .. tabs:: | ||
|  | 
 | ||
|  |   .. tab:: Windows | ||
|  | 
 | ||
|  |      .. code-block:: powershell | ||
|  | 
 | ||
|  |         .venv\Scripts\python -m akkudoktoreos.server.eos --host 0.0.0.0 --eosdash-host 0.0.0.0 | ||
|  | 
 | ||
|  |   .. tab:: Linux | ||
|  | 
 | ||
|  |      .. code-block:: bash | ||
|  | 
 | ||
|  |         .venv/bin/python -m akkudoktoreos.server.eos --host 0.0.0.0 --eosdash-host 0.0.0.0 | ||
|  | 
 | ||
|  | ``` | ||
|  | <!-- pyml enable line-length --> | ||
|  | 
 | ||
|  | ### M1-Step 4: Configure EOS
 | ||
|  | 
 | ||
|  | Use [EOSdash](http://localhost:8504) to configure EOS. | ||
|  | 
 | ||
|  | ### Updating from Source
 | ||
|  | 
 | ||
|  | To update to the latest version: | ||
|  | 
 | ||
|  | ```{eval-rst} | ||
|  | .. tabs:: | ||
|  | 
 | ||
|  |   .. tab:: Windows | ||
|  | 
 | ||
|  |      .. code-block:: powershell | ||
|  | 
 | ||
|  |         git pull origin main | ||
|  |         .venv\Scripts\pip install -r requirements.txt --upgrade | ||
|  | 
 | ||
|  |   .. tab:: Linux | ||
|  | 
 | ||
|  |      .. code-block:: bash | ||
|  | 
 | ||
|  |         git pull origin main | ||
|  |         .venv/bin/pip install -r requirements.txt --upgrade | ||
|  | 
 | ||
|  | ``` | ||
|  | 
 | ||
|  | ## Method 2: Installation from Release Package (GitHub)
 | ||
|  | 
 | ||
|  | This method is recommended for users who want a stable, tested version. | ||
|  | 
 | ||
|  | ### M2-Step 1: Download the Latest Release
 | ||
|  | 
 | ||
|  | Visit the [Releases page](https://github.com/Akkudoktor-EOS/EOS/releases) and download the latest | ||
|  | release package (e.g., `akkudoktoreos-v0.1.0.tar.gz` or `akkudoktoreos-v0.1.0.zip`). | ||
|  | 
 | ||
|  | ### M2-Step 2: Extract the Package
 | ||
|  | 
 | ||
|  | ```bash | ||
|  | tar -xzf akkudoktoreos-v0.1.0.tar.gz  # For .tar.gz | ||
|  | # or
 | ||
|  | unzip akkudoktoreos-v0.1.0.zip  # For .zip | ||
|  | 
 | ||
|  | cd akkudoktoreos-v0.1.0 | ||
|  | ``` | ||
|  | 
 | ||
|  | ### Follow Step 2, 3 and 4 of Method 1: Installation from source
 | ||
|  | 
 | ||
|  | Installation from release package now needs the exact same steps 2, 3, 4 of method 1. | ||
|  | 
 | ||
|  | ## Method 3: Installation with Docker (DockerHub)
 | ||
|  | 
 | ||
|  | This method is recommended for easy deployment and containerized environments. | ||
|  | 
 | ||
|  | ### M3-Step 1: Pull the Docker Image
 | ||
|  | 
 | ||
|  | ```bash | ||
|  | docker pull akkudoktor/eos:latest | ||
|  | ``` | ||
|  | 
 | ||
|  | For a specific version: | ||
|  | 
 | ||
|  | ```bash | ||
|  | docker pull akkudoktor/eos:v0.1.0 | ||
|  | ``` | ||
|  | 
 | ||
|  | ### M3-Step 2: Run the Container
 | ||
|  | 
 | ||
|  | **Basic run:** | ||
|  | 
 | ||
|  | ```bash | ||
|  | docker run -d \ | ||
|  |   --name akkudoktoreos \ | ||
|  |   -p 8503:8503 \ | ||
|  |   -p 8504:8504 \ | ||
|  |   -e OPENBLAS_NUM_THREADS=1 \ | ||
|  |   -e OMP_NUM_THREADS=1 \ | ||
|  |   -e MKL_NUM_THREADS=1 \ | ||
|  |   -e EOS_SERVER__HOST=0.0.0.0 \ | ||
|  |   -e EOS_SERVER__PORT=8503 \ | ||
|  |   -e EOS_SERVER__EOSDASH_HOST=0.0.0.0 \ | ||
|  |   -e EOS_SERVER__EOSDASH_PORT=8504 \ | ||
|  |   --ulimit nproc=65535:65535 \ | ||
|  |   --ulimit nofile=65535:65535 \ | ||
|  |   --security-opt seccomp=unconfined \ | ||
|  |   akkudoktor/eos:latest | ||
|  | ``` | ||
|  | 
 | ||
|  | ### M3-Step 3: Verify the Container is Running
 | ||
|  | 
 | ||
|  | ```bash | ||
|  | docker ps | ||
|  | docker logs akkudoktoreos | ||
|  | ``` | ||
|  | 
 | ||
|  | EOS should now be accessible at [http://localhost:8503/docs](http://localhost:8503/docs) and EOSdash | ||
|  | should be available at [http://localhost:8504](http://localhost:8504). | ||
|  | 
 | ||
|  | ### M3-Step 4: Configure EOS
 | ||
|  | 
 | ||
|  | Use [EOSdash](http://localhost:8504) to configure EOS. | ||
|  | 
 | ||
|  | ### Docker Management Commands
 | ||
|  | 
 | ||
|  | **View logs:** | ||
|  | 
 | ||
|  | ```bash | ||
|  | docker logs -f akkudoktoreos | ||
|  | ``` | ||
|  | 
 | ||
|  | **Stop the container:** | ||
|  | 
 | ||
|  | ```bash | ||
|  | docker stop akkudoktoreos | ||
|  | ``` | ||
|  | 
 | ||
|  | **Start the container:** | ||
|  | 
 | ||
|  | ```bash | ||
|  | docker start akkudoktoreos | ||
|  | ``` | ||
|  | 
 | ||
|  | **Remove the container:** | ||
|  | 
 | ||
|  | ```bash | ||
|  | docker rm -f akkudoktoreos | ||
|  | ``` | ||
|  | 
 | ||
|  | **Update to latest version:** | ||
|  | 
 | ||
|  | ```bash | ||
|  | docker pull Akkudoktor-EOS/EOS:latest | ||
|  | docker stop akkudoktoreos | ||
|  | docker rm akkudoktoreos | ||
|  | # Then run the container again with the run command
 | ||
|  | ``` | ||
|  | 
 | ||
|  | ## Method 4: Installation with Docker (docker-compose)
 | ||
|  | 
 | ||
|  | ### M4-Step 1: Get the akkudoktoreos source code
 | ||
|  | 
 | ||
|  | You may use either method 1 or method 2 to get the source code. | ||
|  | 
 | ||
|  | ### M4-Step 2: Build and run the container
 | ||
|  | 
 | ||
|  | ```{eval-rst} | ||
|  | .. tabs:: | ||
|  | 
 | ||
|  |   .. tab:: Windows | ||
|  | 
 | ||
|  |      .. code-block:: powershell | ||
|  | 
 | ||
|  |         docker compose up --build | ||
|  | 
 | ||
|  |   .. tab:: Linux | ||
|  | 
 | ||
|  |      .. code-block:: bash | ||
|  | 
 | ||
|  |         docker compose up --build | ||
|  | 
 | ||
|  | ``` | ||
|  | 
 | ||
|  | ### M4-Step 3: Verify the Container is Running
 | ||
|  | 
 | ||
|  | ```bash | ||
|  | docker ps | ||
|  | docker logs akkudoktoreos | ||
|  | ``` | ||
|  | 
 | ||
|  | EOS should now be accessible at [http://localhost:8503/docs](http://localhost:8503/docs) and EOSdash | ||
|  | should be available at [http://localhost:8504](http://localhost:8504). | ||
|  | 
 | ||
|  | ### M4-Step 4: Configure EOS
 | ||
|  | 
 | ||
|  | Use [EOSdash](http://localhost:8504) to configure EOS. |