A minimal devlog service.
- Markdown based posts
 - Supports image uploading to 
AWS S3 - Supports thumbnails
 - Supports blurhash
 - Supports elasticsearch
 - Supports access level
 - Minimal administration APIs
 - Generates sitemaps automatically
 - SSR
 - CDN
 
| Variable | Description | Related functionality | 
|---|---|---|
AWS_ACCESS_KEY_ID | 
AWS Access key ID | Post images and thumbnails | 
AWS_SECRET_ACCESS_KEY | 
AWS Secret key | Post images and thumbnails | 
AWS_REGION | 
AWS region | Post images and thumbnails | 
AWS_S3_BUCKET_NAME | 
AWS S3 bucket name | Post images and thumbnails | 
AWS_S3_CACHE_CONTROL | 
AWS S3 cache control value (must be valid Cache-Control value e.g. max-age=3600 defaults to 'max-age=86400') | Post images and thumbnails | 
TYPEORM_CONNECTION | 
Typeorm setting | Database | 
TYPEORM_HOST | 
Typeorm setting | Database | 
TYPEORM_PORT | 
Typeorm setting | Database | 
TYPEORM_USERNAME | 
Typeorm setting | Database | 
TYPEORM_PASSWORD | 
Typeorm setting | Database | 
TYPEORM_DATABASE | 
Typeorm setting | Database | 
ELASTICSEARCH_NODE_HOST | 
Hostname of the elasticsearch node (maybe 127.0.0.1) | 
Elasticsearch | 
ELASTICSEARCH_NODE_PORT | 
Port number of the elasticsearch node (maybe 9200) | 
Elasticsearch | 
SITEMAP_BASE_URL | 
URL of the frontend index page for sitemaps (must be end with a slash e.g. https://blog.ashrimp.dev/) | 
Sitemap | 
POST_BASE_URL | 
URL of the frontend post page for sitemaps (must be end with a slash e.g. https://blog.ashrimp.dev/posts/) | 
Sitemap | 
SSR_FRONTEND_URL | 
URL of the frontend post page for SSR (must be end with a slash e.g. https://blog.ashrimp.dev/) | 
SSR | 
SSR_FRONTEND_DIR | 
Path to the frontend directory | SSR | 
SSR_FRONTEND_SCRIPTS | 
Comma-separated list of script file names that must be executed during SSR | SSR | 
SSR_FRONTEND_SCRIPT_ATTACHMENTS | 
Comma-separated list of script URLs that must be attached to the end of body after SSR (e.g. /index.js) | 
SSR | 
SSR_FRONTEND_EVENT | 
DOM event name that will be fired when the pages are ready to serve for SSR (defaults to app-loaded) | 
SSR | 
SSR_FRONTEND_TIMEOUT | 
Timeout of the SSR rendering in milisecond (defaults to 5000) | 
SSR | 
SSR_CACHE_EXPIRY | 
Expiry of the caches for SSR rendered pages in milisecond (defaults to 604800000, the caches are automatically purged when any visible changes made) | 
SSR | 
CDN_BASE_URL | 
URL of the CDN to serve images(NOT videos) (must be end with a slash e.g. https://cdn.blog.ashrimp.dev/) | 
CDN | 
devlog-backend supports access level control of each post.
public: Posts can be listed and fetched by anonymous clients.unlisted: Posts cannot be listed, but can be fetched by anonymous clients.private: Posts can be listed and fetched by only authenticated clients.