Bark is an iOS App which allows you to push customed notifications to your iPhone.
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://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
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.
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
Just run the server with -dsn=user:pass@tcp(mysql_host)/bark
, it will use MySQL instead of file database Bbolt
Please read API_V2.md.
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)
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.