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.
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 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
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 (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 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 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.
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.
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.
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 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 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 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.
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 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™ 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 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 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 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.
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 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 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 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:
Initialize the PostgreSQL database
Configure the HTTPS reverse proxy
Start the development server
Sourcegraph should now be running at https://sourcegraph.test:3443.
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.
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 - 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 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:
A Dropbox-like file manager that let you manage your data anywhere it is located:
FTP • FTPS • SFTP • WebDAV • Git • S3 • LDAP • 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:
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.
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.
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!
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.
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 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:
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:
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 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.
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 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 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 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.
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.
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.
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!
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.
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.
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 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 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.
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.
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.
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.
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.
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 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.)
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
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.
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.
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)
"Make every detail perfect and limit the number of details to perfect."
— Jack Dorsey
Dead simple hosting for markdown notes.
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].
( 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
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 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.
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:
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
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.
Please see http://robustirc.net/docs.html for documentation.
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 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.
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 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 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 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.
A minimalist, self-hosted WakaTime-compatible backend for coding statistics
If you like this project, please consider supporting it
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 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 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
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.
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 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.
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.
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: