{"id":13525885,"url":"https://github.com/icppWorld/icgpt","last_synced_at":"2025-04-01T06:30:47.451Z","repository":{"id":209030051,"uuid":"690481887","full_name":"icppWorld/icgpt","owner":"icppWorld","description":"on-chain LLMs for the Internet Computer","archived":false,"fork":false,"pushed_at":"2024-10-30T01:46:53.000Z","size":3277,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-30T03:59:57.444Z","etag":null,"topics":["internet-computer","llama2","llm"],"latest_commit_sha":null,"homepage":"https://icgpt.icpp.world","language":"JavaScript","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/icppWorld.png","metadata":{"files":{"readme":"README-custom-domain.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":"2023-09-12T09:27:36.000Z","updated_at":"2024-10-30T02:48:03.000Z","dependencies_parsed_at":"2024-01-13T22:53:26.712Z","dependency_job_id":"4c965888-ac9d-4552-8cf7-cd8011eb62e0","html_url":"https://github.com/icppWorld/icgpt","commit_stats":{"total_commits":113,"total_committers":1,"mean_commits":113.0,"dds":0.0,"last_synced_commit":"db964ba910188488c03ba197c832b2b8305201cf"},"previous_names":["icppworld/icgpt"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icppWorld%2Ficgpt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icppWorld%2Ficgpt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icppWorld%2Ficgpt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icppWorld%2Ficgpt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/icppWorld","download_url":"https://codeload.github.com/icppWorld/icgpt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246596584,"owners_count":20802852,"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":["internet-computer","llama2","llm"],"created_at":"2024-08-01T06:01:23.181Z","updated_at":"2025-04-01T06:30:47.443Z","avatar_url":"https://github.com/icppWorld.png","language":"JavaScript","funding_links":[],"categories":["Decentralized AI"],"sub_categories":["TON"],"readme":"# Custom Domain `icgpt.onicai.com`\n\n[IC Custom Domain Docs](https://internetcomputer.org/docs/current/developer-docs/production/custom-domain/#custom-domains-on-the-boundary-nodes)\n\nOne time steps to use the custom domain `icgpt.onicai.com` :\n\n1. Define the DNS records as described in step 1 of [IC Custom Domain Docs](https://internetcomputer.org/docs/current/developer-docs/production/custom-domain/#custom-domains-on-the-boundary-nodes)\n\n   You can verify everything is propagating with \"dig\":\n\n   ```\n   % dig CNAME icgpt.onicai.com\n   ;; ANSWER SECTION:\n   icgpt.onicai.com.     3600    IN      CNAME   icp1.io.\n\n   % dig CNAME _acme-challenge.icgpt.onicai.com\n   ;; ANSWER SECTION:\n   _acme-challenge.icgpt.onicai.com. 3600 IN CNAME _acme-challenge.icgpt.onicai.com.icp2.io.\n\n   % dig TXT _canister-id.icgpt.onicai.com\n   ;; ANSWER SECTION:\n   _canister-id.icgpt.onicai.com. 3600 IN TXT    \"4v3v2-lyaaa-aaaag-abzna-cai\"\n   ```\n\n2. Created this file `src/frontend/domain-info/.well-known/ic-domains`:\n\n```\nicgpt.onicai.com\nicgpt.icpp.world\n```\n\nNotes:\n\n- we will keep both domains active for now\n- Instead of a file `domain-info/.ic-assets.json` as explained in the docs, I added this content to `src/frontend/src/.ic-assets.json5`:\n\n```json\n{\n  \"match\": \".well-known\",\n  \"ignore\": false\n},\n```\n\nNote that the name `domain-info` is something I chose.\n\n3. Updated the `CopyPlugin` of `webpack.config.js` to copy these files into the `dist/frontend` folder during build.\n\n4. Deploy \u0026 verify that files are included in `dist/frontend` during build:\n\n```bash\n# First deploy these local, so all bindings are created\ndfx start --clean\ndfx deploy internet_identity\ndfx deploy canister_frontend\n\n# Then deploy to ic\ndfx deploy --ic canister_frontend\n\n```\n\n5. Initiate the registration of domain with IC this command \u0026 check that the output looks similar as:\n\n```bash\n$ curl -sLv -X POST \\\n    -H 'Content-Type: application/json' \\\n    https://ic0.app/registrations \\\n    --data @- \u003c\u003cEOF\n{\n    \"name\": \"icgpt.onicai.com\"\n}\nEOF\n\n...\n* Connection #0 to host ic0.app left intact\n{\"id\":\"xxx...\"}\n```\n\n6. Query the status, using the REQUEST_ID:\n   (You might need to repeat this several times before everything is 'approved')\n\n```bash\n$ curl -sLv -X GET \\\n    https://ic0.app/registrations/xxx\n...\n# once approved\n* Connection #0 to host ic0.app left intact\n{\"name\":\"icgpt.onicai.com\",\"canister\":\"4v3v2-lyaaa-aaaag-abzna-cai\",\"state\":\"Available\"}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FicppWorld%2Ficgpt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FicppWorld%2Ficgpt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FicppWorld%2Ficgpt/lists"}