Bark is an iOS App which allows you to push customed notifications to your iPhone.
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.
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-serverYou 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-serverIf 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- 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
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.
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_v3Note: The linux amd64 v3 architecture was added in go 1.18, see https://github.com/golang/go/wiki/MinimumRequirements#amd64
Just run the server with -dsn=user:pass@tcp(mysql_host)/bark, it will use MySQL instead of file database Bbolt
