{"id":19902623,"url":"https://github.com/keivanipchihagh/easy-peasy-deployment","last_synced_at":"2025-10-18T16:54:06.743Z","repository":{"id":58878497,"uuid":"525039962","full_name":"keivanipchihagh/easy-peasy-deployment","owner":"keivanipchihagh","description":"Painless deployment of your favorite MLOps technologies with Docker - Grafana, Prometheus, Airflow, Spark, Postgres, Redis, NPM, Traefik and ...","archived":false,"fork":false,"pushed_at":"2023-06-07T20:02:06.000Z","size":1690,"stargazers_count":12,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-02T23:36:25.691Z","etag":null,"topics":["cadvisor","grafana","grafana-dashboard","grafana-dashboards","nginx-proxy-manager","node-exporter","portainer","portainer-agent","postgres","postgres-exporter","prometheus","prometheus-exporter","redis","redis-exporter"],"latest_commit_sha":null,"homepage":"https://github.com/keivanipchihagh/easy-peasy-monitoring","language":"Dockerfile","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/keivanipchihagh.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,"zenodo":null}},"created_at":"2022-08-15T15:29:18.000Z","updated_at":"2024-07-08T15:40:19.000Z","dependencies_parsed_at":"2025-05-02T23:32:28.765Z","dependency_job_id":"bd414e27-242d-46c7-9692-76ddc58b2a72","html_url":"https://github.com/keivanipchihagh/easy-peasy-deployment","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/keivanipchihagh/easy-peasy-deployment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keivanipchihagh%2Feasy-peasy-deployment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keivanipchihagh%2Feasy-peasy-deployment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keivanipchihagh%2Feasy-peasy-deployment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keivanipchihagh%2Feasy-peasy-deployment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/keivanipchihagh","download_url":"https://codeload.github.com/keivanipchihagh/easy-peasy-deployment/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keivanipchihagh%2Feasy-peasy-deployment/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279570896,"owners_count":26192970,"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","status":"online","status_checked_at":"2025-10-18T02:00:06.492Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cadvisor","grafana","grafana-dashboard","grafana-dashboards","nginx-proxy-manager","node-exporter","portainer","portainer-agent","postgres","postgres-exporter","prometheus","prometheus-exporter","redis","redis-exporter"],"created_at":"2024-11-12T20:18:43.524Z","updated_at":"2025-10-18T16:54:06.693Z","avatar_url":"https://github.com/keivanipchihagh.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Easy Peasy Deployment\nPainless deployment of your favorite technologies in a snap!\n\n## Table of Contents\n- [Toolkit Technologies](https://github.com/keivanipchihagh/easy-peasy-deployment#toolkit-technologies)\n- [Setup](https://github.com/keivanipchihagh/easy-peasy-deployment#setup)\n- [Default Grafana Dashboards](https://github.com/keivanipchihagh/easy-peasy-deployment#default-grafana-dashboards)\n- [Contributing](https://github.com/keivanipchihagh/easy-peasy-deployment#contributing)\n\n### Toolkit Technologies\n- [Redis](https://github.com/keivanipchihagh/easy-peasy-monitoring/tree/main/redis) - comes with a [redis-exporter](https://github.com/oliver006/redis_exporter) for exposing monitering metrics for _Prometheus_.\n- [PostgreSQL](https://github.com/keivanipchihagh/easy-peasy-monitoring/tree/main/postgres) - comes with a [postgres-exporter](https://github.com/prometheus-community/postgres_exporter) for exposing monitoring metrics for _Prometheus_.\n- [Prometheus](https://github.com/keivanipchihagh/easy-peasy-monitoring/tree/main/prometheus)\n- [Grafana](https://github.com/keivanipchihagh/easy-peasy-monitoring/tree/main/grafana) - comes with a set of preconfigured dashboards.\n- [Cadvisor](https://github.com/keivanipchihagh/easy-peasy-monitoring/tree/main/cadviser)\n- [Node-Exporter](https://github.com/keivanipchihagh/easy-peasy-monitoring/tree/main/node-exporter)\n- [Portainer](https://github.com/keivanipchihagh/easy-peasy-deployment/tree/main/portainer) - comes with a [portainer-agent](https://docs.portainer.io/v/ce-2.9/start/install/agent/docker/linux) for exposing Docker information for _Portainer_.\n- [Nginx-Proxy-Manager](https://github.com/keivanipchihagh/easy-peasy-deployment/tree/main/nginx-proxy-manager)\n\n\n### Default Grafana Dashboards\nAll credits goes to the creators of these dashboards. I just tweeked them a bit to make them easier to work with.\n- [Docker and system monitoring](https://grafana.com/grafana/dashboards/893-main/)\n- [PostgreSQL Database](https://grafana.com/grafana/dashboards/9628-postgresql-database/)\n- [Redis Dashboard for Prometheus Redis Exporter (helm stable/redis-ha)](https://grafana.com/grafana/dashboards/11835-redis-dashboard-for-prometheus-redis-exporter-helm-stable-redis-ha/)\n\n### Setup\n1. **Install Docker**: Install [Docker Engine](https://docs.docker.com/engine/install/ubuntu/) and [docker-compose]().\n2. **Setting up the `.env`**: Create a `.env` file in the root directory (so that all the modules can access it, instead of having a seperate `.env` for each module) that looks something like the following:\n\n  ```python\n  # Grafana\n  GRAFANA_CONTAINER_NAME=grafana\n  GF_PORT=3000\n  GF_SECURITY_ADMIN_USER=\u003cusername\u003e\n  GF_SECURITY_ADMIN_PASSWORD=\u003cpassword\u003e\n  GF_USERS_ALLOW_SIGN_UP=true\n  GF_AUTH_DISABLE_LOGIN_FORM=false\n\n  # Prometheus\n  PROMETHEUS_CONTAINER_NAME=prometheus\n  PROMETHEUS_PORT=9090\n\n  # PostgreSQL\n  POSTGRES_CONTAINER_NAME=postgres\n  POSTGRES_HOST=\u003cmachine-ip\u003e\n  POSTGRES_PORT=5432\n  POSTGRES_DB=postgres\n  POSTGRES_SSL=disable\n  POSTGRES_USER=\u003cusername\u003e\n  POSTGRES_PASSWORD=\u003cpassword\u003e\n  POSTGRES_EXPORTER_PORT=9187\n\n  # Redis\n  REDIS_CONTAINER_NAME=redis\n  REDIS_HOST=\u003cmachine-ip\u003e\n  REDIS_PORT=6379\n  REDIS_PASSWORD=admin\n  REDIS_EXPORTER_PORT=9121\n\n  # Node-Exporter\n  NODE_CONTAINER_NAME=node\n  NODE_PORT=9100\n\n  # Cadvisor\n  CADVISOR_CONTAINER_NAME=cadvisor\n  CADVISOR_PORT=8080\n\n  # Portainer\n  PORTAINER_CONTAINER_NAME=portainer\n  PORTAINER_PORT=9000\n  PORTAINER_AGENT_PORT=9001\n\n  # Nginx-Proxy-Manager\n  NPM_CONTAINER_NAME=nginx-proxy-manager\n  NPM_PORT=81\n  ```\n  - **Note 1**: most of the variables spesified above have default values in-case you forget to initialize them, such as *names* and *ports*; However, that is not the case with sensitive variables such as *usernames* and *passwords*, for security reasons!\n  - **Note 2**: By default, all *exporters* and *agents* that are dependent to a parent container are named with the prefix of the parent container for ease of identification. So just change the parent container's name and the children will follow! (eg. `\u003cparent-container\u003e` \u0026 `\u003cparent-container\u003e-exporter`, `\u003cparent-container\u003e` \u0026 `\u003cparent-container\u003e-agent`)\n  \n2.5. Replace **`\u003cmachine-ip\u003e in prometheus/prometheus.yml`** with your .\n\n3. **Building the toolkit**: Every module comes with a `build.sh`. Just *cd* to the directory, run it with `bash build.sh` and that's it!\n\n### Contributing\nSince this an ongoing project, you can contribute by adding more exporters or dashboards. You can also add more modules to the project. If you have any questions, feel free to open an issue.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeivanipchihagh%2Feasy-peasy-deployment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeivanipchihagh%2Feasy-peasy-deployment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeivanipchihagh%2Feasy-peasy-deployment/lists"}