go

kubernetes

24 May 2020Last Commit66326 (11123/yr)Github Stars2904Issues

Kubernetes is an open source system for managing containerized applications across multiple hosts. It provides basic mechanisms for deployment, maintenance, and scaling of applications.

Kubernetes builds upon a decade and a half of experience at Google running production workloads at scale using a system called Borg, combined with best-of-breed ideas and practices from the community.

Kubernetes is hosted by the Cloud Native Computing Foundation (CNCF). If your company wants to help shape the evolution of technologies that are container-packaged, dynamically scheduled, and microservices-oriented, consider joining the CNCF. For details about who's involved and how Kubernetes plays a role, read the CNCF announcement.

gogs

22 May 2020Last Commit34360 (5469/yr)Github Stars668Issues

The Gogs (/gɑgz/) project aims to build a simple, stable and extensible self-hosted Git service that can be setup in the most painless way. With Go, this can be done with an independent binary distribution across ALL platforms that Go supports, including Linux, macOS, Windows and ARM.

Make sure you install the prerequisites first.

There are 6 ways to install Gogs:

This project is under the MIT License. See the LICENSE file for the full license text.

syncthing

22 May 2020Last Commit31288 (4818/yr)Github Stars266Issues

Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers. We strive to fulfill the goals below. The goals are listed in order of importance, the most important one being the first. This is the summary version of the goal list - for more commentary, see the full Goals document.

Syncthing should be:

Safe From Data Loss

Protecting the user's data is paramount. We take every reasonable precaution to avoid corrupting the user's files.

Secure Against Attackers

etcd

23 May 2020Last Commit31170 (4530/yr)Github Stars277Issues

Note: The master branch may be in an unstable or even broken state during development. Please use releases instead of the master branch in order to get stable binaries.

etcd is a distributed reliable key-value store for the most critical data of a distributed system, with a focus on being:

etcd is written in Go and uses the Raft consensus algorithm to manage a highly-available replicated log.

etcd is used in production by many companies, and the development team stands behind it in critical deployment scenarios, where etcd is frequently teamed with applications such as Kubernetes, locksmith, vulcand, Doorman, and many others. Reliability is further ensured by rigorous testing.

traefik

23 May 2020Last Commit28901 (6157/yr)Github Stars540Issues

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 .

minio

24 May 2020Last Commit21967 (4100/yr)Github Stars84Issues

MinIO is a High Performance Object Storage released under Apache License v2.0. It is API compatible with Amazon S3 cloud storage service. Use MinIO to build high performance infrastructure for machine learning, analytics and application data workloads.

NOTE: Docker will not display the default keys unless you start the container with the -it(interactive TTY) argument. Generally, it is not recommended to use default keys with containers. Please visit MinIO Docker quickstart guide for more information here

drone

21 May 2020Last Commit21084 (3349/yr)Github Stars50Issues

Drone is a Continuous Delivery system built on container technology. Drone uses a simple YAML configuration file, a superset of docker-compose, to define and execute Pipelines inside Docker containers.

Sample Pipeline Configuration:

Documentation and Other Links:

Please note the official Docker images run the Drone Enterprise distribution. If you would like to run the Community Edition you can build from source by following the instructions in BUILDING_OSS.

gitea

24 May 2020Last Commit19813 (5563/yr)Github Stars1430Issues

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-server

23 May 2020Last Commit18252 (3694/yr)Github Stars462Issues

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.

faas

18 May 2020Last Commit17636 (5155/yr)Github Stars71Issues

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.

cadvisor

23 May 2020Last Commit10722 (1800/yr)Github Stars439Issues

cAdvisor (Container Advisor) provides container users an understanding of the resource usage and performance characteristics of their running containers. It is a running daemon that collects, aggregates, processes, and exports information about running containers. Specifically, for each container it keeps resource isolation parameters, historical resource usage, histograms of complete historical resource usage and network statistics. This data is exported by container and machine-wide.

cAdvisor has native support for Docker containers and should support just about any other container type out of the box. We strive for support across the board so feel free to open an issue if that is not the case. cAdvisor's container abstraction is based on lmctfy's so containers are inherently nested hierarchically.

go-ipfs

23 May 2020Last Commit9697 (1641/yr)Github Stars936Issues

IPFS is a global, versioned, peer-to-peer filesystem. It combines good ideas from previous systems such as Git, BitTorrent, Kademlia, SFS, and the Web. It is like a single BitTorrent swarm, exchanging git objects. IPFS provides an interface as simple as the HTTP web, but with permanence built-in. You can also mount the world at /ipfs.

For more info see: https://docs.ipfs.io/introduction/overview/

Before opening an issue, consider using one of the following locations to ensure you are opening your thread in the right place:

telegraf

23 May 2020Last Commit8599 (1672/yr)Github Stars1042Issues

Telegraf is an agent for collecting, processing, aggregating, and writing metrics.

Design goals are to have a minimal memory footprint with a plugin system so that developers in the community can easily add support for collecting metrics.

Telegraf is plugin-driven and has the concept of 4 distinct plugin types:

New plugins are designed to be easy to contribute, pull requests are welcomed and we work to incorporate as many pull requests as possible.

You can try Telegraf right in your browser in the Telegraf playground.

filebrowser

16 Apr 2020Last Commit6778 (1442/yr)Github Stars0Issues

⚠️ WARN: This project will not be developed anymore. If you're willing to take over this project, please read #532 for more info and feel free to fork the project!

filebrowser provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files. It allows the creation of multiple users and each user can have its own directory. It can be used as a standalone app or as a middleware.

Please refer to our docs at filebrowser.xyz/features

fathom

08 May 2020Last Commit6475 (1844/yr)Github Stars40Issues

Fathom Analytics is a simpler and more privacy-focused alternative to Google Analytics.

Collecting information on the internet is important, but it’s broken. We’ve become complacent in trading information for free access to web services, and then complaining when those web services do crappy things with that data.

The problem is this: if we aren’t paying for the product, we are the product.

Google Analytics may give you free access to their services but in turn, they’re assembling data profiles on your website visitors, which they can then use for better targeting of advertisements across their network.

mailhog

12 May 2020Last Commit6438 (1055/yr)Github Stars133Issues

Inspired by MailCatcher, easier to install.

Built with Go - MailHog runs without installation on multiple platforms.

MailHog is an email testing tool for developers:

Download the latest release for your platform. Then read the deployment guide for deployment options.

Then, start MailHog by running mailhog in the command line.

Then, start MailHog by running /path/to/MailHog in the command line.

E.g. the path to Go's bin files on Ubuntu is ~/go/bin/, so to start the MailHog run:

Check out how to configure MailHog, or use the default settings:

tyk

22 May 2020Last Commit5467 (904/yr)Github Stars224Issues

Tyk is a lightweight, open source API Gateway and Management Platform enables you to control who accesses your API, when they access it and how they access it. Tyk will also record detailed analytics on how your users are interacting with your API and when things go wrong.

Go version 1.10 is required to build master, the current development version. Tyk is officially supported on linux/amd64, linux/i386 and linux/arm64.

Tests are run against both Go versions 1.10 & 1.11, however at present, only Go 1.10 is officially supported.

photoprism

23 May 2020Last Commit5341 (2298/yr)Github Stars78Issues

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.

concourse

23 May 2020Last Commit4926 (808/yr)Github Stars717Issues

Concourse is an automation system written in Go. It is most commonly used for CI/CD, and is built to scale to any kind of automation pipeline, from simple to complex.

Concourse is very opinionated about a few things: idempotency, immutability, declarative config, stateless workers, and reproducible builds.

Concourse is distributed as a single concourse binary, available on the Releases page.

If you want to just kick the tires, jump ahead to the Quick Start.

In addition to the concourse binary, there are a few other supported formats. Consult their GitHub repos for more information:

beehive

22 May 2020Last Commit4420 (747/yr)Github Stars87Issues

Beehive is an event and agent system, which allows you to create your own agents that perform automated tasks triggered by events and filters. It is modular, flexible and really easy to extend for anyone. It has modules (we call them Hives), so it can interface with, talk to, or retrieve information from Twitter, Tumblr, Email, IRC, Jabber, RSS, Jenkins, Hue - to name just a few. Check out the full list of available Hives in our Wiki.

Connecting those modules with each other lets you create immensly useful agents.

cloud-torrent

07 Apr 2020Last Commit4367 (877/yr)Github Stars130Issues

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.

See Future Features here

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

Digital Ocean

Vultr

AWS

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.

centrifugo

20 May 2020Last Commit4295 (835/yr)Github Stars9Issues

Centrifugo is a real-time messaging server. It's language-agnostic and can be used in conjunction with application backend written in any programming language. Centrifugo runs as separate service and keeps persistent Websocket or SockJS connections from your application clients (from web browsers or other environments like iOS/Android apps). When you need to deliver event to your clients in real-time you publish it to Centrifugo API and Centrifugo then broadcasts event to all connected clients interested in this event (i.e. clients subscribed on event channel). In other words – this is a user-facing PUB/SUB server.

shiori

19 May 2020Last Commit4036 (1729/yr)Github Stars60Issues

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.

listmonk

23 May 2020Last Commit3611 (3965/yr)Github Stars9Issues

listmonk is alpha software and may change and break. Use with caution. That said, it has been in active use at zerodha.com for several months where it has processed hundreds of campaigns and tens of millions of e-mails.

listmonk is a standalone, self-hosted, newsletter and mailing list manager. It is fast, feature-rich, and packed into a single binary. It uses a PostgreSQL database as its data store.

See the configuration Wiki page.

You can pull the official Docker Image from Docker Hub.

You can checkout the docker-compose.yml to get an idea of how to run listmonk with PostgreSQL together using Docker (also see configuring with environment variables).

sourcegraph

24 May 2020Last Commit3571 (752/yr)Github Stars1324Issues

Sourcegraph OSS edition is a fast, open-source, fully-featured code search and navigation engine. Enterprise editions are available.

Features

For a detailed guide to installing prerequisites, see these instructions.

Prebuilt Docker images are the fastest way to use Sourcegraph Enterprise. See the quickstart installation guide.

To use Sourcegraph OSS:

Ensure Docker is running

Initialize the PostgreSQL database

Configure the HTTPS reverse proxy

Start the development server

Sourcegraph should now be running at https://sourcegraph.test:3443.

imgproxy

19 May 2020Last Commit3472 (1187/yr)Github Stars41Issues

imgproxy is a fast and secure standalone server for resizing and converting remote images. The main principles of imgproxy are simplicity, speed, and security.

imgproxy can be used to provide a fast and secure way to replace all the image resizing code of your web application (like calling ImageMagick or GraphicsMagick, or using libraries), while also being able to resize everything on the fly, fast and easy. imgproxy is also indispensable when handling lots of image resizing, especially when images come from a remote source.

doozerd

16 Mar 2016Last Commit3182 (350/yr)Github Stars27Issues

Doozer is a highly-available, completely consistent store for small amounts of extremely important data. When the data changes, it can notify connected clients immediately (no polling), making it ideal for infrequently-updated data for which clients want real-time updates. Doozer is good for name service, database master elections, and configuration data shared between several machines. See When Should I Use It?, below, for details.

See the mailing list to discuss doozer with other users and developers.

statping

24 May 2020Last Commit3025 (1548/yr)Github Stars111Issues

Statping - Web and App Status Monitoring for Any Type of Project
View Wiki | Demo | iPhone | Android
API | Docker | EC2 | Mac | Linux | Windows

An easy to use Status Page for your websites and applications. Statping will automatically fetch the application and render a beautiful status page with tons of features for you to build an even better status page. This Status Page generator allows you to use MySQL, Postgres, or SQLite on multiple operating systems.




(dashboard login is admin, password admin)


bosun

20 May 2020Last Commit2995 (459/yr)Github Stars416Issues

Bosun is a time series alerting framework developed by Stack Exchange. Scollector is a metric collection agent. Learn more at bosun.org.

bosun and scollector are found under the cmd directory. Run go build in the corresponding directories to build each project. There's also a Makefile available for most tasks.

For a full stack with all dependencies, run docker-compose up from the docker directory. Don't forget to rebuild images and containers if you change the code:

If you only need the dependencies (Redis, OpenTSDB, HBase) and would like to run Bosun on your machine directly (e.g. to attach a debugger), you can bring up the dependencies with these three commands from the repository's root:

filestash

23 May 2020Last Commit2974 (1010/yr)Github Stars21Issues


A Dropbox-like file manager that let you manage your data anywhere it is located:
FTP • FTPS • SFTP • WebDAV • Git • S3LDAP • Mysql
CardDAV • CalDAV • Backblaze B2 • Minio
Dropbox • Google Drive

Filestash aims to solve the Dropbox problem by abstracting the storage aspect. This makes it possible to bring your own backend or create your own by implementing a simple interface. The power of that model makes it possible for non nerds to easily interact with complex systems without prior training (assuming they are familiar with Dropbox). As an example of that superpower, see our LDAP backend and the Mysql one that emulate a file system where first level folder are the databases, tables are represented as subfolders and each row is represented as a file:

functions

04 Dec 2018Last Commit2754 (703/yr)Github Stars92Issues

Welcome to IronFunctions! The open source serverless platform.

IronFunctions is an open source serverless platform, or as we like to refer to it, Functions as a Service (FaaS) platform that you can run anywhere.

Serverless is a new paradigm in computing that enables simplicity, efficiency and scalability for both developers and operators. It's important to distinguish the two, because the benefits differ:

The main benefits that most people refer to are on the developer side and they include:

Since you'll be running IronFunctions yourself, the paying part may not apply, but it does apply to cost savings on your infrastructure bills as you'll read below.

krakend

19 May 2020Last Commit2697 (759/yr)Github Stars31Issues

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.

magnetico

16 Apr 2020Last Commit2236 (694/yr)Github Stars63Issues

Autonomous (self-hosted) BitTorrent DHT search engine suite.

   

magnetico is the first autonomous (self-hosted) BitTorrent DHT search engine suite that is designed for end-users. The suite consists of two packages:

Both programs, combined together, allows anyone with a decent Internet connection to access the vast amount of torrents waiting to be discovered within the BitTorrent DHT space, without relying on any central entity.

magnetico liberates BitTorrent from the yoke of centralised trackers & web-sites and makes it truly decentralised. Finally!

itsabot

04 Nov 2016Last Commit2172 (509/yr)Github Stars10Issues

Getting Started | Contributing | Mailing List

Note: This project is no longer supported, as I no longer have the time to maintain it.

Abot (pronounced Eh-Bot, like the Canadians) is a digital assistant framework that enables anyone to easily build a digital assistant similar to Apple's Siri, Microsoft's Cortana, Google Now, or Amazon Alexa. Further, Abot supports a human-aided training backend enabling anyone to build services like Facebook M.

Unlike those proprietary systems, Abot is open-sourced and extensible. By providing an extensible platform onto which anyone can easily add functionality, Abot is the first A.I. framework that aims to be available everywhere and— ultimately—to do everything.

sup

22 Feb 2020Last Commit2164 (412/yr)Github Stars55Issues

Stack Up is a simple deployment tool that performs given set of commands on multiple hosts in parallel. It reads Supfile, a YAML configuration file, which defines networks (groups of hosts), commands and targets.

Note: Demo is based on this example Supfile.

A group of hosts.

$ sup production COMMAND will run COMMAND on api1, api2 and api3 hosts in parallel.

A shell command(s) to be run remotely.

$ sup staging restart will restart all staging Docker containers in parallel.

$ sup production tail-logs will tail Docker logs from all production containers in parallel.

1backend

26 Dec 2019Last Commit1927 (762/yr)Github Stars4Issues

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

23 May 2020Last Commit1864 (743/yr)Github Stars99Issues

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:

rtop

13 Feb 2019Last Commit1862 (369/yr)Github Stars20Issues

rtop is a remote system monitor. It connects over SSH to a remote system and displays vital system metrics (CPU, disk, memory, network). No special software is needed on the remote system, other than an SSH server and working credentials.

Only Linux systems can be monitored, and most modern distros will work.

rtop is MIT-licensed and can be used anywhere with attribution.

rtop's home page has more information and screenshots!

rtop is written in go, and requires Go version 1.2 or higher. To build, go get it:

rudder-server

23 May 2020Last Commit1777 (2100/yr)Github Stars34Issues

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).

dnote

23 May 2020Last Commit1719 (546/yr)Github Stars44Issues

Dnote is a simple command line notebook for programmers.

It keeps you focused by providing a way of effortlessly capturing and retrieving information without leaving your terminal. It also offers a seamless multi-device sync and a web interface.

On macOS, you can install using Homebrew:

On Linux or macOS, you can use the installation script:

Otherwise, you can download the binary for your platform manually from the releases page.

The quickest way to experience the Dnote server is to use Dnote Cloud.

Or you can install it on your server by using Docker, or using a binary.

koding

22 Jan 2020Last Commit1668 (283/yr)Github Stars249Issues

The Simplest Way to Manage Your Entire Dev Infrastructure!

Koding is a development platform that orchestrates your dev environment. Developers get everything they need to spin up full-stack, project-specific environments in seconds. Share them, update them, and manage infrastructure from a simple interface.

You can try Koding now on koding.com

Easiest way to run Koding is to install docker-compose which can be found here. For the rest you can follow these steps:

Now you are able to access Koding via port 8090 (e.g. localhost:8090) on your host.

selenoid

20 May 2020Last Commit1599 (426/yr)Github Stars75Issues

Selenoid is a powerful implementation of Selenium hub using Docker containers to launch browsers.

Start browser automation in minutes by copy-pasting just one command:

That's it! You can now use Selenoid instead of Selenium server. Specify the following Selenium URL in tests:

No need to manually install browsers or dive into WebDriver documentation. Available images:

New images are added right after official releases. You can create your custom images with browsers.

New rich user interface showing browser screen and Selenium session logs:

remark42

24 May 2020Last Commit1532 (631/yr)Github Stars53Issues

Remark42 is a self-hosted, lightweight, and simple (yet functional) comment engine, which doesn't spy on users. It can be embedded into blogs, articles or any other place where readers add comments.

Demo site available with all authentication methods, including email auth and anonymous access.

Comments example:

For admin screenshots see Admin UI wiki

this is the recommended way to run remark42

Following list of command-line options is deprecated and will be removed in 2 minor releases or 1 major release (whichever is closer) from the version in which they were deprecated. After remark42 version update, please check startup log once for deprecation warnings to avoid trouble with unrecognized command-line options in the future.

writefreely

15 May 2020Last Commit1511 (481/yr)Github Stars43Issues

 

WriteFreely is free and open source software for building a writing space on the web — whether a publication, internal blog, or writing community in the fediverse.

Try the writing experience

Find an instance

Built on a plain, auto-saving editor, WriteFreely gives you a distraction-free writing environment. Once published, your words are front and center, and easy to read.

Start writing together, publicly or privately. Connect with other communities, whether running WriteFreely, Plume, or other ActivityPub-powered software. And bring members on board from your existing platforms, thanks to our OAuth 2.0 support.

fx

22 May 2020Last Commit1437 (555/yr)Github Stars52Issues

Poor man's function as a service.

fx is a tool to help you do Function as a Service on your own server, fx can make your stateless function a service in seconds, both Docker host and Kubernetes cluster supported. The most exciting thing is that you can write your functions with most programming languages.

Feel free hacking fx to support the languages not listed. Welcome to tweet me @_metrue on Twitter, @metrue on Weibo.

Binaries are available for Windows, MacOS and Linux/Unix on x86. For other architectures and platforms, follow instructions to build fx from source.

fider

04 May 2020Last Commit1160 (346/yr)Github Stars37Issues

This project exists thanks to all the people who contribute.

Read our CONTRIBUTING guide to learn the many ways you can contribute to Fider.

Thanks to BrowserStack for providing us with free cross-browser testing for Fider.

Does your organization use Fider? Become a sponsor and your logo will show up here with a link to your website.

Thank you to all our backers! 🙏

community

21 May 2020Last Commit1074 (264/yr)Github Stars44Issues

Documize is an open source modern, lightweight and comprehensive alternative to Confluence and other such solutions.

It's built with Golang + EmberJS and compiled down to a single executable binary for Linux, Windows and macOS.

All you need to provide is PostgreSQL, Microsoft SQL Server or any MySQL variant.

Community Edition: v3.8.0

Enterprise Edition: v3.8.0

We provide frequent product updates for both cloud and self-hosted customers.

Harvey Kandola, CEO/Founder @ Documize

For all database types, Full-Text Search support (FTS) is mandatory.

sish

23 May 2020Last Commit1001 (787/yr)Github Stars3Issues

An open source serveo/ngrok alternative.

Builds are made automatically on Google Cloud Build and Dockerhub. Feel free to either use the automated binaries or to build your own. If you submit a PR and would like access to Google Cloud Build's output (including pre-made PR binaries), feel free to let me know.

Pull the Docker image

Run the image

SSH to your host to communicate with sish

You can also use Docker Compose to setup your sish instance. This includes taking care of SSL via Let's Encrypt for you. This uses the adferrand/docker-letsencrypt-dns container to handle issuing wildcard certifications over DNS. For more information on how to use this, head to that link above. Generally, you can deploy your service like so:

goatcounter

24 May 2020Last Commit900 (910/yr)Github Stars37Issues

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).

openbazaar-go

21 May 2020Last Commit867 (210/yr)Github Stars293Issues

OpenBazaar Server Daemon in Go

This repository contains the OpenBazaar server daemon which handles the heavy lifting for the OpenBazaar desktop application. The server combines several technologies: A modified IPFS node, which itself combines ideas from Git, BitTorrent, and Kademlia. A lightweight wallet for interacting with several cryptocurrency networks. And a JSON API which can be used by a user interface to control the node and browse the network. Find the user interface for the server at github.com/OpenBazaar/openbazaar-desktop.

linx-server

14 May 2020Last Commit793 (170/yr)Github Stars25Issues

Self-hosted file/media sharing website.

You can see what it looks like using the demo: https://demo.linx-server.net/

Example running

Example with docker-compose

Ideally, you would use a reverse proxy such as nginx or caddy to handle TLS certificates.

All configuration options are accepted either as arguments or can be placed in a file as such (see example file linx-server.conf.example in repo):

...and then run linx-server -config path/to/linx-server.conf

When files expire, access is disabled immediately, but the files and metadata will persist on disk until someone attempts to access them. You can set the following option to run cleanup every few minutes. This can also be done using a separate utility found the linx-cleanup directory.

cowyo

14 May 2020Last Commit645 (150/yr)Github Stars30Issues


A feature-rich wiki for minimalists

cowyo is a self-contained wiki server that makes jotting notes easy and fast. The most important feature here is simplicity. Other features include versioning, page locking, self-destructing messages, encryption, and listifying. You can download cowyo as a single executable or install it with Go. Try it out at https://cowyo.com.

There is now a command-line tool, cowyodel to interact with cowyo and transfer information between computers with only a code phrase: schollz/cowyodel.

dispatch

23 May 2020Last Commit549 (103/yr)Github Stars8Issues

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

11 Apr 2020Last Commit507 (100/yr)Github Stars19Issues

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

30 Oct 2019Last Commit469 (104/yr)Github Stars7Issues

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.

geekmarks

07 Jan 2020Last Commit459 (140/yr)Github Stars8Issues

So I wrote a new bookmarking service. We already have a lot of those, so why bother writing another one? Good question.

In short, I want my bookmarking service:

I tried a lot of existing bookmarking services, and I wasn't satisfied by any of them, for a variety of reasons.

Let me elaborate on the organization part first. The simplest way to organize bookmarks is to introduce folders to group them. This still poses a well-known problem though: some bookmarks can logically belong to multiple folders. In order to address this issue, some services use tags: now we can tag a bookmark with more than one tag. So far so good.

orangeforum

18 May 2020Last Commit366 (122/yr)Github Stars9Issues

Note: Orange Forum 2.0 is work in progress. Please see orangeforum-1.x.x branch for the latest stable version.

Orange Forum is an easy to deploy forum that has minimal dependencies and uses very little javascript. It is written is golang and a compiled binary is available for linux. Try the latest version hosted here. Please contact info@goodoldweb.com if you have any questions or want support.

By default, sqlite is used, so it's easy to get started. Download the binary and migrate the database with:

satellity

18 May 2020Last Commit338 (184/yr)Github Stars16Issues

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.

weaviate

19 May 2020Last Commit314 (76/yr)Github Stars53Issues

tania-core

30 Apr 2020Last Commit314 (129/yr)Github Stars15Issues

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.)

tube

12 Apr 2020Last Commit275 (1565/yr)Github Stars12Issues

tube is a Youtube-like (without censorship and features you don't need!) Video Sharing App written in Go which also supports automatic transcoding to MP4 H.265 AAC, multiple collections and RSS feed.

Open http://127.0.0.1:8000/ in your Browser!

Open http://127.0.0.1:8000/ in your Browser!

Open http://DOCKER_MACHINE_IP:8000/ in your Browser!

Where DOCKER_MACHINE_IP is the IP Address of your Docker Node.

Open http://127.0.0.1:8000/ in your Browser!

A Production Deployment can be found at https://tube.mills.io/ -- This is run and managed via a Docker Swarm cluster with a Docker-Compose / Stack very similiar to the one you can find in the repo: docker-compose.yml

gossa

17 Apr 2020Last Commit274 (161/yr)Github Stars10Issues

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.

bblfshd

06 Nov 2019Last Commit271 (83/yr)Github Stars30Issues

This repository contains bblfsh daemon (bblfshd), which includes the runtime that runs the driver in containers and the bblfshctl, a cli tool used to control the installed drivers and query the status of the daemon.

Drivers are implemented as Docker images, each having their own repository in the bblfsh organization on GitHub. For more information, see bblfsh SDK documentation.

See the Getting Started guide.

This project is now part of source{d} Engine, which provides the simplest way to get started with a single command. Visit sourced.tech/engine for more information.

sup3rs3cretmes5age

15 May 2020Last Commit262 (96/yr)Github Stars8Issues

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)

notehub

16 Feb 2018Last Commit259 (33/yr)Github Stars1Issues

"Make every detail perfect and limit the number of details to perfect."
Jack Dorsey

Dead simple hosting for markdown notes.

shield

20 May 2020Last Commit248 (54/yr)Github Stars33Issues

Questions? Join us in Slack!

SHIELD is a data protection solution designed to make it easier for operations to protect their critical infrastructural data. It provides primitives for scheduling automatic backups of key systems, including PostgreSQL, MySQL, Consul, Redis and MongoDB, as well as a means for restoring backups in the event of an outage. Backups can be stored in a variety of cloud providers, including S3, Scality, Microsoft Azure Blobstore, and more.

The easiest way to get up and running with SHIELD is to deploy it via [BOSH][bosh], using the [SHIELD Bosh Release][shield-bosh].

spruce

09 May 2020Last Commit237 (49/yr)Github Stars27Issues

( We'll be in #spruce)

spruce is a general purpose YAML & JSON merging tool.

It is designed to be an intuitive utility for merging YAML/JSON templates together to generate complicated YAML/JSON config files in a repeatable fashion. It can be used to stitch together some generic/top level definitions for the config and pull in overrides for site-specific configurations to DRY your configs up as much as possible.

spruce is available via Homebrew, just brew tap starkandwayne/cf; brew install spruce

Alternatively, you can download a prebuilt binaries for 64-bit Linux, or Mac OS X

cherry

24 Jun 2017Last Commit221 (48/yr)Github Stars0Issues

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.

navidrome

23 May 2020Last Commit199 (47/yr)Github Stars69Issues

Navidrome is an open source web-based music collection server and streamer. It gives you freedom to listen to your music collection from any browser or mobile device. It's like your personal Spotify!

Any feedback is welcome! If you need/want a new feature, find a bug or think of any way to improve Navidrome, please fill a GitHub issue or join the discussion in our Subreddit. If you want to contribute to the project in any other way (ui/backend dev, translations, themes), please join the chat in our Discord server.

gonic

23 May 2020Last Commit182 (158/yr)Github Stars16Issues

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

02 Feb 2020Last Commit172 (51/yr)Github Stars3Issues

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:

s3server

24 Mar 2020Last Commit149 (32/yr)Github Stars1Issues

Static server for s3 or gcs files.

Table of Contents

For installation instructions from binaries please visit the Releases Page.

run with the docker image

lazlo

06 Jun 2016Last Commit141 (27/yr)Github Stars3Issues

The prototypical IRC bot responds to text. Generally, the pattern is you provide a regex to match on, and some code to run when someone says something in chat that matches your regular expression. Your plugin runs when a pattern match happens, and then returns.

Your Lazlo module, by comparison is started at runtime and stays resident in memory. Outwardly, Lazlo acts like a bot, but internally Lazlo works as an event broker. Your module registers for callbacks -- you can tell Lazlo what sorts of events your module finds interesting. For each callback your module registers, Lazlo will hand back a channel. Your module can block on the channel, waiting for something to happen, or it can register more callbacks (as many as you have memory for), and select between them in a loop. Throughout its lifetime, your Module can de-register the callbacks it doesn't need anymore, and ask for new ones as circumstances demand.

robustirc

31 Jan 2020Last Commit134 (25/yr)Github Stars8Issues

Please see http://robustirc.net/docs.html for documentation.

corteza-server

21 May 2020Last Commit116 (115/yr)Github Stars42Issues

Corteza brings your user ecosystem and essential applications together on one platform, unifying them via CRM, Team Messaging and Advanced Identity and Access Management.

Corteza CRM Corteza CRM is the highly flexible, scalable and open source Salesforce alternative, that enables your team to sell faster. It provides a 360 degree view of your customers, enabling you to service your prospects better and detect new opportunities.

Corteza Messaging Corteza Messaging is the secure, high performance, open source Slack alternative that allows your teams to collaborate more efficiently, as well as communicate safely with other organisations or customers.

hapttic

27 Feb 2019Last Commit111 (38/yr)Github Stars0Issues

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

03 May 2020Last Commit100 (16/yr)Github Stars1Issues

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

gosora

23 May 2020Last Commit99 (28/yr)Github Stars47Issues

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.

capsulecd

24 Nov 2019Last Commit86 (18/yr)Github Stars34Issues

CapsuleCD is a generic Continuous Delivery pipeline for versioned artifacts and libraries written in any language. Its goal is to bring automation to the packaging and deployment stage of your library release cycle. CapsuleCD is incredibly flexible, and works best when implemented side-by-side with a CI pipeline.

A short list of the features...

CapsuleCD is a generic Continuous Delivery pipeline for versioned artifacts and libraries written in any language. It's goal is to bring automation to the packaging and deployment stage of your library release cycle. It automates away all the common steps required when creating a new version of your library.

photoview

18 May 2020Last Commit82 (93/yr)Github Stars8Issues

Photoview is a simple and user-friendly photo gallery that can easily be installed on personal servers. It's made for photographers and aims to provide an easy and fast way to navigate directories, with thousands of high resolution photos.

Visit https://photos.qpqp.dk/

Username: demo Password: demo

There exists a lot of open-source self-hosted photo galleries already. Here are some, just to mention a few.

So why another one? I love taking photos, and I store all of them on my local fileserver. This is great because I can organize my photos directly on the filesystem so it's easy to move them or take backups. I want to be able to control where and how the photos are stored.

wiki

09 Feb 2020Last Commit68 (24/yr)Github Stars4Issues

wiki is a self-hosted well uh wiki engine or content management system that lets you create and share content in Markdown format.

Run wiki:

Visit: http://localhost:8000/

Start creating/editing content!

By default wiki pages are stored in ./data in the local directory. This can be changed by supplying the -data /path/to/data option.

MIT

shorturl

20 Nov 2019Last Commit65 (22/yr)Github Stars9Issues

shorturl is a web app that allows you to create short urls of much longer more complex urls for easier sharing or embedding.

Due to the necessity of the way assets are handled if you are building/installing from source and intend to run outside of the source tree you need to do something like this:

Run shorturl:

Then visit: http://localhost:8000/

By default shorturl stores urls in urls.db in the local directory. This can be configured with the -dbpath /path/to/urls.db option.

shorturl also displays an absolute url after creating and uses the value of -baseurl (default: "") for display purposes. This is useful for copying and pasting the shorturl.

wakapi

23 May 2020Last Commit51 (51/yr)Github Stars6Issues

A minimalist, self-hosted WakaTime-compatible backend for coding statistics

If you like this project, please consider supporting it 🙂. You can donate either through buying me a coffee or becoming a GitHub sponor. Every little donation is highly appreciated and boosts the developers' motivation to keep improving Wakapi!

On the server side:

On your local machine:

As an alternative to building from source or using go get you can also download one of the existing pre-compiled binaries.

To get your API key, take a look into the logs docker logs wakapi | grep "API key"

todo

24 Oct 2019Last Commit41 (14/yr)Github Stars7Issues

todo is a self-hosted todo web app that lets you keep track of your todos in a easy and minimal way. 📝

You can also use the Todo Docker Image:

There is also a public demo instance avilable at: https://todo.mills.io

Run todo:

Then visit: http://localhost:8000/

By default todo stores todos in todo.db in the local directory.

This can be configured with the -dbpath /path/to/todo.db option.

MIT Icon made by Smashicons from flaticon.com

pastebin

11 Jul 2019Last Commit41 (14/yr)Github Stars3Issues

pastebin is a self-hosted pastebin web app that lets you create and share "ephemeral" data between devices and users. There is a configurable expiry (TTL) afterwhich the paste expires and is purged. There is also a handy CLI for interacting with the service in a easy way or you can also use curl!

Run pastebin:

Create a paste:

Or use the Web UI: http://localhost:8000/

Or curl:

There is also an included command line utility for convenience:

When running the pastebin server there are a few default options you might want to tweak:

ots

11 May 2020Last Commit41 (15/yr)Github Stars2Issues

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:

kis3

05 May 2020Last Commit34 (30/yr)Github Stars3Issues

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.

trello-burndown

10 Jun 2019Last Commit32 (9/yr)Github Stars2Issues

An easy to use SCRUM burndown chart for Trello boards.

Get quickly up and runnning with the docker image or binary.

Or compile the binary or docker image from source.

Create a new directory to store the configuration and SQLite3 database.

Create a file named config.yaml in the same directory, copy the contents from the default here.

Edit the configuration file with your favorite editor and set the developer api key and generated token you wrote down earlier.

Run it! (Check docker hub for available versions)

beauties

14 Jun 2019Last Commit23 (7/yr)Github Stars0Issues

Beauties is just a random name picked by @goberghen at 1493325888.

It refers to a beauty of the Internet, which allows us to share information.

Beauties server index page

For now /usr/bin/dh_systemd_enable must be patched with misc/dh_systemd_update.patch to build package properly. There is a bug #841746 with the original patch to address this problem.

socks5engine

13 May 2019Last Commit13 (8/yr)Github Stars0Issues

A highly-customizable lightweight SOCKS5-server supporting RADIUS, Redis, subnet whitelisting and blacklisting, session counting.

For SOCKS5 protocol specification, consult https://www.ietf.org/rfc/rfc1928.txt.
For details on username/password SOCKS5 authentication, consult https://tools.ietf.org/html/rfc1929.

This version of VPE supports username/password authentication (METHOD 02) and no authentication (METHOD 01).
It supports CONNECT and UDP ASSOCIATE (fragmentation is not implemented) requests.

rcon-cli

20 Aug 2019Last Commit8 (10/yr)Github Stars1Issues

CLI for executing queries on a remote Source dedicated game server, using the RCON protocol.

Open pull request if you have successfully used a package with another game with rcon support and add it to the list.

Download the binary for your platform from the latest releases

See Changelog for release details

Rcon CLI can be run in two modes - in the mode of a single query and in the mode of reading the input stream

Server address, password and command to server must be specified in flags at startup. Example: