This is the collection of services that allow any individual to self-host their own instance of the mlop server. It can be used to store, analyze, visualize, and share any data recorded by the latest mlop clients or other platforms. It's super easy to get started and we welcome you to try it yourself! All you need is a containerized environment and a minute to spare.
For a managed instance with better scalability, stability and support, please visit mlop.ai or contact us at founders@mlop.ai.
0. Ensure you have docker-compose
(or podman-compose
) and the current user has access to Docker daemon
sudo pacman -S docker-compose
# or
sudo apt install docker-compose
# or
sudo port install docker-compose
git clone --recurse-submodules https://github.com/mlop-ai/server.git
cd server
git submodule update --rebase --remote
cp .env.example .env
sudo docker-compose --env-file .env up --build
or to have more granular control over the services,
sudo docker-compose --env-file .env up -d traefik clickhouse py ingest
The server will be swiftly available at http://localhost:3000
.
To use the self-hosted server with the client, simply initialize the client with
mlop.init(settings={"host": "localhost"}) # or a specified host matching the CORS policy of the server set by .env
- a custom frontend application hosted on
port 3000
- a custom backend application hosted on
port 3001
- a Rust server for high-performance data ingestion on
port 3003
- a Python server for general-purpose health monitoring on
port 3004
- an S3-compatible storage server on
port 9000
- a ClickHouse database on
port 9000
(not exposed to host by default) - a PostgreSQL database on
port 5432
(not exposed to host by default)
You should be aware of all your data stored on the server. That's why the contents of the databases are mapped to directories on the host by default. When you need to migrate the server to a different host, simply make sure you take the .mlop
folder and .env
file with you.
We welcome any contributions to the project! Please feel free to submit any code, docs, feedback, or examples.