{"id":18825454,"url":"https://github.com/grycap/im-web","last_synced_at":"2025-04-14T01:31:29.469Z","repository":{"id":20629522,"uuid":"23911194","full_name":"grycap/im-web","owner":"grycap","description":"IM - Infrastructure Manager web GUI","archived":false,"fork":false,"pushed_at":"2022-10-18T14:01:31.000Z","size":3761,"stargazers_count":9,"open_issues_count":3,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-27T15:52:17.164Z","etag":null,"topics":["web-gui"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grycap.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-11T08:57:09.000Z","updated_at":"2025-02-28T11:36:30.000Z","dependencies_parsed_at":"2023-01-11T15:45:14.902Z","dependency_job_id":null,"html_url":"https://github.com/grycap/im-web","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grycap%2Fim-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grycap%2Fim-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grycap%2Fim-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grycap%2Fim-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grycap","download_url":"https://codeload.github.com/grycap/im-web/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248807571,"owners_count":21164710,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["web-gui"],"created_at":"2024-11-08T00:59:35.586Z","updated_at":"2025-04-14T01:31:27.501Z","avatar_url":"https://github.com/grycap.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IM - Infrastructure Manager web GUI\n\n[![Build Status](http://jenkins.i3m.upv.es/buildStatus/icon?job=grycap/im-web-unit)](http://jenkins.i3m.upv.es:8080/job/grycap/job/im-web-unit/) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/67e793926c87475da58d9bf16838eaff)](https://www.codacy.com/app/micafer/im-web?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=grycap/im-web\u0026amp;utm_campaign=Badge_Grade) [![Codacy Badge](https://api.codacy.com/project/badge/Coverage/67e793926c87475da58d9bf16838eaff)](https://www.codacy.com/app/micafer/im-web?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=grycap/im-web\u0026utm_campaign=Badge_Coverage) [![License](https://img.shields.io/badge/license-GPL%20v3.0-brightgreen.svg)](LICENSE) [![Docs](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://imdocs.readthedocs.io/en/latest/web.html)\n\nIM is a tool that ease the access and the usability of IaaS clouds by automating\nthe VMI selection, deployment, configuration, software installation, monitoring\nand update of Virtual Appliances. It supports APIs from a large number of\nvirtual platforms, making user applications cloud-agnostic. In addition it\nintegrates a contextualization system to enable the installation and\nconfiguration of all the user required applications providing the user with a\nfully functional infrastructure.\n\n## 1 DOCKER IMAGE\n\nA Docker image named `grycap/im-web` has been created to make easier the deployment of an IM web GUI using the \ndefault configuration. Information about this image can be found here: \u003chttps://registry.hub.docker.com/u/grycap/im-web/\u003e.\n\nThis container is prepaired to work linked with the IM service container `grycap/im`, in this way:\n\n*   First launch the IM service specifying the name \"im\":\n\n```sh\nsudo docker run -d -p 8899:8899 --name im grycap/im \n```\n\n*   Then launch the im-web container linking to the im:\n\n```sh\nsudo docker run -d -p 80:80 --name im-web --link im:im grycap/im-web \n```\n\nIt also supports environment variables to set the IM service location:\n\n*   im_use_rest: Uses the REST API instead of the XML-RPC that is the default one. Default value \"false\".\n*   im_use_ssl: Uses HTTPS to connect with the APIs. Default value \"false\".\n*   im_host: Hostname of the IM service. Default value \"im\".\n*   im_port: Port of the IM service. Default value \"8899\".\n*   im_path: Path of the IM service. Default value \"/\".\n*   im_db: Location of the D.B. file used in the web application to store data. Default value \"/home/www-data/im.db\". It can be also set a MySQL server URL, using this format: 'mysql://user:pass@mysqlserver/im_web_db'\n*   openid_issuer: URL of the OpenID Issuer. Default value \"\".\n*   openid_name: OpenID Issuer name. Default value \"\".\n*   client_id: OpenID Client ID. Default value \"client_id\".\n*   client_secret: OpenID Client Secret. Default value \"client_secret\".\n*   redirect_uri: OpenID redirect URI . Default value \"https://server.com/im-web/opend_auth.php\". \n\n```sh\ndocker run -p 80:80 -e \"im_use_rest=true\" -e \"im_host=server.domain\" -e \"im_port=8800\" -d grycap/im-web\n```\n\nThere is also a version SSL enabled. In this case the docker image have a selfsigned certificate for testing purposes. Add your own in the docker command:\n\n```sh\ndocker run -p 80:80 -p 443:443 -v server.crt:/etc/ssl/certs/server.crt -v server.key:/etc/ssl/certs/server.key -d grycap/im-web:1.5.5-ssl\n```\n\nThen you can access the IM Web portal in the following URL: http://localhost/im-web/\n\n## 2 Kubernetes Helm Chart\n\nThe IM service and web interface can be installed on top of [Kubernetes](https://kubernetes.io/) using [Helm](https://helm.sh/).\n\nHow to install the IM chart:\n\n```sh\n$ helm repo add grycap https://grycap.github.io/helm-charts/\n$ helm install --namespace=im --name=im  grycap/IM\n```\n\nAll the information about this chart is available at the [IM chart README](https://github.com/grycap/helm-charts/blob/master/IM/README.md).\n\n## 3 INSTALLATION\n\n### 3.1 REQUISITES\n\nIM web interface is based on PHP, so a web server with PHP support must be installed.\n\nAlso the mcrypt PHP modules must be installed and enabled.\n\nIt is also required to install the PHP module to access MySQL or SQLite databases.\n\nIn case of using the REST API it is also required to install the CURL PHP module.\n\n### 3.2 INSTALLING\n\nSelect a proper path in the document root of the web server to install the IM web interface\n(i.e. /var/www/im).\n\n```sh\ntar xvzf IM-web-X.XX.tar.gz\nmv IM-X.XX /var/www/im\nchown -R www-data /var/www/im\n```\n\n### 3.3 CONFIGURATION\n\nAdjust the configuration settings in the file config.php:\n\n*   Flag to set the usage of the REST API instead of the XML-RPC one.\n```php\n$im_use_rest=false;\n```\n*   Flag to set the usage of the APIs using HTTPS protocol instead of the standard HTTP.\n```php\n$im_use_ssl=false;\n```\n*   Address of the IM host\n```php\n$im_host=\"im-server.domain.com\";\n```\n*   Port of the IM service\n```php\n$im_port=8899;\n```\n*   Path of the IM service\n```php\n$im_path='/';\n```\n*   Path of the IM web interface DB. The original path will be /var/www/im/im.db\n    but is more secure to move it to a path not in the path of the web server.\n    The file and the directory must have write permissions to the web server user.\n    It can be also set a MySQL server URL, using this format: 'mysql://user:pass@mysqlserver/im_web_db'.\n    Use MySQL in case of production instances.\n```php\n$im_db=\"/home/www-data/im.db\";\n```\n*   In case that the IM service and web interface are in the same host, the Recipes\n    feature can be activated. Specify the path of the recipes_ansible.db file of the\n    IM and take care that the file and the directory must have write permissions to\n    the web server user. In other case set \"\".\n```php\n$recipes_db=\"/usr/local/im/contextualization/recipes_ansible.db\";\n```\n*   OpenID Issuer supported use \"\" to disable OpenID support.\n```php\n$openid_issuer=\"https://iam-test.indigo-datacloud.eu/\";\n```\n*   OpenID Issuer name.\n```php\n$openid_name=\"INDIGO IAM\";\n```\n*   OpenID Client data.\n```php\n$CLIENT_ID = 'client_id';\n$CLIENT_SECRET = 'client_secret';\n$REDIRECT_URI = 'https://server.com/im-web/openid_auth.php';\n```\n*   Key to crypt the credentials data it must be 32 chars.\n```php\n$cred_crypt_key = \"n04ykjinrswda5sdfnb5680yu21+qgh3\";\n```\n*   Start substring (for internal use).\n```php\n$cred_cryp_start = \"#Crypt@d\";\n```\n\n### 3.4 DEFAULT USER\n\nThe default administrator user is admin with password admin.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrycap%2Fim-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrycap%2Fim-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrycap%2Fim-web/lists"}