diff --git a/.gitignore b/.gitignore
index 394af23..7ce1b07 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,7 @@
.env
dist
docker-compose-dev.yml
+!.goreleaser.yaml
!.github
!/.gitignore
!/.dockerignore
diff --git a/.goreleaser.yaml b/.goreleaser.yaml
new file mode 100644
index 0000000..80255da
--- /dev/null
+++ b/.goreleaser.yaml
@@ -0,0 +1,34 @@
+project_name: flareup
+before:
+ hooks:
+ - go mod tidy
+builds:
+ - env:
+ - CGO_ENABLED=0
+ goos:
+ - linux
+ - windows
+ - darwin
+ main: ./cmd/flareup
+ goarch:
+ - amd64
+ - arm64
+checksum:
+ name_template: 'checksums.txt'
+snapshot:
+ name_template: "{{ incpatch .Version }}-next"
+changelog:
+ sort: asc
+ filters:
+ exclude:
+ - '^docs:'
+ - '^test:'
+release:
+ draft: true
+ prerelease: auto
+ mode: append
+ name_template: "{{.ProjectName}}-v{{.Version}}"
+ disable: false
+
+
+
diff --git a/Dockerfile b/Dockerfile
index 0a328c4..987ffcf 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -9,4 +9,4 @@ RUN GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o /src ./cmd/flareup
FROM alpine
COPY --from=build /src/flareup /bin
-CMD ["/bin/flareup"]
\ No newline at end of file
+CMD ["/bin/flareup"]
diff --git a/README.md b/README.md
index b82c20e..ec97824 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,169 @@
-[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/coolfool/flareup)
\ No newline at end of file
+
+
+
Self-hosted and Easy-to-deploy Cloudflare based Dynamic DNS service for router
+
+
+## Contents
+- [Features](#Features)
+- [Environment Variables](#Environment-Variables)
+- [Installation](#Installation)
+ - [Heroku](#Heroku)
+ - [Docker (Run and Compose)](#Docker)
+ - [Standalone Binaries](#Standalone-Binaries)
+- [Router Setup](#Router-Setup)
+- [Build and Run Locally](#Build-and-Run-Locally)
+- [Contributing](#Contributing)
+- [Authors](#Authors)
+- [License](#License)
+
+
+## Features
+
+- Easy-to-use heroku one click deploy
+- Support for multiple domains
+- Flexible in terms deploying and installing options
+- Single multi-arch docker image
+- Multi platform binaries
+
+
+## Environment Variables
+
+To run this project, you will need to add the following environment variables to your .env file (or) set them accordingly for use with docker or with your os
+
+
+`USERNAME` - Username for flareup service
+
+`PASSWORD` - Password for flareup service
+
+`CF_API_TOKEN` - Cloudflare api token with edit permission for required zones i.e domains
+
+`PORT` (Optional) - By default flareup listen's on port 5335
+
+`DOMAINS` - Comma(,) seperated domains e.g
+ ```
+ example1.domain.tld , example2.domain.tld
+ ```
+
+`PROXIED` (Optional, Default:`false`) - Proxy dns service through cloudflare service
+
+(back to top)
+
+## Installation
+- FlareUp can be installed and used in the following ways
+
+## Heroku
+- Click [![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/coolfool/flareup) and its pretty self explanatory.
+(back to top)
+
+## Docker
+1) ### Docker Run
+ 1) To automatically install & run FlareUp, simply run:
+ ```
+ docker run -d \
+ --name=flareup \
+ -e USERNAME= \
+ -e PASSWORD= \
+ -e CF_API_TOKEN= \
+ -e DOMAINS= \
+ -e PROXIED=false \
+ -p 5335:5335 \
+ --restart unless-stopped \
+ coolfool/flareup
+ ```
+ 2) Logs can be found using
+ ```
+ docker container logs flareup
+ ```
+
+2) ### Docker Compose
+ 1) Download [docker-compose.yml]()
+ 2) Open the file in a text editor and fill the environment variables
+ 3) Execute the following command in the same directory
+ ```
+ docker-compose up -d
+ ```
+ 4) FlareUp should start listening on `5335` or the port specified in env vars.
+(back to top)
+
+## Standalone Binaries
+1) Download the binary for your platform from Releases section
+2) Extract the archive
+3) Run the binary according to your os
+ - For linux
+ ```
+ ./flareup
+ ```
+(back to top)
+
+## Router Setup
+* Important Notes before setup:
+ 1) The flareup update url is `https://example.com/update`
+ 2) If the router insists on having a hostname for update you can use
+ `https://example.com/update?hostname=all.flareup` as url and `all.flareup` as hostname
+
+1) The DynamicDNS server will be the hostname where the service is hosted eg. `example.com`
+2) Fill the username and password as you entered in environment variable
+3) Enter the hostname as `all.flareup` if required
+4) The update urls are as follows:
+ 1) `https://example.com/update` without hostname
+ 2) `https://example.com/update?hostname=all.flareup` with hostname
+
+5) Save settings and the service should start updating cloudflare dns
+(back to top)
+
+## Build and Run Locally
+
+1) Clone the project
+
+```bash
+ git clone https://github.com/CoolFool/flareup
+```
+
+2) Go to the project directory
+
+```bash
+ cd flareup
+```
+
+3) Install dependencies
+
+```bash
+ go build -o flareup ./cmd/flareup
+```
+
+4) Create .env file according to the variables mentioned in [Environment Variables](#Environment-Variables)
+
+5) Start the service according to your platform
+- For linux
+ ```bash
+ ./flareup
+ ```
+(back to top)
+
+## Contributing
+
+Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
+
+If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
+Don't forget to give the project a star! Thanks again!
+
+1. Fork the Project
+2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
+3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
+4. Push to the Branch (`git push origin feature/AmazingFeature`)
+5. Open a Pull Request
+
+(back to top)
+
+
+## Authors
+
+- [@coolfool](https://www.github.com/coolfool)
+
+(back to top)
+
+## License
+
+[MIT](https://choosealicense.com/licenses/mit/)
+
+(back to top)
diff --git a/app.json b/app.json
index 12f5ee4..c368dc5 100644
--- a/app.json
+++ b/app.json
@@ -1,7 +1,7 @@
{
"name": "flareUp",
- "description": "Self-Hosted Cloudflare based DynamicDNS service for router",
- "repository": "https://github.com/CoolFool/flareup",
+ "description": "Self-hosted and Easy-to-deploy Cloudflare based Dynamic DNS service for router",
+ "repository": "https://github.com/CoolFool/flareup/blob/main/logo.png",
"env":{
"USERNAME":{
"description" : "Username for flareup"
diff --git a/logo.png b/logo.png
new file mode 100644
index 0000000..e192a1a
Binary files /dev/null and b/logo.png differ