The MIH Project
learn how to create your own flavour of the MIH Server.
Prerequisite:-
- Ubuntu Server OS installed (24.04 tested)
- Docker is Installed.
- Git is Installed.
- Sudo permission granted.
Get Started:-
- Clone Git Repo.
- Navigate to mih-project directory.
cd mih-project
- Create .env file in the same location as docker-compose.yml
SQL_ROOT_PW=*PASSWORD*
SQL_USER=*USER*
SQL_USER_PW=*PASSWORD*
SUPERTOKENS_DB=supertokens
SUPERTOKENS_API_KEY=*API KEY*
MINIO_ROOT_USER=*USER*
MINIO_ROOT_PW=*PASSWORD*
CERTBOT_EMAIL=*ADMIN_EMAIL*
CERTBOT_APP_DOMAIN=*APP_DOMAIN*
CERTBOT_API_DOMAIN=*API_DOMAIN*
CERTBOT_STORAGE_DOMAIN=*STORAGE_DOMAIN*
CERTBOT_MONITOR_DOMAIN=*MONITOR_DOMAIN*
CERTBOT_AI_DOMAIN=*AI_DOMAIN*
GITEA_SQL_ROOT_PW=*GITEA_SQL_ROOT_PW*
GITEA_SQL_USER=*GITEA_SQL_USER*
GITEA_SQL_PW=*GITEA_SQL_PW*
GITEA_SQL_DB=*GITEA_SQL_DB*
WP_SQL_DB=*WP_SQL_DB*
WP_SQL_ROOT_PW=*WP_SQL_ROOT_PW*
WP_SQL_USER=*WP_SQL_USER*
WP_SQL_USER_PW=*WP_SQL_USER_PW*
- Configure MIH-AI.
- If your server hardware has an Nvidia GPU, follow the instructions below "How to enable MIH-AI GPU usage"
- If your server hardware does not use an Nvidia GPU, continue with the next step.
- Start MIH Server.
sudo docker compose up -d --build
- Check the status of the new MIH server using Portainer.
https://localhost:9443/ (Change Local Host to IP if necessary).
- If all containers are running without errors, proceed to step 5
(NOTE: certbot container will stop after running successfully).
- If MIH-Minio did not start correctly, run
sudo chown 1001 File_Storage/ in the project directory, stop MIH Server (see details below), then start MIH Server again. sudo chown 1001 File_Storage
- Set Up MIH-Minio config
- Access MIH-Minio using
https://localhost:9001/login (Change Localhost to IP if necessary).
- Add/ Generate access key to MIH-Minio.
- Create a bucket called mih.
- Non-Prod: make the mih bucket public.
- Prod: keep the mih bucket private.
How to Stop MIH Server:-
sudo docker compose down
How to enable MIH-AI GPU:-
- Uncomment the code block in MIH-AI docker-compose.yaml
# deploy:
# resources:
# reservations:
# devices:
# - driver: nvidia
# count: all # or specify a number of GPUs
# capabilities: [gpu]