Skip to content

htnanako/bark-server

 
 

Repository files navigation

Bark

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

This Fork

This fork adds support for registering and serving a macOS Bark client while keeping compatibility with the original iOS Bark client.

If you want to use the macOS client with this forked server, see htnanako/bark-macOS.

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

You can also use the GitHub Container Registry image:

docker run -dt --name bark -p 8080:8080 -v `pwd`/bark-data:/data ghcr.io/finb/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://github.com/Finb/bark-server/raw/master/deploy/docker-compose.yaml > 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

Extra APNs Providers

bark-server always includes the legacy iOS Bark provider. To add extra apps such as a macOS client, pass --providers-config /path/to/providers.yaml.

See docs/providers.example.yaml for the config format.

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.

Note: serverless / env mode only supports the legacy single-device iOS behavior and does not load extra providers.

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

Use MySQL instead of Bbolt

Just run the server with -dsn=user:pass@tcp(mysql_host)/bark, it will use MySQL instead of file database Bbolt

Others

About

Backend of Bark

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Go 96.5%
  • Go Template 1.8%
  • Dockerfile 1.3%
  • Other 0.4%