Sign inSign up

alcyondev/mookbars

By alcyondev

•Updated 5 months ago

Image
Developer tools
1

592

alcyondev/mookbars repository overview

⁠Mookbars

A lightweight self-hosted bookmark page. Configure your links via environment variables and Mookbars generates and serves a static HTML page.

image

⁠Playing with Mookbars locally

Copy the example env file, fill in your links, and run:

cp .env.example .env

# edit .env

docker run --rm --name mookbars --env-file .env -p 8007:8007 alcyondev/mookbars:latest

Open http://localhost:8007⁠.

Any change to the .env file, HTML template, assets (JS, CSS) or Deno app (TS) will rebuild and update the static HTML page, just refresh your browser !

⁠Deploying Mookbars in production

Add the alcyondev/mookbars:latest docker image to your favorite stack, configure the environment variables, are you are done ! Configure your load balancer or reverse proxy to foward port 8007, or expose it directly to the internet.

⁠Environment variables

⁠Page
VariableRequiredDefaultDescription
MB_TITLENoMookbarsPage title and header
MB_NO_HEADERNofalseSet to true to hide the header
MB_NO_FOOTERNofalseSet to true to hide the footer
MB_DELAYNo0Seconds to wait before generating (useful for testing during development)
⁠Groups

Links are organised into groups. MB_GROUPS is a comma-separated list of group keys.

VariableRequiredDescription
MB_GROUPSYesComma-separated list of group keys, e.g. db,tools,sites
MB_GROUP_<KEY>_TITLEYesDisplay title for a group
MB_GROUP_<KEY>_LINKSYesComma-separated list of link keys for this group
MB_GROUP_<KEY>_ICONNoIconify⁠ icon name, e.g. heroicons:circle-stack
VariableRequiredDescription
MB_LINK_<KEY>_LABELYesDisplay label for a link
MB_LINK_<KEY>_URLYesURL for a link
MB_LINK_<KEY>_ICONNoIconify⁠ icon name, e.g. heroicons:server

Icons use Iconify⁠, which supports 100+ icon sets including Heroicons, Font Awesome, Material Icons, and more. Browse available icons at icon-sets.iconify.design⁠.

⁠Example
MB_TITLE=My Bookmarks

MB_GROUPS=db,tools

MB_GROUP_db_TITLE=Database
MB_GROUP_db_LINKS=pgadmin,dbgate
MB_GROUP_db_ICON=heroicons:circle-stack

MB_GROUP_tools_TITLE=Tools
MB_GROUP_tools_LINKS=console
MB_GROUP_tools_ICON=heroicons:wrench-screwdriver

MB_LINK_pgadmin_LABEL=PgAdmin
MB_LINK_pgadmin_URL=https://pgadmin.example.com
MB_LINK_pgadmin_ICON=heroicons:server

MB_LINK_dbgate_LABEL=DbGate
MB_LINK_dbgate_URL=https://dbgate.example.com
MB_LINK_dbgate_ICON=heroicons:table-cells

MB_LINK_console_LABEL=Console
MB_LINK_console_URL=https://console.example.com
MB_LINK_console_ICON=heroicons:command-line

⁠Development

Requires just⁠.

just dev    # Start dev containers with automatic recompilation
just build  # Build the production image
just run    # Build and run the production image locally

⁠Deployment

just deploy 1.0  # Build the production image, tags git + Docker, pushes both

Tag summary

Content type

Image

Digest

sha256:f39f107de…

Size

85.1 MB

Last updated

5 months ago

docker pull alcyondev/mookbars