{"id":13513697,"url":"https://github.com/astuto/astuto","last_synced_at":"2025-04-11T02:37:33.198Z","repository":{"id":37270272,"uuid":"203002681","full_name":"astuto/astuto","owner":"astuto","description":"A free, open source, self-hosted customer feedback tool 🦊","archived":false,"fork":false,"pushed_at":"2025-04-10T14:50:30.000Z","size":3691,"stargazers_count":2074,"open_issues_count":61,"forks_count":166,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-04-10T16:03:34.889Z","etag":null,"topics":["boards","customer-feedback","docker","feedback","react","roadmap","ruby-on-rails","self-hosted"],"latest_commit_sha":null,"homepage":"https://astuto.io/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/astuto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2019-08-18T12:51:58.000Z","updated_at":"2025-04-09T18:43:21.000Z","dependencies_parsed_at":"2024-03-14T22:47:26.743Z","dependency_job_id":"a4fa0736-6b82-4ebf-96f0-54ecfad2141d","html_url":"https://github.com/astuto/astuto","commit_stats":{"total_commits":369,"total_committers":14,"mean_commits":"26.357142857142858","dds":0.5284552845528455,"last_synced_commit":"09d3e17c5268d3c065fed92e63ef237f768f14b1"},"previous_names":["riggraz/astuto"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astuto%2Fastuto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astuto%2Fastuto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astuto%2Fastuto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astuto%2Fastuto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/astuto","download_url":"https://codeload.github.com/astuto/astuto/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248330421,"owners_count":21085703,"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":["boards","customer-feedback","docker","feedback","react","roadmap","ruby-on-rails","self-hosted"],"created_at":"2024-08-01T05:00:35.857Z","updated_at":"2025-04-11T02:37:33.175Z","avatar_url":"https://github.com/astuto.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg width=\"400\" src=\"./images/logo-and-name.png\" /\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.producthunt.com/posts/astuto?utm_source=badge-top-post-badge\u0026utm_medium=badge\u0026utm_souce=badge-astuto\" target=\"_blank\"\u003e\u003cimg src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=179870\u0026theme=neutral\u0026period=daily\" alt=\"Astuto - An open source customer feedback tool 🦊 | Product Hunt Embed\" style=\"width: 250px; height: 54px;\" width=\"250px\" height=\"54px\" /\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  \u003ch3 align=\"center\"\u003e\n    \u003ca href=\"https://feedback.astuto.io/\"\u003e✨ Try it out\u003c/a\u003e\n  \u003c/h3\u003e\n\u003c/p\u003e\n\nAstuto is an open source customer feedback tool. It helps you collect, manage and prioritize feedback from your customers, so you can build a better product.\n\n\u003ca href=\"https://feedback.astuto.io/\"\u003e\n  \u003cimg src=\"./images/hero-image.png\" /\u003e\n\u003c/a\u003e\n\n## Features\n\n- **Roadmap**: show users what you're working on\n- **Simple Sign In**: let users log in with email or any OAuth2 provider\n- **Webhooks**: integrate with your existing tools (e.g. Jira, Trello, Slack)\n- **API**: programmatically manage your feedback space with our REST API\n- **Moderation Queue**: decide whether to show new feedback immediately or request approval\n- **Anonymous Feedback**: enable unregistered users to publish feedback\n- **... and more**: invitation system, brand customization, recap emails for administrators, private site settings, and more!\n\n## Get started\n\nRead the [Deploy with Docker instructions](https://docs.astuto.io/deploy-docker) for the most comprehensive and up to date guide on installing and configuring Astuto.\n\nWhat you find below are minimal instructions to get you started as quickly as possible:\n\n0. Ensure you have Docker and Docker Compose installed\n1. Create an empty folder\n2. Inside that folder, create a `docker-compose.yml` file with the following content:\n```\nservices:\n  db:\n    image: postgres:14.5\n    environment: \u0026db-env\n      POSTGRES_USER: yourpostgresusername\n      POSTGRES_PASSWORD: yourpostgrespassword\n    volumes:\n      - dbdata:/var/lib/postgresql/data\n  web:\n    image: riggraz/astuto:latest\n    environment:\n      \u003c\u003c: *db-env\n      BASE_URL: http://yourwebsite.com\n      SECRET_KEY_BASE: yoursecretkeybase\n    ports:\n      - \"3000:3000\"\n    depends_on:\n      - db\n    \nvolumes:\n  dbdata:\n```\n3. Edit the environment variables to fit your needs. You can find more information about env variables in the [documentation](https://docs.astuto.io/deploy-docker/#2-edit-environment-variables).\n4. Run `docker compose pull \u0026\u0026 docker compose up`\n5. You should now have a running instance of Astuto on port 3000. A default user account has been created with credentials email: `admin@example.com`, password: `password`.\n\n## Documentation\n\nCheck out [docs.astuto.io](https://docs.astuto.io/) to learn how to deploy Astuto, configure custom OAuth providers and webhooks, use our REST API and more!\n\n## Contributing\n\nThere are many ways to contribute to Astuto, not just coding. Proposing features, reporting issues, translating to a new language or improving documentation are a few examples! Please read our [contributing guidelines](https://github.com/riggraz/astuto/blob/main/CONTRIBUTING.md) to learn more.\n\n## Credits\n\nAstuto logo and all image assets are credited [here](https://astuto.io/credits).\n\nA huge thank you to code contributors\n\n\u003ca href=\"https://github.com/riggraz/astuto/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=riggraz/astuto\" /\u003e\n\u003c/a\u003e\n\nand [translation contributors](https://crowdin.com/project/astuto/members)!\n","funding_links":[],"categories":["Resources","docker","TypeScript","Miscellaneous"],"sub_categories":["[Canny](https://canny.io/)"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastuto%2Fastuto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fastuto%2Fastuto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastuto%2Fastuto/lists"}