{"id":46930311,"url":"https://github.com/aluminyoom/driftlet","last_synced_at":"2026-03-11T04:31:14.529Z","repository":{"id":301190418,"uuid":"1007700351","full_name":"aluminyoom/driftlet","owner":"aluminyoom","description":"a minimalist, modern, and performant blogging and portfolio platform.","archived":false,"fork":false,"pushed_at":"2026-01-21T20:10:33.000Z","size":746,"stargazers_count":10,"open_issues_count":6,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-27T20:00:07.358Z","etag":null,"topics":["blog","database","docker","markdown","minimalist","portfolio","selfhosted"],"latest_commit_sha":null,"homepage":"https://driftlet.xyz","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/aluminyoom.png","metadata":{"files":{"readme":"README.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-24T11:53:07.000Z","updated_at":"2025-08-28T10:07:05.000Z","dependencies_parsed_at":"2025-09-22T09:52:22.560Z","dependency_job_id":"0a0b438b-1a41-4069-a334-28d8d61e58c3","html_url":"https://github.com/aluminyoom/driftlet","commit_stats":null,"previous_names":["rynmx/driftlet","mayspc/driftlet","maytcha/driftlet","aluminyoom/driftlet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aluminyoom/driftlet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aluminyoom%2Fdriftlet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aluminyoom%2Fdriftlet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aluminyoom%2Fdriftlet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aluminyoom%2Fdriftlet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aluminyoom","download_url":"https://codeload.github.com/aluminyoom/driftlet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aluminyoom%2Fdriftlet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30370797,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T21:41:54.280Z","status":"online","status_checked_at":"2026-03-11T02:00:07.027Z","response_time":84,"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":["blog","database","docker","markdown","minimalist","portfolio","selfhosted"],"created_at":"2026-03-11T04:31:11.196Z","updated_at":"2026-03-11T04:31:14.368Z","avatar_url":"https://github.com/aluminyoom.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":" \u003ch1\u003e \u003cimg src=\"./public/logo.png\" width=\"25px\" height=\"25px\" /\u003e driftlet\u003c/h1\u003e\n\na minimalist, modern, and performant blogging and portfolio platform.\n\n[live demo](https://ryanaque.com) • [driftlet.xyz](https://driftlet.xyz)\n\n\u003e [!NOTE]\n\u003e we don't have documentation yet, you will be rick rolled if you click on the documentation in the website.\n\n**note**: this is a very early-stage project. things may be broken or incomplete.\n\n## roadmap for 1.0\n\n- [x] create/edit/delete posts\n- [x] basic account stuff\n- [x] basic home page stuff\n- [x] links\n- [x] page tags\n- [x] an actual icon for the project\n- [ ] performance optimizations\n- [ ] basic theming\n- [ ] page view tracker\n- [ ] export markdown/data\n- [ ] import markdown on upload\n- [ ] maybe a wysiwyg editor but i really like the simplicity of not having one rn\n- [ ] maybe image formatting or just wrap them to take the whole space since its max-w-3xl\n- [ ] maybe rss if i can figure that out\n- [ ] maybe more management utilities\n- [ ] better seo?\n\n## configuration\n\ncreate a `.env` or `.env.local` file in the root of the project and add the following:\n\n```env\n# authentication\nNEXTAUTH_SECRET=your-super-secret-key\nNEXTAUTH_URL=https://my-site.com\n\n# database connection\nDATABASE_USER=user\nDATABASE_PASSWORD=password\nDATABASE_NAME=driftlet\nDATABASE_URL=\"postgresql://user:password@localhost:5432/driftlet\"\n\n# pool configuration\nDB_POOL_MAX_CONNECTIONS=20\nDB_POOL_MIN_CONNECTIONS=2\nDB_CONNECTION_TIMEOUT_MS=5000\nDB_IDLE_TIMEOUT_MS=30000\nDB_QUERY_TIMEOUT_MS=30000\nDB_STATEMENT_TIMEOUT_MS=60000\n\n# auto-initialization (optional)\nDB_AUTO_INITIALIZE=true  # auto-create missing tables/columns\n```\n\n## deploying\n\nthis project uses docker. run `docker-compose up -d` to pull the latest image from [docker hub](https://hub.docker.com/r/rynmx/driftlet) and start the app.\n\nnew images are built automatically by github actions on every push to `main`.\n\n```bash\ndocker compose up -d\n```\n\nyour site should now be available at port `3000`, but you should use a reverse proxy to expose it to the internet.\n(i suggest [caddy](https://github.com/caddyserver/caddy) or [nginx proxy manager](hhttps://github.com/NginxProxyManager/nginx-proxy-manager))\n\n## getting started (dev)\n\n### 1. set up the database\n\nthis project uses docker to run a postgresql database. make sure you have docker and docker-compose installed.\n\n```bash\ndocker compose up -d db\n```\n\n### 2. install dependencies\n\n```bash\nnpm install\n```\n\n### 3. run the development server\n\n```bash\nnpm run dev\n```\n\nopen [http://localhost:3000](http://localhost:3000)\n\n## credentials\n\nthe database is seeded with a default user:\n\n- **username**: `admin`\n- **password**: `password`\n\nyou need to manually go to [http://localhost:3000/login](http://localhost:3000/login) to login as the login button is hidden.\n\n## contributing\n\ncontributions welcome! please open an issue or submit a pull request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faluminyoom%2Fdriftlet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faluminyoom%2Fdriftlet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faluminyoom%2Fdriftlet/lists"}