{"id":29811193,"url":"https://github.com/user0608/pb_launcher","last_synced_at":"2025-07-28T17:05:07.924Z","repository":{"id":303822212,"uuid":"984889570","full_name":"user0608/pb_launcher","owner":"user0608","description":"A fast and lightweight Go-based launcher for managing PocketBase instances. Single binary, open source, and easy to use","archived":false,"fork":false,"pushed_at":"2025-07-25T23:37:19.000Z","size":438,"stargazers_count":16,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-26T06:36:44.777Z","etag":null,"topics":["firebase","pocketbase","proxy","supabase"],"latest_commit_sha":null,"homepage":"https://pblauncher.ksaucedo.com","language":"Go","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/user0608.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2025-05-16T17:22:20.000Z","updated_at":"2025-07-23T23:39:03.000Z","dependencies_parsed_at":"2025-07-28T02:20:14.503Z","dependency_job_id":null,"html_url":"https://github.com/user0608/pb_launcher","commit_stats":null,"previous_names":["user0608/pb_launcher"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/user0608/pb_launcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/user0608%2Fpb_launcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/user0608%2Fpb_launcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/user0608%2Fpb_launcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/user0608%2Fpb_launcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/user0608","download_url":"https://codeload.github.com/user0608/pb_launcher/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/user0608%2Fpb_launcher/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267552097,"owners_count":24106000,"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-07-28T02:00:09.689Z","response_time":68,"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":["firebase","pocketbase","proxy","supabase"],"created_at":"2025-07-28T17:02:02.611Z","updated_at":"2025-07-28T17:05:07.910Z","avatar_url":"https://github.com/user0608.png","language":"Go","funding_links":[],"categories":["Self Hosting"],"sub_categories":[],"readme":"# PBLauncher\n\n**PBLauncher** is a fast and lightweight Go-based tool for managing PocketBase instances. It lets you create, start, stop, and restart instances with a single binary. Each instance gets its own HTTPS URL and supports full custom domain configuration. Open source and easy to use.\n\n\n\u003cimg src=\"screenshots/image.png\" alt=\"Screenshot\" width=\"400\"/\u003e\n\n\n## Local DNS Setup for `labenv.test`\nTo run the project locally, a DNS server is required. For this, we will use CoreDNS, which allows us to configure a wildcard test domain. In this case, we will use *.pb.labenv.test.\n\n### 1. Download CoreDNS\n\n[https://coredns.io/](https://coredns.io/)\nPlace the binary in your working directory.\n\n### 2. Create the following files in the CoreDNS directory\n\n#### `config`\n\n```\n. {\n    bind 127.0.0.10\n    forward . 1.1.1.1 1.0.0.1\n    log\n    errors\n}\n\nlabenv.test {\n    bind 127.0.0.10\n    file labenv.test\n    log\n    errors\n}\n```\n\n#### `labenv.test`\n\n```\n$TTL 60\n@    IN  SOA  ns1.labenv.test. admin.labenv.test. (\n           2023101601 ; Serial\n           86400      ; Refresh\n           7200       ; Retry\n           3600000    ; Expire\n           60 )       ; Minimum TTL\n\nlabenv.test.    IN  NS  ns1.labenv.test.\n\nns1  IN  A  127.0.0.10\npb   IN  A  127.0.0.10\n*.pb IN  A  127.0.0.10\n```\n\n### 3. Run CoreDNS\n\n```\n./coredns -conf config\n```\n\n### 4. Set system DNS to `127.0.0.10`\n\n* **Linux:**\n  Edit `/etc/resolv.conf`\n\n  ```\n  nameserver 127.0.0.10\n  ```\n\n  Or set via GUI network manager.\n\n* **Windows:**\n  Set preferred DNS server to `127.0.0.10` in adapter properties.\n\n\n## Setup Project\n\nCreate the following config file in the project directory:\n\n#### `config.yml`\n\n```yml\n# Network settings\ndomain: pb.labenv.test\n\n# network address where PocketBase instances listen  \n# for internal use only behind the proxy  \nbind_address: 127.0.0.1\n\n\nlisten_address: 0.0.0.0\nhttp_port: \"7080\"\n\nhttps: false\nhttps_port: \"8443\"\n\ndisable_https_redirect: false\n\n# Paths\ndownload_dir: ./downloads\ncertificates_dir: ./.certificates\naccounts_dir: ./.accounts # Let's Encrypt accounts directory\ndata_dir: ./data\n\n# Certificate management\nacme_email: \"\"\nmin_certificate_ttl: 720h\nmax_domain_cert_attempts: 1\ncert_request_planner_interval: 5m\ncert_request_executor_interval: 1m\ncertificate_check_interval: 1m\n\n# cert:\n#   provider: \"cloudflare\"\n#   props:\n#     auth_token: \"\"\n\n\n# Sync \u0026 command checks\nrelease_sync_interval: 5m\ncommand_check_interval: 10s\n\n```\n\nTo run the project, you can use `make run` or `go run *.go -c config.yml`.\nFor the UI, navigate to the `ui` directory and run `npm run dev`.\n\n# Domain and SSL Certificates\n\nFor custom domains, certificates are issued using **Let's Encrypt**.\n\n### DNS Challenge Provider Support\n\n| Provider    | Wildcard Support |\n|-------------|------------------|\n| Cloudflare  | Yes              |","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuser0608%2Fpb_launcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuser0608%2Fpb_launcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuser0608%2Fpb_launcher/lists"}