{"id":15127739,"url":"https://github.com/tomilola-ng/ddo-script","last_synced_at":"2026-03-17T17:05:27.133Z","repository":{"id":256280854,"uuid":"854813882","full_name":"Tomilola-ng/ddo-script","owner":"Tomilola-ng","description":"Docker Digital Ocean (DDO) is a simplified automation tool that streamlines the deployment of Dockerized applications to DigitalOcean droplets.","archived":false,"fork":false,"pushed_at":"2024-09-09T20:45:18.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-13T14:14:03.673Z","etag":null,"topics":["automation","digitalocean","docker","docker-container","docker-image","scripting","shell","shell-script"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tomilola-ng.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":"2024-09-09T20:25:29.000Z","updated_at":"2024-12-25T16:15:23.000Z","dependencies_parsed_at":"2024-09-10T01:27:57.866Z","dependency_job_id":"cbd147c5-e205-42f2-b1a6-4f1ba39ae7f3","html_url":"https://github.com/Tomilola-ng/ddo-script","commit_stats":null,"previous_names":["tomilola-ng/ddo-script"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tomilola-ng%2Fddo-script","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tomilola-ng%2Fddo-script/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tomilola-ng%2Fddo-script/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tomilola-ng%2Fddo-script/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tomilola-ng","download_url":"https://codeload.github.com/Tomilola-ng/ddo-script/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243419128,"owners_count":20287806,"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":["automation","digitalocean","docker","docker-container","docker-image","scripting","shell","shell-script"],"created_at":"2024-09-26T02:05:22.174Z","updated_at":"2025-12-26T17:36:43.350Z","avatar_url":"https://github.com/Tomilola-ng.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DDO: Docker Digital Ocean\n\n**DDO (Docker Digital Ocean)** is an automated script for deploying Docker images to DigitalOcean droplets. It streamlines the entire process from building and pushing Docker images to running them on your droplet with just a single command. DDO helps you manage your cloud infrastructure with ease, ensuring fast and seamless updates to your Docker containers.\n\n## 🚀 Features\n\n- **Automates Docker Image Management**: Automatically builds and pushes Docker images to Docker Hub.\n- **SSH Integration**: Seamless connection to your DigitalOcean droplet for deployment.\n- **Efficient Container Management**: Stops and removes existing Docker containers before deploying updated ones.\n- **Environment Variable Configuration**: Easily configurable for different droplets and containers.\n- **Extensible Setup**: Supports extensions with Docker Compose and Nginx for more complex infrastructures.\n\n## 🔧 Prerequisites\n\nBefore you start using **DDO**, ensure that you have:\n\n- A **DigitalOcean** account with at least one active droplet.\n- A **Dockerized application** that can be deployed.\n- **SSH access** to your DigitalOcean droplet.\n- **Docker** installed on both your local machine and the droplet.\n  \nTo install Docker on your droplet, you can follow [this guide](https://marketplace.digitalocean.com/apps/docker).\n\n## 📥 Installation\n\n1. Clone the DDO script repository:\n   ```bash\n   git clone https://github.com/Tomilola-ng/ddo-script.git\n   cd ddo-script\n   ```\n\n2. Open the `deploy.sh` file and navigate to lines `9 to 11` and configure your deployment variables:\n   ```bash\n   DROPLET_IP=\"your_droplet_ip\"\n   CONTAINER_NAME=\"your_container_name\"\n   IMAGE_NAME=\"your_dockerhub_username/your_image_name\"\n   ```\n\n   Make sure to replace the placeholders with your own values:\n   - `your_droplet_ip`: The IP address of your DigitalOcean droplet.\n   - `your_container_name`: The name of your Docker container.\n   - `your_dockerhub_username/your_image_name`: The name of your Docker image on Docker Hub.\n  \n3. Make the file executable, after editing the placeholders and saving it\n   ```bash\n   chmod u+x deploy.sh\n   ```\n\n## 🛠 How to Use\n\n1. **Build and Push Docker Image**  \n   The `deploy.sh` script checks for any changes in your local Git repository. If changes are detected, it will automatically build the updated Docker image and push it to Docker Hub:\n   \n   ```bash\n   ./deploy.sh\n   ```\n\n2. **Deploy to DigitalOcean**  \n   After the image has been pushed, the script will SSH into your droplet, stop the running container with the same name, pull the updated image from Docker Hub, and run the new container:\n   \n   ```bash\n   ssh root@$DROPLET_IP\n   ```\n\n3. **Example Workflow**  \n   - Make changes to your codebase.\n   - Run the `deploy.sh` script.\n   - DDO will:\n     1. Check for changes.\n     2. Build and push the updated Docker image.\n     3. SSH into your droplet and deploy the new container.\n\n## 🖥️ DigitalOcean Droplet Setup\n\nIf you haven't set up your droplet yet or need to install Docker on it, follow this [DigitalOcean Setup Guide](https://marketplace.digitalocean.com/apps/docker). It covers how to spin up a Docker-ready droplet quickly.\n\n### Firewall Configuration\nEnsure that port **8000** (or any other port used by your container) is open in the firewall settings of your DigitalOcean droplet.\n\n## 🤝 Contributing\n\nWe are open to contributions from the community to make DDO better! To contribute:\n\n1. Fork the repository.\n2. Create a new feature branch (`git checkout -b feature-branch`).\n3. Make your changes and commit them (`git commit -m 'Add new feature'`).\n4. Push your branch (`git push origin feature-branch`).\n5. Open a pull request and describe the feature you have added.\n\nFeel free to report any issues or suggest new features by opening an issue on GitHub.\n\n## 📝 License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomilola-ng%2Fddo-script","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomilola-ng%2Fddo-script","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomilola-ng%2Fddo-script/lists"}