selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

goblin logo

Self-host goblin

v0.5.4

On-demand Go binary compilation service

BetaOpen SourceMIT
Updated12 hours ago
LanguageGo
Setup difficultyModerate
Stars
203
Port
3000 (HTTP server for binary compilation and serving)
Docker
ghcr.io/barelyhuman/goblin
Install with Docker

What is goblin?

Goblin is a self-hostable service that compiles Go binaries on-demand for any platform. Users can install Go tools via curl without having Go installed locally, similar to gobinaries.com. The service resolves module versions from proxy.golang.org and GitHub, compiles the requested binary for the target OS/architecture, and streams it back. It can be deployed via Docker (ghcr.io/barelyhuman/goblin) or as a standalone binary on traditional servers. Optional S3-compatible storage provides persistence for compiled binaries. Configuration is done through environment variables including GitHub token for private repo access, origin URL, port, and cache expiry. The project is MIT licensed and actively maintained.

Should you self-host goblin?

goblin scores 46/100 on selfhost.directory (how scoring works) and ranks #104 of 166 in Developer Tools. It has 203 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is openhands (87/100, 92 094 stars). It scores higher overall, so compare the two before you pick. See goblin vs openhands side by side.

Features

  • Cache expiry configuration
  • Commit hash installation
  • Cross-platform binary delivery
  • Custom installation path and binary name
  • GitHub token authentication for private repos
  • Nested package support
  • On-demand Go binary compilation
  • Optional binary caching with S3 storageOptional, disabled by default
  • Public version APIAvailable from v0.4.0
  • Version resolution from Go proxy and GitHub

goblin README

How to install goblin

Install goblin with Docker

Docker
Environment variables
GOBLIN_ORIGIN_URL

docker run -p "3000:3000" ghcr.io/barelyhuman/goblin:latest

change the domain to whatever you are using for it

docker run -e "GOBLIN_ORIGIN_URL=example.com" -p "3000:3000" ghcr.io/barelyhuman/goblin:latest

Pre-built images published to GHCR on each release

How to configure goblin

  • CLEAR_CACHE_TIMEDuration used to clear and set expiry for stored binaries

    Duration used to clear and set expiry for stored binaries

    values: 1m, 30s, etc

  • GITHUB_TOKENGithub authentication token for accessing github repositories and resolving versions

    Github authentication token for accessing github repositories and resolving versions

  • GOBLIN_ORIGIN_URLThe same url as ORIGIN_URL but added again because the static build needs it in the repo

    The same url as ORIGIN_URL but added again because the static build needs it in the repo

  • ORIGIN_URLhttp://localhost:${PORT}Default URL of the application

    Default URL of the application

  • PORT3000Default port for running the application

    Default port for running the application

  • STORAGE_BUCKETBucket name of the S3 compatible storage

    Bucket name of the S3 compatible storage

  • STORAGE_BUCKET_PREFIXFolder/namespace to store the files inside the bucket

    Folder/namespace to store the files inside the bucket

  • STORAGE_CLIENT_IDCLIENT_ID of a S3 compatible storage

    CLIENT_ID of a S3 compatible storage

  • STORAGE_CLIENT_SECRETCLIENT_SECRET of a S3 compatible storage

    CLIENT_SECRET of a S3 compatible storage

  • STORAGE_ENABLEDfalseEnable persistence for compiled binaries

    Enable persistence for compiled binaries

    values: true, false

  • STORAGE_ENDPOINTEndpoint value of an S3 compatible storage

    Endpoint value of an S3 compatible storage

goblin releases & version history

More in CI/CD

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…