Traefik (pronounced traffic) is a modern HTTP reverse proxy and load balancer that makes deploying microservices easy. Traefik integrates with your existing infrastructure components (Docker, Swarm mode, Kubernetes, Marathon, Consul, Etcd, Rancher, Amazon ECS, ...) and configures itself automatically and dynamically. Pointing Traefik at your orchestrator should be the only configuration step you need.
. Overview . Features . Supported backends . Quickstart . Web UI . Documentation .
. Support . Release cycle . Contributing . Maintainers . Credits .
The goal of this project is to make the easiest, fastest, and most painless way of setting up a self-hosted Git service. Using Go, this can be done with an independent binary distribution across all platforms which Go supports, including Linux, macOS, and Windows on x86, amd64, ARM and PowerPC architectures. Want to try it before doing anything else? Do it with the online demo! This project has been forked from Gogs since 2016.11 but changed a lot.
From the root of the source tree, run:
Mattermost is an open source, private cloud, Slack-alternative from https://mattermost.com.
It's written in Golang and React and runs as a single Linux binary with MySQL or PostgreSQL. Every month on the 16th a new compiled version is released under an MIT license.
Note: Heroku preview does not include email or persistent storage
Auto-deploy Mattermost to Amazon Web Services, Azure, Google Cloud Platform, or Oracle Cloud Platform via Bitnami.
In addition to the web interface, you can also download Mattermost clients for Android, iOS, Windows PC, Mac OSX, and Linux.
OpenFaaS® makes it easy for developers to deploy event-driven functions and microservices to Kubernetes without repetitive, boiler-plate coding. Package your code or an existing binary in a Docker image to get a highly scalable endpoint with auto-scaling and metrics.
Highlights
Want to dig deeper into OpenFaaS?
Individual Sponsorships / End-users / Insiders Track
OpenFaaS is free to use and completely open source under the MIT license, however financial backing is required to sustain the effort to maintain and develop the project.
PhotoPrism™ is a server-based application for browsing, organizing and sharing your personal photo collection. It makes use of the latest technologies to automatically tag and find pictures without getting in your way. Say goodbye to solutions that force you to upload your visual memories to the cloud.
More screenshots: https://github.com/photoprism/photoprism/wiki/Screenshots
You're welcome to play with our demo at demo.photoprism.org. Leave your email to get a release notification.
Step-by-step installation instructions can be found in our User Guide. Developers can skip this and move on to the Developer Guide.
Cloud torrent is a a self-hosted remote torrent client, written in Go (golang). You start torrents remotely, which are downloaded as sets of files on the local disk of the server, which are then retrievable or streamable via HTTP.
Binaries
See the latest release or download and install it now with
Tip: Auto-run cloud-torrent
on boot
Docker
Source
Go is required to install from source
VPS
Heroku
Heroku is no longer supported
The next set of core features can be tracked here. This feature set requires large structural changes and therefore requires a complete rewrite for best results. This rewrite is in progress in the 0.9
branch though it will take quite some time.
Shiori is a simple bookmarks manager written in Go language. Intended as a simple clone of Pocket. You can use it as command line application or as web application. This application is distributed as a single binary, which means it can be installed and used easily.
All documentation is available in wiki. If you think there are incomplete or incorrect information, feels free to edit it.
Shiori is distributed using MIT license, which means you can use and modify it however you want. However, if you make an enhancement for it, if possible, please send a pull request. If you like this project, please consider donating to me either via PayPal or Ko-Fi.
An open framework to assemble ultra performance API Gateways with middlewares; core service of the KrakenD API Gateway.
Looking for the API gateway ready to use?
Site | Download | Build | Documentation | Blog
Consumers of REST API content (specially in microservices) often query backend services that weren't coded for the UI implementation. This is of course a good practice, but the UI consumers need to do implementations that suffer a lot of complexity and burden with the sizes of their microservices responses.
1Backend is a platform designed to make deploying, running and maintaining lambda functions/microservices easy.
It enables you to launch a new live app in seconds - after choosing your tech stack (e.g. Go with access to an SQL database) you get an empty app which is already live and callable from the outside (through HTTP).
You just have to plug in your own code (no, you don't have to write code in the browser). It's even pre-connected to your database and other infrastructure elements of your choosing.
Miniflux is a minimalist and opinionated feed reader:
It's simple, fast, lightweight and super easy to install.
Official website: https://miniflux.app
The Miniflux documentation is available here: https://miniflux.app/docs/ (Man page)
Default theme:
Dark theme when using keyboard navigation:
Short answer: RudderStack is an open-source Segment alternative written in Go, built for the enterprise. .
Long answer: RudderStack is a platform for collecting, storing and routing customer event data to dozens of tools. RudderStack is open-source, can run in your cloud environment (AWS, GCP, Azure or even your data-centre) and provides a powerful transformation framework to process your event data on the fly.
RudderStack runs as a single go binary with Postgres. It also needs the destination (e.g. GA, Amplitude) specific transformation code which are node scripts. This repo contains the core backend and the transformation modules of Rudder. The client SDKs are in a separate repo (link below).
GoatCounter is a web analytics platform, roughly similar to Google Analytics or Matomo. It aims to give meaningful privacy-friendly web analytics for business purposes, while still staying usable for non-technical users to use on personal websites. The choices that currently exist are between freely hosted but with problematic privacy (e.g. Google Analytics), hosting your own complex software or paying $19/month (e.g. Matomo), or extremely simplistic "vanity statistics".
There are two ways to run this: as hosted service on goatcounter.com, free for non-commercial use, or run it on your own server (the source code is completely Open Source/Free Software, and it can be self-hosted without restrictions).
There is a few different ways of getting it:
This requires a Go environment, version 1.10 or greater.
Fetch, compile and run dispatch:
To get some help run:
This requires Node.js and yarn.
Fetch the dependencies:
Run the build:
The server needs to be rebuilt to embed new client builds.
For development with hot reloading start the frontend:
And then the backend in a separate terminal:
The libraries this project is built with.
Cross-browser Testing Platform and Open Source <3 Provided by Sauce Labs
Plik is a scalable & friendly temporary file upload system ( wetransfer like ) in golang.
1.3-RC1
To run plik, it's very simple :
Et voilà ! You now have a fully functional instance of Plik running on http://127.0.0.1:8080.
You can edit server/plikd.cfg to adapt the configuration to your needs (ports, ssl, ttl, backend params,...)
Configure root.gg repository and install server and/or client
Edit server configuration at /etc/plikd.cfg and start the server
To compile plik from sources, you'll need golang and npm installed on your system.
Tasks is a simplistic Go webapp to manage tasks, I built this tool to manage tasks which I wanted to do, there are many good kanban style boards, but I felt they were a bit too heavyweight for my taste. Also I wanted to learn the Go webapp development.
Via script: bash install.sh
This will generate the binary and set up the database. If you want, you can copy the binary and the public folder into a folder of your choice.
Manually:
You can change the port in the config file
I am learning writing webapps with Go as I build this application, I took to writing an introductory book about building webapps in Go because I faced a lot of problems while learning how to write webapps in Go, it, the book strives to teach by practical examples. You are welcome to contribute to the book.
Satellity is a 100% open source forum, written in Go. Please visit https://satellity.org for more details. For feedback, you can submit issues or join our slack(https://bit.ly/31b6xeX), Let's learn Go together!
Satellity is a still a PRE-ALPHA version. Please don't use it in production!!
Copy env.example
to .env
, and replace Satellity
with your project name.
run yarn install
, then yarn start
. It's running now.
When contributing to this repository, please reach out to @jadeydi or other contributors via email, issue or any other means to discuss the changes you wish to make.
Tania is a free and open source farm management software. You can manage your farm areas, farm reservoirs, farm tasks, inventories, and the crop growing progress. It is designed for any type of farms.
Download Tania for Windows x64 and Linux x64 on the release page.
This software is built with Go programming language. It means you will get an executable binary to run on your machine. You don't need extra software like MAMP, XAMPP, or WAMP to run Tania, but you may need MySQL database if you choose to use it instead of SQLite (the default database.)
a fast and simple webserver for your files, that's dependency-free and with under 200 lines of code, easy to review.
a simple UI comes as default, featuring :
built blobs are available on the release page - or simply make build
this repo.
release images are pushed to dockerhub, e.g. :
in a do-one-thing-well mindset, HTTPS and authentication has been left to middlewares and proxies. for instance caddy handles this very well - have a look at this small caddy config with authentication and option for HTTPS that works along with gossa.
A simple, secure self-destructing message service, using HashiCorp Vault product as a backend.
Read more about the reasoning behind this project in the relevant blog post.
Now using Let's Encrypt for simple and free SSL certs!
Running locally will use a self-signed SSL certificate for whatever your local dev domain is. The default is localhost
, to change it just pass an argument to make
. For example, if you set 127.0.0.1 secret.test
in your /etc/hosts
you would run locally as:
Try it! (you can ignore the safety warning since it's a self-signed cert)
Cherry
is a webchat engine
wrote in Golang
. It brings the main functionalities that you need in a webchat server.
With this application you are able to serve a bunch of rooms from your machine just editing a configuration file in a specific language. So if you are interested you should read the documentation to learn how to master it.
Now SSL connections
are supported.
You can use the standard go build
or you can use Hefesto.
You need to setup your GOPATH
to the project root. Supposing that cherry repo was cloned under /home/doctor/web/git-hub/rafael-santiago/cherry
just add this path to your GOPATH
.
the default login is admin/admin.
password can then be changed from the web interface
note: unfortunately if you do this above, you'll be compiling gonic locally on your machine (if someone knows how I can statically link sqlite3 and taglib, please let me know so I can distribute static binaries)
or else you can run in docker, available on dockerhub as sentriz/gonic
then start with docker-compose up -d
golinks is a web app that allows you to create smart bookmarks, commands and aliases by pointing your web browser's default search engine at a running instance. Similar to bunny1 or yubnub.
There is a formula provided that you can tap and install from prologic/homebrew-golinks:
NB: This installs the latest released binary; so if you want a more recent unreleased version from master you'll have to clone the repository and build yourself.
To startup a container with an image from docker hub, run the following:
Hapttic listens for incoming HTTP connections. When it receives a connection, it dumps all relevant data (headers, path, parameters, the body and other stuff) into a JSON object and calls a bash script with this object as its parameters.
The basic idea is pretty similar. The main advantage of hapttic is ease of setup with a simple Docker image that lets you quickly connect a shell script to a http endpoint.
First, create a request handler at ~/hapttic_request_handler.sh
:
Then run the following command to spin up the docker container that runs hapttic:
microproxy
is a lightweight non-caching HTTP/HTTPS proxy server.
This project is written in the Go programming language and to build it you need to install Go compiler and set some enviroment variables. Here is instructions on how to do it. After you've done it, run the following command in your shell:
and this will build the binary in $GOPATH/bin
.
microproxy
uses TOML format for configuration file. Below is a list of supported configuration options.
To enable debug mode, add -v
switch. To only test configuration file correctness add -t
switch,
i.e. $ ./microproxy --config microproxy.toml -t
A super fast forum software written in Go. You can talk to us on our Discord chat!
The initial code-base was forked from one of my side projects, but has now gone far beyond that. We've moved along in a development and the software should be somewhat stable for general use.
Features may break from time to time, however I will generally try to warn of the biggest offenders in advance, so that you can tread with caution around certain commits, the upcoming v0.1 will undergo even more rigorous testing.
ots
is a one-time-secret sharing platform. The secret is encrypted with a symmetric 256bit AES encryption in the browser before being sent to the server. Afterwards an URL containing the ID of the secret and the password is generated. The password is never sent to the server so the server will never be able to decrypt the secrets it delivers with a reasonable effort. Also the secret is immediately deleted on the first read.
For a better setup you can choose the backend which is used to store the secrets:
I started to develop KISSS because I need a simple and privacy respecting method to collect visitor statistics of my website. I don't need any fancy dashboard, but I want to get exactly the stats I need. I need something fast, that is able to run even on really low end hardware like a Raspberry Pi.
KISSS is really easy to install via Docker.
Depending on your setup, replace -p 8080:8080
with your custom port configuration. KISSS listens to port 8080 by default, but you can also change this via the configuration.