πŸš€ MCP Server with Docker, Redis, and TimescaleDB

by chuckwilliams37

198 downloads
Not rated
GitHub

About

MCP server with Docker, Redis, and TimescaleDB

Details

Author
chuckwilliams37
Downloads
198
Categories
Cloud Service

- FastAPI web framework for the MCP server
- Redis for caching mechanisms
- TimescaleDB time-series database
- Docker Compose orchestrates multi-container deployment
- Environment variables configurable via .env
- Systemd service for auto-start on reboot
- Utility scripts for bootstrap, repo init, push, and SSH setup

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name πŸš€ MCP Server with Docker, Redis, and TimescaleDB
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Clone the repository, copy .env.example to .env and modify as needed, then run docker compose build followed by docker compose up -d. The server is accessible at http://localhost:8080. A systemd service can be configured for automatic restart on reboot.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "\ud83d\ude80 mcp server with docker, redis, and timescaledb": {
            "mcp-server-docker-chuckwilliams37": {
                "command": "docker",
                "args": [
                    "compose",
                    "build"
                ]
            }
        }
    }
}

McpServers

{
    "mcp-server-docker-chuckwilliams37": {
        "command": "docker",
        "args": [
            "compose",
            "build"
        ]
    }
}

πŸš€ MCP Server with Docker, Redis, and TimescaleDB

This repository sets up a Model Context Protocol (MCP) Server using Docker, integrating Redis and TimescaleDB for efficient data management.

πŸ› οΈ Features

- FastAPI: Serves as the web framework for the MCP server.
- Redis: Provides caching mechanisms.
- TimescaleDB: A time-series database built on PostgreSQL.
- Docker Compose: Orchestrates multi-container Docker applications.
- Environment Variables: Configurable via .env file.
- Systemd Service: Ensures the server auto-starts on reboot.

πŸ“‹ Prerequisites

- Docker and Docker Compose installed on your system.
- Git for version control.
- Zsh with Oh-My-Zsh (optional, for enhanced shell experience).

πŸ“‚ Repository Structure

mcp-server-docker/
β”œβ”€β”€ app/
β”‚   └── app.py
β”œβ”€β”€ .env.example
β”œβ”€β”€ docker-compose.yml
β”œβ”€β”€ Dockerfile
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ bootstrap-mcp.sh
β”‚   β”œβ”€β”€ full-bootstrap-mcp.sh
β”‚   β”œβ”€β”€ init-repo.sh
β”‚   β”œβ”€β”€ push-repo.sh
β”‚   └── setup-mcpserver.sh
└── README.md

πŸš€ Setup Instructions

1. Clone the Repository:

   git clone https://github.com/chuckwilliams37/mcp-server-docker.git
   cd mcp-server-docker
   

2. Configure Environment Variables:

   cp .env.example .env
   

Modify .env as needed.

3. Build and Start the Containers:

   docker compose build
   docker compose up -d
   

4. Access the MCP Server:

   http://localhost:8080
   

πŸ”„ Auto-Restart on Reboot

Create a systemd service to keep your app alive:

sudo nano /etc/systemd/system/mcp-docker.service

Paste:

[Unit]
Description=MCP Docker Compose App
Requires=docker.service
After=docker.service

[Service]
WorkingDirectory=/home/youruser/mcp-server-docker
ExecStart=/usr/bin/docker compose up -d
ExecStop=/usr/bin/docker compose down
Restart=always
TimeoutStartSec=0

[Install]
WantedBy=multi-user.target

Enable it:

sudo systemctl daemon-reload
sudo systemctl enable mcp-docker
sudo systemctl start mcp-docker

---

πŸ§ͺ Scripts

The scripts/ directory contains utility scripts to automate infrastructure tasks.

---

πŸ› οΈ scripts/full-bootstrap-mcp.sh

πŸ’‘ Use this on a fresh Ubuntu VM to fully prepare it for MCP deployment. It:

- Installs system dependencies (Docker, Git, Zsh, UFW, Fail2Ban, etc.)
- Sets up oh-my-zsh with the jonathan theme
- Configures Remote Desktop with XFCE + XRDP
- Clones the MCP repo
- Builds and launches the app with docker compose
- Adds a systemd service to relaunch containers on reboot

chmod +x scripts/full-bootstrap-mcp.sh
./scripts/full-bootstrap-mcp.sh

---

πŸ“œ scripts/init-repo.sh

Initializes a new local Git repository and commits the current directory:

chmod +x scripts/init-repo.sh
./scripts/init-repo.sh

---

πŸ“€ scripts/push-repo.sh

Pushes your local repo to a remote (update URL first):

chmod +x scripts/push-repo.sh
./scripts/push-repo.sh

---

🧠 scripts/setup-mcpserver.sh

Configures your local SSH environment to access a remote MCP server:

- Pushes your public key
- Adds an SSH alias
- Prints a sample A-record

chmod +x scripts/setup-mcpserver.sh
./scripts/setup-mcpserver.sh

---

> ⚠️ Edit placeholder values (e.g., IPs, usernames, repo URLs) before executing.

---

🀝 Contributions

Feel free to fork this repository, submit issues, or create pull requests.

πŸ“„ License

This project is licensed under the MIT License.

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.