π MCP Server with Docker, Redis, and TimescaleDB
About
MCP server with Docker, Redis, and TimescaleDB
Explore
- 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.
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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
π MCP Server with Docker, Redis, and TimescaleDBCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
- Docker and Docker Compose installed on your system.
- Git for version control.
- Zsh with Oh-My-Zsh (optional, for enhanced shell experience).
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
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.
---
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"
]
}
}
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.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



