{"id":26096162,"url":"https://github.com/pchmn/rr7-supabase-starter","last_synced_at":"2026-04-20T11:36:02.893Z","repository":{"id":264670311,"uuid":"894006884","full_name":"pchmn/rr7-supabase-starter","owner":"pchmn","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-06T10:14:57.000Z","size":2848,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-06T11:25:49.968Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/pchmn.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":"2024-11-25T15:32:30.000Z","updated_at":"2025-02-18T15:51:19.000Z","dependencies_parsed_at":"2024-12-19T11:24:10.606Z","dependency_job_id":"7bcb1791-dede-4458-8c87-b9bdb73da276","html_url":"https://github.com/pchmn/rr7-supabase-starter","commit_stats":null,"previous_names":["pchmn/monorepo-template","pchmn/rr7-supabase-starter"],"tags_count":5,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pchmn%2Frr7-supabase-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pchmn%2Frr7-supabase-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pchmn%2Frr7-supabase-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pchmn%2Frr7-supabase-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pchmn","download_url":"https://codeload.github.com/pchmn/rr7-supabase-starter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242705703,"owners_count":20172326,"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":"2025-03-09T14:35:33.521Z","updated_at":"2026-04-20T11:36:02.880Z","avatar_url":"https://github.com/pchmn.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Monorepo Template\n\nThis a monorepo template for Typescript projects.\n\n## Features\n\n- 📦 [pnpm](https://pnpm.io/) for fast, disk space efficient package management\n- 🏗️ [Turborepo](https://turbo.build/) for efficient build system and task running\n- 🔷 [TypeScript](https://www.typescriptlang.org/) for type safety\n- 🔨 [Biome](https://biomejs.dev/) for fast consistent code formatting and linting\n- 🎨 [Tailwind CSS](https://tailwindcss.com/) support with VS Code integration\n- 📱 Workspace structure for apps and packages\n- 🔄 Automated dependency version synchronization\n- 🛠️ VS Code configuration for optimal developer experience\n\n## Code organization\n\nThe monorepo is organized into two main directories:\n\n- `apps/`: Contains all the applications that can be deployed independently\n- `packages/`: Contains shared packages/libraries used across applications\n\n## Prerequisites\n\n- [`Dockploy`](https://docs.dokploy.com/docs/core) server in order to deploy apps\n- [`Supabase`](https://supabase.com/) account for the database and auth\n- [`Docker`](https://www.docker.com/) registry in order to build the docker images\n- [`Google`](https://console.cloud.google.com/) account for the Google oauth configuration\n\n## Getting Started\n\nOnce this template cloned, there is a task list in order to start fresh and without problems :\n- [ ] 1. Reset project (set version to 0.0.0 and rename project): `pnpm reset-project \u003cnew_project_name\u003e`\n- [ ] 2. Install dependencies: `pnpm i`\n- [ ] 3. Create a new project on your `Dokploy` server and replace `project-id` in `preview-up.yml`, `preview-down.yml` and `production.yml` workflows with your project id\n- [ ] 4. Update `application-domain` in `production.yml` workflow with your project domain\n- [ ] 5. Create 2 new projects on your `Supabase` account: one for the previews and one for the production\n- [ ] 6. Create these repository secrets on GitHub:\n  - [ ] `DOCKER_USERNAME`: Your Docker registry username\n  - [ ] `DOCKER_PASSWORD`: Your Docker registry password\n  - [ ] `DOKPLOY_BASE_URL`: The base URL of your Dokploy instance\n  - [ ] `DOKPLOY_TOKEN`: Authentication token for Dokploy API access\n  - [ ] `PREVIEW_SESSION_SECRET`: Secret key for preview environment sessions\n  - [ ] `PREVIEW_SUPABASE_ANON_KEY`: Anon key for preview Supabase project\n  - [ ] `PREVIEW_SUPABASE_DB_PASSWORD`: Database password for preview Supabase project\n  - [ ] `PREVIEW_SUPABASE_PROJECT_ID`: Project ID for preview Supabase instance\n  - [ ] `PREVIEW_SUPABASE_SERVICE_ROLE_KEY`: Service role key for preview Supabase project\n  - [ ] `PREVIEW_SUPABASE_URL`: URL for preview Supabase instance\n  - [ ] `PRODUCTION_SESSION_SECRET`: Secret key for production environment sessions\n  - [ ] `PRODUCTION_SUPABASE_ANON_KEY`: Anon key for production Supabase project\n  - [ ] `PRODUCTION_SUPABASE_DB_PASSWORD`: Database password for production Supabase project\n  - [ ] `PRODUCTION_SUPABASE_PROJECT_ID`: Project ID for production Supabase instance\n  - [ ] `PRODUCTION_SUPABASE_SERVICE_ROLE_KEY`: Service role key for production Supabase project\n  - [ ] `PRODUCTION_SUPABASE_URL`: URL for production Supabase instance\n  - [ ] `SUPABASE_ACCESS_TOKEN`: Access token for Supabase API\n- [ ] 7. Create a Google project and configure OAuth 2.0 credentials for the web app and connect it to your `Supabase` projects\n- [ ] 8. Enable anonymous sign-ins in your `Supabase` projects\n- [ ] 9. Set \"Read and write permissions\" on Workflow permissions on your GitHub repository (settings -\u003e actions -\u003e general -\u003e Workflow permissions), it is necessary for creating releases\n\nYou should be good to go with a fresh new project!\n\n## CI\n\n### Preview Deployments\n\nThe repository includes automated preview deployment workflows that manage preview environments for pull requests:\n\n#### Preview Creation (`preview-up.yml`)\n\nWhen a PR is opened, reopened, synchronized, or marked ready for review, the workflow:\n\n1. Run Supabase migrations on the preview database\n2. Builds a Docker image of the application\n3. Deploys it to [Dokploy](https://dokploy.com) with a unique preview URL\n4. Comments on the PR with the preview URL\n\n#### Preview Cleanup (`preview-down.yml`)\n\nWhen a PR is closed (merged or abandoned), the workflow automatically:\n\n1. Removes the preview deployment from Dokploy\n2. Cleans up associated resources\n\n### Production Deployment\n\nThe repository includes automated production deployment workflows that manage the production environment:\n\n#### Production Deployment (`production.yml`)\n\nWhen a PR is merged, the workflow:\n\n1. Runs Supabase migrations on the production database\n2. Creates a new release (tag, changelog, etc)\n3. Builds a Docker image of the application with the new version\n4. Pushes it to the Docker registry\n5. Deploys it to Dokploy\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpchmn%2Frr7-supabase-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpchmn%2Frr7-supabase-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpchmn%2Frr7-supabase-starter/lists"}