brew install go-task
task install:tools
task install:deps
task generate:caddy_cert
task setup:hosts
task start:meilisearch
task start:imgproxy
task start:caddy
task start:server
Visit localhost:4000
or https://derpytools.site
graph TD
U(User) <---> |Proxy| C{Caddy}
subgraph VPS
C{Caddy} <---> |Admin| LiveBook
Phoenix <---> |Search| Meilisearch
C{Caddy} <---> |Server| Phoenix
Phoenix <---> |Database| Sqlite
Sqlite <---> |Backup| Litestream
C{Caddy} <---> |Cache| Varnish
Varnish <---> |Image Transformer| Imgproxy
C{Caddy} <---> |Monitoring| Netdata
end
Phoenix <---> |S3| S3((Object Store))
Imgproxy <---> |S3| S3((Object Store))
Litestream <---> |S3| S3((Object Store))
- /stats
- /version
- /health
- /release
- Reach feature parity with Ghost Blog
- Routing
- Table of Contents
- Reading time estimation
- Human readable dates & relative time
- Footer Nav Button
- Related Posts
- Resizable Images using Imgproxy
- Routing
- HTTP/3, Brotli, AVIF like modern features achieved
- Keyboard Shortcuts
- Meilisearch for Command Palette
- Command Palette
- Proper code snippet embed
- Code snippet copy button
- Recent Posts
- Blog main page
- Tags page
- Metadata
- LD Json
- Atom feed
- Sitemap
- Componetize all blog post elements
- URL auto-embed, with auto image extraction
- File uploader with cropping & compression
- Lqip
- Move blog posts
- Taskfile
- Multipass
- Image Compression
- Move misc pages from Ghost Blog
- Privacy Policy
- Terms & Conditions
- About
- Social Share
- Cookie Consent
- Contact Form
- URL Beaver
- Metadata Analyzer (WIP)
- UTM Builder (WIP)
- URL Shortener
- Referral link manager
- Wordle
-
Authentication
- Basic Auth
- Google OAuth
- GitHub OAuth
- Designed Auth pages to look fabulous
-
Authorization
- Add policies to restrict apps and routes to certain users
- Add super user through an env variable
- Heartbeat
- Offline Indicator
- Dark Mode
- Content Security Policy
- Permissions Policy
- Source Code Inspect
- Image lazy loading
- Tailwind Custom Config
- CSP Nonce added to Live Dashboard & Inline Styles/Scripts
- Caddy Error Routes
- Varnish cache to cache Images
- Added meta routes
- Moved to Bandit server
- Env variables split into multiple files
- 404 & 500 Pages added
- UUID7
- Local storage to persist user inputs
- Build Server Side Analytics using Clickhouse
- Litestream backup download to get a copy of production db for local testing
- Setup live book & live documentation/playground
- Add commands to run in staging & production
- Setup Varnish
- Setup Imgproxy
- Systemd encryption of env files
- Reduce the number of bash scripts using variables