Back to projects
🔗

ServeLink

Lightweight HTTP file server with REST API and API key auth

Go Docker REST API DevOps

Overview

ServeLink is a self-hostable micro-service written in Go that turns any mounted directory into a browsable, downloadable REST API. It was built to solve a common DevOps friction point: securely exposing files from a container or server to other services or scripts without standing up a full file server like Nginx or Apache.

The entire service ships as a scratch-based Docker image, keeping the footprint minimal. Authentication is handled via an API key passed in the request header, and built-in security headers are applied automatically.

Use Cases

📦

Artifact distribution

Serve build artefacts or release binaries from a CI pipeline to downstream services.

🏠

Home lab file sharing

Expose a NAS directory over HTTP to scripts, dashboards, or other containers.

🤖

Service-to-service transfer

Allow microservices to pull files without shared volumes or complex storage configs.

🔒

Secure static assets

Expose private static files to authenticated callers behind your own API key.

Key Features

API at a Glance

GET /dir?introspectionLevel=2   // list directory tree
GET /file/docs/report.pdf      // download a file

// All requests require:
x-api-key: your-secret-key

Tech Stack

Go
Docker (scratch image)
REST API
API Key Auth