https://github.com/reddec/caddy-page
Minimalist start page designed for simplicity and speed
https://github.com/reddec/caddy-page
bookmarks caddy homepage start-page
Last synced: about 1 year ago
JSON representation
Minimalist start page designed for simplicity and speed
- Host: GitHub
- URL: https://github.com/reddec/caddy-page
- Owner: reddec
- License: mit
- Created: 2024-06-21T14:35:57.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-06-22T08:52:36.000Z (about 2 years ago)
- Last Synced: 2025-06-08T06:04:37.108Z (about 1 year ago)
- Topics: bookmarks, caddy, homepage, start-page
- Language: JavaScript
- Homepage: https://demo-page.reddec.net
- Size: 15.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Caddy Page
Caddy Page is a minimalist start page designed for simplicity and speed. This project aims to provide a clean and efficient browsing experience, focusing on performance and configurability.
There are dozens (maybe hundreds) of them, this is just yet another one.
See demo site (please be gently!) [https://demo-page.reddec.net](https://demo-page.reddec.net)


## Features
* Minimalistic Design: straightforward interface that emphasizes usability and aesthetics.
* No JavaScript: rhe start page can function without JavaScript, though the search feature requires it.
* Powered by Caddy Server
* Easy to extend and configure: nothing else then just plain JS, CSS, and server-side templates.
* **Multi-Term Search**: supports advanced search functionality where each term (word, separated by space) sequentially enhances the filter, providing more precise results. Keyboard friendly (`/` to open search, `enter` to open link, `esc` to close)
* Fast and lightweight: designed to be quick and responsive, keeping in mind a smooth user experience even on slower connections.
## Deploy
docker run --rm -p 8080:80 -v $(pwd)/config.json:/usr/share/caddy/config/config.json:ro ghcr.io/reddec/caddy-page
__Demo mode__
docker run --rm -p 8080:80 ghcr.io/reddec/caddy-page
## Configuration
**Simple**
Sample `config.json`
```json
{
"title": "Start page",
"links": [
{
"name": "Google",
"href": "https://google.com",
"tags": [
"search",
"find"
]
},
{
"name": "DuckDuckGo",
"href": "https://ddg.gg",
"tags": [
"search",
"find",
"free",
"ddg",
"privacy"
]
},
{
"name": "GitHub",
"href": "https://github.com",
"tags": [
"git"
]
},
{
"name": "Codeberg",
"href": "https://codeberg.org/",
"tags": [
"git",
"open-source",
"free"
]
}
]
}
```
- `title` (string): title and name of page
- `links` (array): array of links
Each link:
- `name` (string): visible name of entry
- `href` (string): remote link
- `tags` (array of string): **optional** tags which can be used during search. First tag will be shown under pill.
**Deep dive**
To customize the start page, you can modify the HTML and CSS files according to your preferences. The structure is simple and well-documented to facilitate easy changes.
## TLS
Caddy supports TLS by default. Just update Caddyfile. For example:
**Caddyfile**
```
example.com {
root * /usr/share/caddy/
handle_path /static/* {
root * /usr/share/caddy/static
file_server
}
handle / {
root * /usr/share/caddy/templates
file_server
templates {
root /usr/share/caddy/config
}
}
}
```
and run it as
docker run --rm -p 80:80 -p 443:443 -v $(pwd)/Caddyfile:/etc/caddy/Caddyfile:ro -v $(pwd)/data:/data -v $(pwd)/config.json:/usr/share/caddy/config/config.json:ro ghcr.io/reddec/caddy-page
- `$(pwd)/data:/data` needed for TLS cache
## Contribution
Contributions are welcome! If you have ideas for improvements or new features, feel free to fork the repository and submit a pull request.
## License
This project is licensed under the MIT License.