{"id":13481793,"url":"https://github.com/Finb/bark-server","last_synced_at":"2025-03-27T12:31:32.776Z","repository":{"id":37827032,"uuid":"138722610","full_name":"Finb/bark-server","owner":"Finb","description":"Backend of Bark","archived":false,"fork":false,"pushed_at":"2025-03-24T07:17:10.000Z","size":515,"stargazers_count":2768,"open_issues_count":1,"forks_count":440,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-03-26T17:10:00.579Z","etag":null,"topics":["push-notifications","self-hosted","tools"],"latest_commit_sha":null,"homepage":"https://bark.day.app","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Finb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["Finb"]}},"created_at":"2018-06-26T10:29:28.000Z","updated_at":"2025-03-26T04:46:42.000Z","dependencies_parsed_at":"2023-02-19T06:30:23.674Z","dependency_job_id":"e40f8d11-2edc-4ead-843a-1a43dcd3ae4d","html_url":"https://github.com/Finb/bark-server","commit_stats":{"total_commits":243,"total_committers":11,"mean_commits":22.09090909090909,"dds":0.6378600823045267,"last_synced_commit":"dbfb65f0999a0c8be6b3522f088378ea9e894db6"},"previous_names":["finb/go-tools"],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Finb%2Fbark-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Finb%2Fbark-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Finb%2Fbark-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Finb%2Fbark-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Finb","download_url":"https://codeload.github.com/Finb/bark-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245844998,"owners_count":20681814,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["push-notifications","self-hosted","tools"],"created_at":"2024-07-31T17:00:55.765Z","updated_at":"2025-03-27T12:31:32.739Z","avatar_url":"https://github.com/Finb.png","language":"Go","funding_links":["https://github.com/sponsors/Finb"],"categories":["Go"],"sub_categories":[],"readme":"# Bark\n\n\u003cimg src=\"https://wx3.sinaimg.cn/mw690/0060lm7Tly1g0nfnjjxbbj30sg0sg757.jpg\" width=200px height=200px /\u003e\n\n[Bark](https://github.com/Finb/Bark) is an iOS App which allows you to push customed notifications to your iPhone.\n\n\n## Table of Contents\n\n   * [Bark](#bark)\n      * [Installation](#installation)\n         * [For Docker User](#for-docker-user)\n         * [For General User](#for-general-user)\n         * [For Developer](#for-developer)\n         * [Nginx Proxy](#nginx-proxy)\n      * [API V2](#api-v2)\n      * [Other](#other)\n         * [中文](#中文)\n         * [Markdown Support](#markdown-support)         \n      * [Contributing to bark-server](#contributing-to-bark-server)\n         * [Development environment](#development-environment)\n      * [Update](#update)\n\n\n## Installation\n\n### For Docker User\n\n![Docker Automated build](https://img.shields.io/docker/automated/finab/bark-server.svg) ![Image Size](https://img.shields.io/docker/image-size/finab/bark-server?sort=date) ![License](https://img.shields.io/github/license/finb/bark-server)\n\nThe docker image is already available, you can use the following command to run the bark server:\n\n``` sh\ndocker run -dt --name bark -p 8080:8080 -v `pwd`/bark-data:/data finab/bark-server\n```\n\nIf you use the docker-compose tool, you can copy docker-copose.yaml under this project to any directory and run it:\n\n``` sh\nmkdir bark-server \u0026\u0026 cd bark-server\ncurl -sL https://github.com/Finb/bark-server/raw/master/deploy/docker-compose.yaml \u003e docker-compose.yaml\ndocker compose up -d\n```\n\n### For General User \n\n- 1、Download precompiled binaries from the [releases](https://github.com/Finb/bark-server/releases) page\n- 2、Add executable permissions to the bark-server binary: `chmod +x bark-server`\n- 3、Start bark-server: `./bark-server --addr 0.0.0.0:8080 --data ./bark-data`\n- 4、Test the server: `curl localhost:8080/ping`\n\n**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.**\n\n### For Developer\n\nDevelopers can compile this project by themselves, and the dependencies required for compilation:\n\n- Golang 1.18+\n- Go Mod Enabled(env `GO111MODULE=on`)\n- Go Mod Proxy Enabled(env `GOPROXY=https://goproxy.cn`)\n- [go-task](https://taskfile.dev/installation/) Installed\n\nRun the following command to compile this project:\n\n```sh\n# Cross compile all platforms\ntask\n\n# Compile the specified platform (please refer to Taskfile.yaml)\ntask linux_amd64\ntask linux_amd64_v3\n```\n\n**Note: The linux amd64 v3 architecture was added in go 1.18, see [https://github.com/golang/go/wiki/MinimumRequirements#amd64](https://github.com/golang/go/wiki/MinimumRequirements#amd64)**\n\n### Nginx Proxy\n\nMost users want to deploy the bark server on the intranet server, and then use Nginx to reverse proxy the bark server;\nhere is a simple Nginx configuration example (we assume that the bark server is listening at `192.168.1.123:8080`)\n\n```sh\n# generated 2020-03-26, Mozilla Guideline v5.4, nginx 1.17.7, OpenSSL 1.1.1d, modern configuration\n# https://ssl-config.mozilla.org/#server=nginx\u0026version=1.17.7\u0026config=modern\u0026openssl=1.1.1d\u0026guideline=5.4\nserver {\n    listen 80;\n    listen [::]:80;\n    # Replace bark.app.dev with your real domain name.\n    server_name bark.app.dev;\n\n    return 301 https://$host$request_uri;\n}\n\nserver {\n    listen 443 ssl http2;\n    listen [::]:443 ssl http2;\n    # Replace bark.app.dev with your real domain name.\n    server_name bark.app.dev;\n\n    ssl_certificate /path/to/signed_cert_plus_intermediates;\n    ssl_certificate_key /path/to/private_key;\n    ssl_session_timeout 1d;\n    ssl_session_cache shared:MozSSL:10m;  # about 40000 sessions\n    ssl_session_tickets off;\n\n    # modern configuration\n    ssl_protocols TLSv1.3;\n    ssl_prefer_server_ciphers off;\n\n    # HSTS (ngx_http_headers_module is required) (63072000 seconds)\n    add_header Strict-Transport-Security \"max-age=63072000\" always;\n\n    # OCSP stapling\n    ssl_stapling on;\n    ssl_stapling_verify on;\n\n    # verify chain of trust of OCSP response using Root CA and Intermediate certs\n    ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;\n\n    # replace with the IP address of your resolver\n    #resolver 127.0.0.1;\n\n    location / {\n\n        log_not_found on;\n        # Replace http://192.168.1.123:8080 with the listening address of the bark server.\n        proxy_pass http://192.168.1.123:8080;\n\n        proxy_read_timeout 300;\n        proxy_connect_timeout 300;\n        proxy_redirect off;\n\n        proxy_set_header Host              $host;\n        proxy_set_header X-Forwarded-Proto $scheme;\n        proxy_set_header X-Real-IP         $remote_addr;\n\n    }\n}\n```\n\n### Use MySQL instead of Bbolt\n\nJust run the server with `-dsn=user:pass@tcp(mysql_host)/bark`, it will use MySQL instead of file database Bbolt\n\n## API V2\n\nPlease read [API_V2.md](docs/API_V2.md).\n\n## Other\n\n### 中文\n\n- [https://day.app/2018/06/bark-server-document](https://day.app/2018/06/bark-server-document)\n\n### Markdown support:\n\n- [https://github.com/adams549659584/bark-server](https://github.com/adams549659584/bark-server)\n\n## Contributing to bark-server\n\n### Development environment\n\nThis project requires at least the golang 1.12 version to compile and requires Go mod support.\n\n- Golang 1.16\n- GoLand 2020.3 or other Go IDE\n- Docker(Optional)\n\n## Update \n\nNow 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFinb%2Fbark-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFinb%2Fbark-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFinb%2Fbark-server/lists"}