{"id":28926847,"url":"https://github.com/chamilo/docker-chamilo","last_synced_at":"2025-06-22T12:13:23.587Z","repository":{"id":49241099,"uuid":"39789695","full_name":"chamilo/docker-chamilo","owner":"chamilo","description":"Official Docker container for Chamilo LMS","archived":false,"fork":false,"pushed_at":"2024-08-03T22:45:16.000Z","size":107,"stargazers_count":13,"open_issues_count":7,"forks_count":12,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-06-12T06:34:31.442Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chamilo.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-07-27T18:01:30.000Z","updated_at":"2025-05-27T05:46:41.000Z","dependencies_parsed_at":"2024-11-06T06:27:26.329Z","dependency_job_id":"ac15cf37-9e1d-431d-bdaf-ee623ffe5d9c","html_url":"https://github.com/chamilo/docker-chamilo","commit_stats":{"total_commits":31,"total_committers":3,"mean_commits":"10.333333333333334","dds":0.09677419354838712,"last_synced_commit":"0bb3d5f73e16eee3b62fe8974d66c93b2e605ead"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/chamilo/docker-chamilo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chamilo%2Fdocker-chamilo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chamilo%2Fdocker-chamilo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chamilo%2Fdocker-chamilo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chamilo%2Fdocker-chamilo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chamilo","download_url":"https://codeload.github.com/chamilo/docker-chamilo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chamilo%2Fdocker-chamilo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259985686,"owners_count":22941843,"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":[],"created_at":"2025-06-22T12:12:13.580Z","updated_at":"2025-06-22T12:13:23.572Z","avatar_url":"https://github.com/chamilo.png","language":"Dockerfile","readme":"# docker-chamilo\n\n[![](https://images.microbadger.com/badges/image/chamilo/docker-chamilo.svg)](https://microbadger.com/images/chamilo/docker-chamilo \"Get your own image badge on microbadger.com\")\n\nOfficial Docker image for Chamilo LMS\n\nThis image is not ready yet. Please come back soon or watch the project for updates.\n\n## Launching\n\nThis image is currently based on Chamilo LMS 1.10 and requires a separate database container to run.\nWe suggest using the \"mariadb\" container, like so:\n\n```\ndocker run --name mariadb -e MYSQL_ROOT_PASSWORD=pass -e MYSQL_USER=chamilo -e MYSQL_PASSWORD=chamilo -e MYSQL_DATABASE=chamilo -d mariadb\n```\n\nThis will get you back on the command line of the Docker host. You can see the container running with ```docker ps```.\n\nThen start the chamilo/docker-chamilo container:\n\n```\ndocker run --link=mariadb:db --name chamilo -p 8080:80 -it chamilo/docker-chamilo\n```\n\nAt this point, the docker-chamilo image doesn't provide an installed version of Chamilo LMS, but this should be ready soon.\n\nThe configuration files assume the host will be \"docker.chamilo.net\", so you will have to define it in your host's /etc/hosts file, depending on the IP of the container.\n\n```\n72.17.0.10 docker.chamilo.net\n```\n\nNow start your browser and load http://docker.chamilo.net.\n\n## Using with a load-balancer\n\nIf you want to use a more complex system with load balancing, you might want to try out the following suite of commands:\n\n```\ndocker run --name varwww -d ywarnier/varw\n```\n\nThis will provide a shared /var/www2 partition\n\n```\ndocker run --name mariadb -e MYSQL_ROOT_PASSWORD=pass -e MYSQL_USER=chamilo -e MYSQL_PASSWORD=chamilo -e MYSQL_DATABASE=chamilo -d mariadb\ndocker run --link=mariadb:db --volumes-from=varwww --name chamilo -p 8080:80 -it chamilo/docker-chamilo\n# Change all configuration to point to /var/www2/chamilo/www and change the Chamilo config file (root_web)\n# Also, inside app/config/configuration.php, change \"session_stored_in_db\" to true\n# configure Chamilo on this first container then take a snapshot\ndocker commit -m \"Live running Chamilo connected to host 'db' with existing database\" {container-hash} docker-chamilo:live\ndocker run --link=mariadb:db --volumes-from=varwww --name chamilo2 -p 8081:80 -it docker-chamilo:live\ndocker run --name lb --link=chamilo:w1 --link=chamilo4:w2 -e CHAMILO_1_PORT_80_TCP_ADDR=172.17.0.10 -e CHAMILO_2_PORT_80_TCP_ADDR=172.17.0.11 -e CHAMILO_HOSTNAME=docker.chamilo.net -e CHAMILO_PATH=/ -p 8082:80 -it jasonwyatt/nginx-loadbalancer\n```\n\nSadly, there's something wrong at the moment in the nginx-loadbalancer image, and you have to connect to it to change the configuration of the reverse proxy (the last container you launched).\n\n```\ndocker ps\n```\n\n(to identify the hash of the image of the load balancer (lb))\n\n```\ndocker exec -i -t {lb-container-hash} bash\ncd /etc/nginx/sites-available/\nvi proxy.conf\n```\n\n(add the following *just before* proxy_pass, in the two occurrences)\n\n```\n  proxy_set_header Host $host;\n  proxy_set_header X-Real-IP $remote_addr;\n```\n\nNow reload Nginx\n\n```\nservice nginx reload\n```\n\nNow you should be good to go.\n\nNote that this will only work as long as you don't upload any file or object that needs to be stored on disk, as the two web servers will not share any disk space in the context presented above.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchamilo%2Fdocker-chamilo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchamilo%2Fdocker-chamilo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchamilo%2Fdocker-chamilo/lists"}