{"id":17472893,"url":"https://github.com/deviavir/certbot-gcs","last_synced_at":"2025-09-03T05:44:01.110Z","repository":{"id":144738881,"uuid":"138000013","full_name":"DeviaVir/certbot-gcs","owner":"DeviaVir","description":"Certbot with a GCS backend/frontend","archived":false,"fork":false,"pushed_at":"2018-06-20T08:17:40.000Z","size":4,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-03T05:43:59.545Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DeviaVir.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2018-06-20T08:04:27.000Z","updated_at":"2022-06-09T10:31:07.000Z","dependencies_parsed_at":"2023-05-04T22:27:00.681Z","dependency_job_id":null,"html_url":"https://github.com/DeviaVir/certbot-gcs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DeviaVir/certbot-gcs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeviaVir%2Fcertbot-gcs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeviaVir%2Fcertbot-gcs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeviaVir%2Fcertbot-gcs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeviaVir%2Fcertbot-gcs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DeviaVir","download_url":"https://codeload.github.com/DeviaVir/certbot-gcs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeviaVir%2Fcertbot-gcs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273397843,"owners_count":25098234,"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-09-03T02:00:09.631Z","response_time":76,"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":[],"created_at":"2024-10-18T17:47:44.274Z","updated_at":"2025-09-03T05:44:01.084Z","avatar_url":"https://github.com/DeviaVir.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# certbot-gcs\n\n### Overview\n\nI was looking for a way to have a cluster of machines on Google's (G)CE\nrunning nginx frontends protected by letsencrypt. This project gets that job\ndone.\n\n### Pre-requisites\n\n- Letsencrypt domain\n- Letsencrypt email\n- Private GCS bucket (only accessible by instance's service account)\n- Public GCS bucket (web-accessible)\n- `/home/services` exists and is the user that is running the services\n\n### Services\n\nYou can use the `.service` and `.timer` files in this repo as your systemd\nunits.\n\n\n### nginx.conf\n\nMake sure to redirect traffic going to `http` to your web-accessible GCS bucket:\n```\nlocation /.well-known {\n        auth_basic off;\n        allow all; # Allow all to see content\n        proxy_pass https://storage.googleapis.com/your-public-gcs-bucket/certs/.well-known;\n}\n```\n\nIt makes most sense to have separate nginx containers for port 80 and 443. This\nway your port 80 nginx can still respond to requests (e.g. from letsencrypt)\nwhile the 443 container might have problems with the certificates and hence\nfails to start entirely.\n\nMake sure to mount `-v /home/services/certs:/etc/nginx/certs:ro` on your nginx\ncontainer. Then you can use the following blob in your nginx.conf:\n\n```\nlisten 443 ssl;\nssl_certificate /etc/nginx/certs/live/your-letsencrypt-domain/fullchain.pem;\nssl_certificate_key /etc/nginx/certs/live/your-letsencrypt-domain/privkey.pem;\n\nssl_prefer_server_ciphers on;\nssl_dhparam /etc/nginx/certs/certs/dhparam.pem;\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeviavir%2Fcertbot-gcs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeviavir%2Fcertbot-gcs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeviavir%2Fcertbot-gcs/lists"}