{"id":35066634,"url":"https://github.com/postastiq/postastiq","last_synced_at":"2026-04-27T10:31:56.976Z","repository":{"id":329647387,"uuid":"1120304986","full_name":"postastiq/postastiq","owner":"postastiq","description":"A simple, self-hosted blogging platform written in Go, backed by SQLite.","archived":false,"fork":false,"pushed_at":"2026-01-11T17:38:41.000Z","size":190,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-11T19:42:09.560Z","etag":null,"topics":["blog","golang","self-hosted","sqlite"],"latest_commit_sha":null,"homepage":"https://postastiq.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/postastiq.png","metadata":{"files":{"readme":"README.md","changelog":"change_password_template.go","contributing":null,"funding":null,"license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":"GOVERNANCE.md","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-12-20T23:14:52.000Z","updated_at":"2026-01-11T17:38:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/postastiq/postastiq","commit_stats":null,"previous_names":["postastiq/postastiq"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/postastiq/postastiq","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postastiq%2Fpostastiq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postastiq%2Fpostastiq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postastiq%2Fpostastiq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postastiq%2Fpostastiq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/postastiq","download_url":"https://codeload.github.com/postastiq/postastiq/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/postastiq%2Fpostastiq/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32333196,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"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","golang","self-hosted","sqlite"],"created_at":"2025-12-27T11:31:17.888Z","updated_at":"2026-04-27T10:31:56.921Z","avatar_url":"https://github.com/postastiq.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Postastiq\n\n**Postastiq** is a self-hosted, privacy-first blogging platform written in Go.\n\nIt’s designed for individuals and small teams who want a **clean, focused publishing experience**, **full ownership of their data**, and **no external service dependencies**.\n\nPostastiq runs as a single binary, stores data locally using SQLite, and supports rich media, custom domains, RSS feeds, and optional access controls — all without requiring a separate database, background workers, or third-party services.\n\n---\n\n## Why Postastiq?\n\n- **Self-hosted by default**  \n  Your content and data stay under your control.\n\n- **Minimal by design**  \n  Fast, focused, and distraction-free — for both writers and readers.\n\n- **Single binary architecture**  \n  No MySQL, Redis, or external infrastructure required.\n\n- **Privacy-aware**  \n  Optional password protection for public blogs.\n\n---\n\n## License \u0026 Project Model\n\nPostastiq is **source-available software** released under the  \n**Business Source License (BSL) 1.1**.\n\nThe source code is publicly available for transparency and self-hosting.\nYou are free to run Postastiq for personal or internal use.\n\nHowever:\n- Postastiq may not be offered as a hosted or managed service\n- The software may not be used to build or operate competing platforms\n- The Postastiq name and branding may not be reused or rebranded\n\nPostastiq is developed and maintained exclusively by the Postastiq team.\nExternal pull requests are not accepted at this time, though issues and\nfeedback are welcome.\n\nOn the license Change Date, the project will automatically convert to\nthe MIT License. See `LICENSE.md` for full terms.\n\n---\n\n## Quick Start\n\n### Docker (recommended)\n\n```bash\ndocker run -dit -p 8080:8080 postastiq/postastiq\n```\n\n### Local binary\n\n```bash\ngo build -o postastiq .\n./postastiq\n```\n\nOnce running:\n\n- **Blog:** http://localhost:8080/\n- **Admin:** http://localhost:8080/admin  \n  **Default credentials:**  \n  - Username: `admin`  \n  - Password: `admin`\n\n\u003e You will be prompted to change the admin password on first login.\n\n---\n\n## Core Features\n\n- **Public Blog Viewer (`/`)**  \n  Clean, minimal feed with infinite scroll.\n\n- **Admin Dashboard (`/admin`)**  \n  Create, edit, and manage posts, media, and site settings.\n\n- **Rich Media Support**  \n  Upload photos, audio, and video with optional thumbnails.\n\n- **Privacy Controls**  \n  Optional password protection for public access.\n\n- **Themes**  \n  Built-in light and dark modes.\n\n- **Custom Domains**  \n  Bring your own domain with automatic HTTPS (via Caddy).\n\n- **Backups \u0026 Restore**  \n  One-click ZIP export and restore (database + media).\n\n- **RSS Feed**  \n  Automatically generated RSS 2.0 feed at `/rss`.\n\n- **SEO-Friendly URLs**  \n  Human-readable post URLs, for example:  \n  `/posts/my-title-2025-12-15/`\n\n- **Embedded SQLite**  \n  No external database required.\n\n---\n\n## Routes Overview\n\n### Public Routes\n\n| Method | Path | Description |\n|------|------|------------|\n| GET | `/` | Main blog feed |\n| GET | `/posts/:slug/` | Individual post |\n| GET | `/api/entries` | JSON API |\n| GET | `/rss` | RSS feed |\n| GET | `/uploads/:filename` | Media files |\n\n---\n\n### Admin Routes\n\n| Method | Path | Description |\n|------|------|------------|\n| GET | `/admin` | Admin dashboard |\n| POST | `/admin/create` | Create post |\n| POST | `/admin/update` | Update post |\n| POST | `/admin/delete` | Delete post |\n| GET | `/admin/settings` | Site settings |\n| GET | `/admin/backup` | Download backup |\n| POST | `/admin/restore` | Restore backup |\n\n---\n\n## Configuration\n\n### Environment Variables\n\n| Variable | Default | Description |\n|--------|---------|------------|\n| `PORT` | `8080` | HTTP port |\n| `DB_PATH` | `/app/data/blog.db` | SQLite database location |\n| `UPLOADS_DIR` | `/app/data/uploads` | Media storage directory |\n| `ADMIN_PASSWORD` | `admin` | Initial admin password |\n\n\u003e For security, change the admin password immediately after first login.\n\n---\n\n## Media Support\n\n| Type | Extensions | Max Size |\n|-----|-----------|---------|\n| Photos | jpg, jpeg, png, gif, webp | 5 MB |\n| Audio | mp3, m4a, wav, ogg, aac, webm | 20 MB |\n| Video | mp4, webm, mov, avi | 50 MB |\n\n---\n\n## Health Check\n\n`GET /health`\n\n```json\n{\n  \"status\": \"ready\",\n  \"bootstrap\": true\n}\n```\n\n---\n\n## License\n\nBusiness Source License 1.1\n\nSee `LICENSE.md` for full terms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpostastiq%2Fpostastiq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpostastiq%2Fpostastiq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpostastiq%2Fpostastiq/lists"}