# Capital Index Database Middleware ## Overview ### About This Project The **Capital Index Database Middleware** provides an abstraction layer for your database, enhancing query management and change monitoring. It streamlines database interactions while ensuring efficient performance and security. ### Repository Contents This repository includes: - **Middleware Source Code** – The core logic for database interaction. - **Dockerfile** – Configuration for containerized deployment. - **Install & Management Scripts** – Scripts for streamlined installation and maintenance. ## Getting Started ### Installation #### Step 1: Install Required Dependencies Before installing, ensure you have the necessary dependencies to download and build the Docker container.
Debian/Ubuntu ```bash sudo apt-get update && sudo apt-get upgrade -y sudo apt-get install -y wget git docker.io ``` [Optional] Install Docker BuildKit: ```bash sudo apt-get install -y docker-buildx ```
CentOS/Fedora > **Note:** If using CentOS 7, replace `dnf` with `yum`. ```bash sudo dnf update -y && sudo dnf upgrade -y sudo dnf install -y wget git docker ``` [Optional] Install Docker BuildKit: ```bash sudo dnf install -y docker-buildx ```
Arch Linux ```bash sudo pacman -Syu --noconfirm sudo pacman -S --noconfirm wget git docker ``` [Optional] Install Docker BuildKit: ```bash sudo pacman -S --noconfirm docker-buildx ```
Alpine Linux ```bash sudo apk update && sudo apk upgrade sudo apk add --no-cache wget git docker ``` [Optional] Install Docker BuildKit: ```bash sudo apk add --no-cache docker-cli-buildx ```
#### Step 2: Run the Setup Script After installing dependencies, configure Docker permissions and run the setup script: 1. Add your user to the Docker group and re-login: ```bash sudo usermod -aG docker $USER && sudo su - $USER ``` 2. Download and execute the `setup.sh` script: ```bash mkdir -p ~/.db-middleware/scripts \ && rm -rf ~/.db-middleware/scripts/* \ && cd ~/.db-middleware/scripts \ && wget -qO setup.sh https://gitea.abdulhade.com/abdulhade/db-middleware/raw/branch/main/scripts/setup.sh \ && bash setup.sh ``` --- ## Configuration During installation, you will be prompted to configure the following variables: ### 1. API_PORT - Defines the port the middleware listens on. - **Default:** `8080` - Access within your machine: `http://localhost:8080` - Ensure this port is forwarded if external access is required. ### 2. CONTAINER_NAME - Specifies the name of the Docker container running the middleware. ### 3. HAS_LOCAL_DBS Determines how the middleware connects to databases: - **Enter `0`** – If the database is hosted on a remote server. - **Enter `1`** – If the database runs on the same machine. > **Note:** By default, Docker containers operate on an isolated network. If your database is local, the middleware must be configured to run on the same network to ensure connectivity. --- ## Next Steps - [ ] **Test Your Setup** – Run a sample query to verify functionality. - [ ] **Configure External Access** – If needed, update firewall and network settings. - [ ] **Monitor Logs** – Use `docker logs ` to check for issues. For further assistance, refer to the project documentation or open an issue in the repository.