{"id":19811070,"url":"https://github.com/accenture/tldr","last_synced_at":"2025-05-01T08:32:27.434Z","repository":{"id":141762297,"uuid":"51031461","full_name":"Accenture/tldr","owner":"Accenture","description":"The Lightweight Docker Runtime","archived":false,"fork":false,"pushed_at":"2016-05-18T08:56:52.000Z","size":76,"stargazers_count":15,"open_issues_count":11,"forks_count":8,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-06T11:51:41.155Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Accenture.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":"2016-02-03T21:21:55.000Z","updated_at":"2023-05-18T17:26:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"8b773ee9-15d7-475d-ba65-35e914b393d4","html_url":"https://github.com/Accenture/tldr","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Accenture%2Ftldr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Accenture%2Ftldr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Accenture%2Ftldr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Accenture%2Ftldr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Accenture","download_url":"https://codeload.github.com/Accenture/tldr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251847828,"owners_count":21653582,"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":"2024-11-12T09:24:38.870Z","updated_at":"2025-05-01T08:32:27.427Z","avatar_url":"https://github.com/Accenture.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Lightweight Docker Runtime (TLDR)\n\n# General\n\nThe purpose of The Lightweight Docker Runtime is to serve as a platform that is easy to stand up on a variety of providers, to be able  easily demonstrate the key concepts and capabilities that we believe should be part of a container platform such as composition of applications via Docker Compose, clustering via Swarm, and service discovery, among others.\n\nTLDR is not production-ready or enterprise-grade, nor does it intend to be.\n\n# Features\n\n- Docker Machine to provision a cluster, either locally via VirtualBox or on Amazon AWS\n- 3-node Docker Swarm cluster (easily expandable to more nodes)\n- Dynamic service discovery and registration using Consul and Registrator\n- Deployment of applications via Docker Compose and overlay networks\n- Transparent application container load balancing using the tldr/alb container, which provides seamless scaling of application containers within the Swarm cluster\n- Log aggregation via Logspout, ElasticSearch, Kibana and Logstash \n- Monitoring and metrics via Prometheus and cAdvisor\n\n# Pre-requisites\n\nThe following are needed to get this environment running:\n\n- Docker Toolbox 1.9.1\n- Docker Machine 0.6.0 or higher\n- Bash/Cygwin if running on Windows\n\nWhen running locally, 8Gb of RAM is the minimum recommended amount of memory in order to comfortably run all components.\n\n# Usage\n\n## Setting up locally\n\nUse script ```start.sh``` to set up the Docker Swarm platform and technical components. The process should take approximately 10-15 minutes, depending on the specs of your host machine as well as the speed of your network connection (several containers will be pulled from the Docker Hub, and cached locally).\n\nOnce the process is complete, run ```info.sh``` to provide a list of the available endpoints for inspection.\n\n## Setting up in AWS\n\nTLDR is supported on AWS when running in region *eu-central-1*, and provides a process for provisioning AWS resources as well as deploying the platform components.\n\nThe platform is very likely to work in other regions, but please see \"Running in a region that is not eu-central-1\" below for the time being until the provisioning process is improved to take other regions into account.\n\n### Setting up AWS resources\n\nFirst, a set of Amazon AWS resources will be provisioned to host the platform: a VPC, with a subnet, routing tables and an internet gateway. This is to keep the platform separated from any other AWS resources that may currently be in use.\n\nProvisioning of AWS resources is handled via Terraform, please see provisioning/aws/README.md for detailed steps.\n\n### Provisioning the components\n\nPlease note that Docker Machine 0.5.2 or higher is needed, otherwise the process will not work.\n\nOnce the AWS resources have been provisioned, the TLDR platfomr can be deployed.\n\nSet the following environment variables with your AWS secrets before running the start.sh script:\n\n```\nexport AWS_ACCESS_KEY_ID=\u003csecret key\u003e\nexport AWS_SECRET_ACCESS_KEY=\u003csecret access key\u003e\nexport AWS_VPC_ID=\u003cvpc-id\u003e\nexport AWS_DEFAULT_REGION=eu-central-1\nexport AWS_DEFAULT_ZONE=\u003czone\u003e\n```\n\nThe values for AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY can be obtained from the AWS admin console. \n\nThe value for AWS_VPC_ID and AWS_DEFAULT_ZONE will also be available from the console, as the AWS provisioning process creates a VPC called ```tldr-vpc```. Once the AWS provisioning process via Terraform is complete, use the AWS admin console to obtain the id of the ```tldr-vpc```VPC resource, e.g. ```vpc-fe53be97``` and the respective zone of the VPC subnet e.g. ```b```.\n\n### Overriding EC2 instance sizes\n\nAdditionally, the following environment variables can be used to override some of the default values used for EC2 instances:\n\n```\nAWS_INSTANCE_TYPE=t2.micro\nAWS_ROOT_SIZE=16\n```\n\n### Running in a region that is not eu-central-1\n\nAt the moment the AMI image for Ubuntu 15.10 is hardcoded as ami-fe001292 and *only works in region eu-central-1*. If you are running in a region that is not eu-west-1, find out the id of the Ubuntu 15.10 image for your region and expose it as an environment variable:\n\n```\nexport TLDR_DOCKER_MACHINE_AMI=ami-xxxxx\n```\n\n# Reference applications\n\nSee the [ToDo demo application](apps/todo/) for more information.\n\n# Reporting issues\n\nUse [TLDR's Github issue page](https://github.com/Accenture/tldr/issues) to report issues related to TLDR or any of its components. Do not report issues in subprojects as that would become a nightmare to main and we'd rather keep issues and contributions centralized.\n\nWhen reporting an issue, please paste the contents of your *log.txt* file into the issue for our reference (this file is created automatically by start.sh). If you used the individual scripts that are under bin/ instead, please paste the output of your screen.\n\n# Contributing\n\nTLDR is licensed under the Apache 2.0 license. Pull requests with contributions are more than welcome.\n\n# Releases\n\n[Release 1.0](https://github.com/accenture/tldr/issues?q=is%3Aissue+milestone%3A1.0+is%3Aclosed)\n\n# TODO, Known issues\n\nPlease see the [list of open issues](https://github.com/Accenture/tldr/issues) for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faccenture%2Ftldr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faccenture%2Ftldr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faccenture%2Ftldr/lists"}