A simple grid based static home or landing page. Fed with a simple JSON file, use it as a portal to your home or family network infrastructure, or as a more deliberately curated version of your new tab page.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
mach327 f4ceb606bf oops, i meant to use cmd 2 years ago
src squash a bunch of embarassing drone foolery history 2 years ago
.drone.yml squash a bunch of embarassing drone foolery history 2 years ago
.gitignore basic working 2 years ago
Dockerfile oops, i meant to use cmd 2 years ago
README.md README clarifications 2 years ago
drone.sh stop requiring directory for drone 2 years ago

README.md

Corridor

Corridor: a long passage in a building from which doors lead into rooms.

Corridor is a simple landing page, built with jekyll and a links.json file you supply, that puts icons in a grid for you to click.

It's deliberately very simple, leaving you free to customize as you wish, but allowing for almost no startup cost:

mkdir -p example.com
cat > example.com/links.json <<EOFEOF
[ 	{
	"name":"rss", 
	"category":"news",
	"url":"https://rss.example.com",
	"icon":"https://upload.wikimedia.org/wikipedia/en/thumb/4/43/Feed-icon.svg/480px-Feed-icon.svg.png"
	},
 	{
	"name":"git", 
	"category":"dev",
	"url":"https://git.example.com",
	"icon":"https://git-scm.com/images/logos/downloads/Git-Icon-1788C.png"
	},
	]
EOFEOF

sudo docker run --rm -it \
	-v ${PWD}/example.com/:/srv/jekyll/_data/corridor/ \
	-v ${PWD}/.example.com/:/srv/jekyll/_site/ \
	mach327/corridor jekyll build

python -m http.server --directory .example.com

or you could use jekyll serve instead of build and view it on localhost:4000:

sudo docker run --rm -it \
	-v ${PWD}/example.com/:/srv/jekyll/_data/corridor/ \
	-v ${PWD}/.example.com/:/srv/jekyll/_site/ \
	-p 4000:4000 \
	mach327/corridor jekyll serve

Hopefully the example above is instructive enough - it shows every single feature corridor has. :) (There's not very many)

Drone

But that's not really how I use it.

Make a new git repo, put the links.json file in it. Add .drone.yml from below, modifying it to fit your needs (hostnames, ports etc). Add your drone secrets (maybe using the drone web interface), using plugin_key and plugin_user as the names.

.drone.yml:

---
name: default
kind: pipeline
type: docker

pipeline:
  build:
    image: mach327/corridor
    pull: true
  deploy:
    image: drillster/drone-rsync
    hosts: [ "your_server.example.com" ]
    user: wwwdeploy
    port: 22
    source: _site/
    target: /var/www/path_to_vhost
    delete: true
    secrets: [plugin_key, plugin_user]

And you're done. :)

Rationale

I needed a way to have some simple, easy-to-define-but-not-too-ugly landing pages for infrastructure. Bookmarks in my browser wasn't cutting it, because I can't share those. My memory wasn't enough, because I run too many services. My new tab page wasn't a good fit either for the same reasons.

Heimdall was the first thing I tried, since it seems to solve similar problems and is reasonably popular. I didn't like it though - I really just wanted something much more simple and static - I didn't need all the complexity. And, at the time I used it (a while ago) it didn't have an obvious way to pre-seed links. (I'll admit I didn't look very hard, because I had already decided I wanted something simpler)

So Corridor is centered around a single json file, and some lightweight Jekyll tooling and templates.

Use it as a portal to your home or family network infrastructure, or as a more deliberately curated version of your new tab page. My father can't remember the hostnames of some of his raspberry pis, so he'll get a copy of corridor installed on his router configured with links to those pis.

In my case, I have a bunch of separate domains - e.g. one for the family, one for myself, one for a business. Each has a bunch of subdomains, with hosted webapps. I use Corridor to serve as a landing page on the naked domain, so example.com has corridor, which has links to git.example.com (gogs/gitea), rss.example.com (an rss reader), etc etc etc.

Credits / Attribution

Design is modified from a Responsive Icon Grid demo by Mary Lou (@crnacura), specifically from https://tympanus.net/codrops/2013/07/01/responsive-icon-grid/

I'm afraid I may have butchered the beauty of the original design. Thank you for the quick start.