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 [email protected].
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-composegit clone --recurse-submodules https://github.com/mlop-ai/server.git
cd server
git submodule update --rebase --remotecp .env.example .envsudo docker-compose --env-file .env up --buildor to have more granular control over the services,
sudo docker-compose --env-file .env up -d traefik clickhouse py ingestThe 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.