Bark Server

Alternatives To Bark Server
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Rocket.chat35,065
15 hours ago5August 18, 20223,510otherTypeScript
The communications platform that puts data protection first.
Appwrite29,984
21 hours ago49September 14, 2022655bsd-3-clauseTypeScript
Secure Backend Server for Web, Mobile & Flutter Developers 🚀 AKA the 100% open-source Firebase alternative.
Hydra13,878821 hours ago1May 08, 201975apache-2.0Go
OpenID Certified™ OpenID Connect and OAuth Provider written in Go - cloud native, security-first, open source API security for your infrastructure. SDKs for any language. Works with Hardware Security Modules. Compatible with MITREid.
Prefect11,55217018 hours ago162July 05, 2022708apache-2.0Python
The easiest way to orchestrate and observe your data pipelines
Caprover10,121
9 days ago100otherTypeScript
Scalable PaaS (automated Docker+nginx) - aka Heroku on Steroids
Rap2 Delos7,400
5 months ago73mitTypeScript
阿里妈妈前端团队出品的开源接口管理工具RAP第二代
Jupyterhub7,1072551152 days ago66June 06, 2022183otherPython
Multi-user server for Jupyter notebooks
Nakama6,94112 days ago72November 28, 2020102apache-2.0Go
Distributed server for social and realtime games and apps.
Dockercraft6,300
2 years agoJuly 12, 202218apache-2.0Lua
Docker + Minecraft = Dockercraft
Heimdall5,678
14 days ago23mitPHP
An Application dashboard and launcher
Alternatives To Bark Server
Select To Compare


Alternative Project Comparisons
Readme

Bark

Bark is an iOS App which allows you to push customed notifications to your iPhone.

Table of Contents

Installation

For Docker User

Docker Automated build Image Size License

The docker image is already available, you can use the following command to run the bark server:

docker run -dt --name bark -p 8080:8080 -v `pwd`/bark-data:/data finab/bark-server

If you use the docker-compose tool, you can copy docker-copose.yaml under this project to any directory and run it:

mkdir bark-server && cd bark-server
curl -sL https://git.io/JvSRl > docker-compose.yaml
docker-compose up -d

For General User

  • 1、Download precompiled binaries from the releases page
  • 2、Add executable permissions to the bark-server binary: chmod +x bark-server
  • 3、Start bark-server: ./bark-server --addr 0.0.0.0:8080 --data ./bark-data
  • 4、Test the server: curl localhost:8080/ping

Note: Bark-server uses the /data directory to store data by default. Make sure that bark-server has permission to write to the /data directory, otherwise use the -d option to change the directory.

For Developer

Developers can compile this project by themselves, and the dependencies required for compilation:

  • Golang 1.18+
  • Go Mod Enabled(env GO111MODULE=on)
  • Go Mod Proxy Enabled(env GOPROXY=https://goproxy.cn)
  • go-task Installed

Run the following command to compile this project:

# Cross compile all platforms
task

# Compile the specified platform (please refer to Taskfile.yaml)
task linux_amd64
task linux_amd64_v3

Note: The linux amd64 v3 architecture was added in go 1.18, see https://github.com/golang/go/wiki/MinimumRequirements#amd64

Nginx Proxy

Most users want to deploy the bark server on the intranet server, and then use Nginx to reverse proxy the bark server; here is a simple Nginx configuration example (we assume that the bark server is listening at 192.168.1.123:8080)

# generated 2020-03-26, Mozilla Guideline v5.4, nginx 1.17.7, OpenSSL 1.1.1d, modern configuration
# https://ssl-config.mozilla.org/#server=nginx&version=1.17.7&config=modern&openssl=1.1.1d&guideline=5.4
server {
    listen 80;
    listen [::]:80;
    # Replace bark.app.dev with your real domain name.
    server_name bark.app.dev;

    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    # Replace bark.app.dev with your real domain name.
    server_name bark.app.dev;

    ssl_certificate /path/to/signed_cert_plus_intermediates;
    ssl_certificate_key /path/to/private_key;
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;  # about 40000 sessions
    ssl_session_tickets off;

    # modern configuration
    ssl_protocols TLSv1.3;
    ssl_prefer_server_ciphers off;

    # HSTS (ngx_http_headers_module is required) (63072000 seconds)
    add_header Strict-Transport-Security "max-age=63072000" always;

    # OCSP stapling
    ssl_stapling on;
    ssl_stapling_verify on;

    # verify chain of trust of OCSP response using Root CA and Intermediate certs
    ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;

    # replace with the IP address of your resolver
    #resolver 127.0.0.1;

    location / {

        log_not_found on;
        # Replace http://192.168.1.123:8080 with the listening address of the bark server.
        proxy_pass http://192.168.1.123:8080;

        proxy_read_timeout 300;
        proxy_connect_timeout 300;
        proxy_redirect off;

        proxy_set_header Host              $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP         $remote_addr;

    }
}

Use MySQL instead of Bbolt

Just run the server with -dsn=user:[email protected](mysql_host)/bark, it will use MySQL instead of file database Bbolt

API V2

Please read API_V2.md.

Other

中文:

Markdown support:

Contributing to bark-server

Development environment

This project requires at least the golang 1.12 version to compile and requires Go mod support.

  • Golang 1.16
  • GoLand 2020.3 or other Go IDE
  • Docker(Optional)

Update

Now the push certificate embedded in the program will never expire. You only need to update the program if the push fails due to the expired certificate.

Popular Docker Projects
Popular Server Projects
Popular Virtualization Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Golang
Docker
Server
Proxy
Nginx
Mod