{"id":20093897,"url":"https://github.com/api3dao/api3-dao-dashboard","last_synced_at":"2025-05-06T04:32:18.894Z","repository":{"id":37764637,"uuid":"364535316","full_name":"api3dao/api3-dao-dashboard","owner":"api3dao","description":"API3 DAO dashboard","archived":false,"fork":false,"pushed_at":"2025-04-30T13:02:49.000Z","size":5260,"stargazers_count":16,"open_issues_count":35,"forks_count":10,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-04-30T14:29:28.445Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"api3.eth/","language":"TypeScript","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/api3dao.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,"zenodo":null}},"created_at":"2021-05-05T10:11:03.000Z","updated_at":"2025-03-06T12:16:02.000Z","dependencies_parsed_at":"2024-02-03T05:24:35.682Z","dependency_job_id":"f0a89f9b-dfde-4cc4-964c-b982af2e0688","html_url":"https://github.com/api3dao/api3-dao-dashboard","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/api3dao%2Fapi3-dao-dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/api3dao%2Fapi3-dao-dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/api3dao%2Fapi3-dao-dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/api3dao%2Fapi3-dao-dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/api3dao","download_url":"https://codeload.github.com/api3dao/api3-dao-dashboard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252622416,"owners_count":21777986,"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":[],"created_at":"2024-11-13T16:48:47.297Z","updated_at":"2025-05-06T04:32:18.885Z","avatar_url":"https://github.com/api3dao.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# api3-dao-dashboard [![ContinuousBuild](https://github.com/api3dao/api3-dao-dashboard/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/api3dao/api3-dao-dashboard/actions/workflows/main.yml)\n\nThe implementation of the DAO dashboard.\n\nWe use the `main` branch to develop new features. For production code, see the\n[production branch](https://github.com/api3dao/api3-dao-dashboard/tree/production).\n\n## Development instructions\n\nYou can find development instructions in a separate [dev-README](./dev-README.md).\n\n## Running the dashboard on Mainnet in a Docker container\n\nThe decentralized approach to being a DAO member is to run Api3 dashboard on your local machine. For that you will just\nneed `docker` and, optionally, `git`.\n\nThere are two approaches to running the dashboard locally. The first involves using the prebuilt Docker image, while the\nsecond involves building the image from source. In either case, the end result is a Api3 dashboard running on port 7770\nof your localhost where it is safe to connect your wallet.\n\nCurrently, it's only possible to build the Docker image on a UNIX-like OS. If you use Windows, you can use WSL2.\n\n### Running the prebuilt image\n\nThe simplest way to run the dashboard locally is using the prebuilt Docker image. This image is built and pushed to\nDocker Hub automatically when new commits are added to the `production` branch.\n\n```sh\ndocker run --rm --publish 7770:80 --name api3-dao-dashboard api3/dao-dashboard:latest\n```\n\n### Building from source\n\nAlternatively, you can build the Docker image from source. Note that:\n\n- the production code is located on the `production` branch\n- you need to provide your mainnet provider URL as a build arg (`REACT_APP_MAINNET_PROVIDER_URL`) when building the\n  image\n\n```sh\ngit clone --depth=1 --branch production https://github.com/api3dao/api3-dao-dashboard.git\ncd api3-dao-dashboard\ndocker build --build-arg=\"REACT_APP_MAINNET_PROVIDER_URL=...\" --tag api3-dao-dashboard .\ndocker run --rm --publish 7770:80 --name api3-dao-dashboard api3-dao-dashboard\n```\n\n## Verifying the Fleek build\n\nWe're using Fleek to build and deploy the dashboard. To avoid trusting Fleek with build and deployments, one can also\nbuild the app locally and compare its hash with the hash of IPFS deployment.\n\nTo do so, first create a `docker-compose.yml` as explained\n[here](https://docs.fleek.co/hosting/site-deployment/#testing-deployments-locally) in this repo. See the Fleek\nconfiguration for the values in the `environment` field.\n\n```yml\nversion: '3.7'\nservices:\n  verdaccio:\n    container_name: verdaccio\n    image: verdaccio/verdaccio\n    ports:\n      - '4873:4873'\n\n  app:\n    image: fleek/create-react-app:node-18\n    command: sh -c 'npm set registry http://verdaccio:4873 \u0026\u0026 yarn \u0026\u0026 yarn build'\n    working_dir: /workspace/build\n    environment:\n      - REACT_APP_NODE_ENV=...\n      - REACT_APP_SENTRY_DSN=...\n      - REACT_APP_MAINNET_PROVIDER_URL=...\n      - REACT_APP_PROJECT_ID=...\n    volumes:\n      - './:/workspace'\n```\n\nand run `docker-compose run --rm app`, which will create a `./build` directory.\n\nThen, (after installing IPFS Kubo) run `sudo ipfs add --only-hash --recursive ./build` to get the hash of the build\n(`sudo` because `build` will likely be owned by root). This should be the same as the IPFS hash as the one on the Fleek\ndashboard and what our ENS record is pointing towards.\n\n## Error Monitoring\n\nPlease note that the Api3 core team tracks application errors on test and production environments using\n[Sentry](https://sentry.io). This is solely used to fix errors and improve the experience of our users.\n\n**NOTE: No identifying user information is collected**\n\nIf hosting yourself, you can test Sentry by creating your own account and following the\n[React installation guide](https://docs.sentry.io/platforms/javascript/guides/react/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapi3dao%2Fapi3-dao-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapi3dao%2Fapi3-dao-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapi3dao%2Fapi3-dao-dashboard/lists"}