diff --git a/.env.example b/.env.example index d594be1..3e96e37 100644 --- a/.env.example +++ b/.env.example @@ -2,5 +2,5 @@ DISCORD=your-discord-token RUNTIPI=runtipi-server-url JWT_SECRET=your-jwt-secret APPSTORE=https://github.com/runtipi/runtipi-appstore -DB_PATH=/data/tipicord.db +DB_PATH=/data/tipimate.db REFRESH=30 \ No newline at end of file diff --git a/.github/workflows/alpha-release.yml b/.github/workflows/alpha-release.yml index bf25586..57115ae 100644 --- a/.github/workflows/alpha-release.yml +++ b/.github/workflows/alpha-release.yml @@ -34,7 +34,7 @@ jobs: go-version: 1.23.2 - name: Build - run: go build -o tipicord-${{ matrix.os }}-${{ matrix.arch }} + run: go build -o tipimate-${{ matrix.os }}-${{ matrix.arch }} env: GOARCH: ${{ matrix.arch }} GOOS: ${{ matrix.os }} @@ -42,8 +42,8 @@ jobs: - name: Upload artifact uses: actions/upload-artifact@v4 with: - name: tipicord-${{ matrix.os }}-${{ matrix.arch }} - path: tipicord-${{ matrix.os }}-${{ matrix.arch }} + name: tipimate-${{ matrix.os }}-${{ matrix.arch }} + path: tipimate-${{ matrix.os }}-${{ matrix.arch }} build-docker: needs: [get-tag, build] @@ -71,7 +71,7 @@ jobs: context: . push: true platforms: linux/arm64, linux/amd64 - tags: ghcr.io/${{ github.repository_owner }}/tipicord:${{ needs.get-tag.outputs.tag }} + tags: ghcr.io/${{ github.repository_owner }}/tipimate:${{ needs.get-tag.outputs.tag }} alpha-release: needs: [get-tag, build, build-docker] @@ -80,7 +80,7 @@ jobs: - name: Download artifacts uses: actions/download-artifact@v4 with: - pattern: tipicord-* + pattern: tipimate-* path: binaries merge-multiple: true diff --git a/.github/workflows/beta-release.yml b/.github/workflows/beta-release.yml index 8a623be..7807358 100644 --- a/.github/workflows/beta-release.yml +++ b/.github/workflows/beta-release.yml @@ -34,7 +34,7 @@ jobs: go-version: 1.23.2 - name: Build - run: go build -o tipicord-${{ matrix.os }}-${{ matrix.arch }} + run: go build -o tipimate-${{ matrix.os }}-${{ matrix.arch }} env: GOARCH: ${{ matrix.arch }} GOOS: ${{ matrix.os }} @@ -42,8 +42,8 @@ jobs: - name: Upload artifact uses: actions/upload-artifact@v4 with: - name: tipicord-${{ matrix.os }}-${{ matrix.arch }} - path: tipicord-${{ matrix.os }}-${{ matrix.arch }} + name: tipimate-${{ matrix.os }}-${{ matrix.arch }} + path: tipimate-${{ matrix.os }}-${{ matrix.arch }} build-docker: needs: [get-tag, build] @@ -71,7 +71,7 @@ jobs: context: . push: true platforms: linux/arm64, linux/amd64 - tags: ghcr.io/${{ github.repository_owner }}/tipicord:${{ needs.get-tag.outputs.tag }} + tags: ghcr.io/${{ github.repository_owner }}/tipimate:${{ needs.get-tag.outputs.tag }} beta-release: needs: [get-tag, build, build-docker] @@ -80,7 +80,7 @@ jobs: - name: Download artifacts uses: actions/download-artifact@v4 with: - pattern: tipicord-* + pattern: tipimate-* path: binaries merge-multiple: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a13e283..f9276b7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -31,7 +31,7 @@ jobs: go-version: 1.23.2 - name: Build - run: go build -o tipicord-${{ matrix.os }}-${{ matrix.arch }} + run: go build -o tipimate-${{ matrix.os }}-${{ matrix.arch }} env: GOARCH: ${{ matrix.arch }} GOOS: ${{ matrix.os }} @@ -39,8 +39,8 @@ jobs: - name: Upload artifact uses: actions/upload-artifact@v4 with: - name: tipicord-${{ matrix.os }}-${{ matrix.arch }} - path: tipicord-${{ matrix.os }}-${{ matrix.arch }} + name: tipimate-${{ matrix.os }}-${{ matrix.arch }} + path: tipimate-${{ matrix.os }}-${{ matrix.arch }} build-docker: needs: [get-tag, build] @@ -68,7 +68,7 @@ jobs: context: . push: true platforms: linux/arm64, linux/amd64 - tags: ghcr.io/${{ github.repository_owner }}/tipicord:${{ needs.get-tag.outputs.tag }}, ghcr.io/${{ github.repository_owner }}/tipicord:latest + tags: ghcr.io/${{ github.repository_owner }}/tipimate:${{ needs.get-tag.outputs.tag }}, ghcr.io/${{ github.repository_owner }}/tipimate:latest release: needs: [get-tag, build, build-docker] @@ -77,7 +77,7 @@ jobs: - name: Download artifacts uses: actions/download-artifact@v4 with: - pattern: tipicord-* + pattern: tipimate-* path: binaries merge-multiple: true diff --git a/.gitignore b/.gitignore index 84b6aaa..72b8ad7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,12 @@ # database -tipicord.db +tipimate.db # vscode debugger .vscode # Build out -tipicord -tipicord.exe +tipimate +tipimate.exe # Env .env diff --git a/Dockerfile b/Dockerfile index f17db51..2800c76 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,17 +11,17 @@ COPY cmd/ cmd/ RUN go mod tidy -RUN go build -ldflags "-s -w" -o tipicord main.go +RUN go build -ldflags "-s -w" -o tipimate main.go # --- RUNNER ---- FROM alpine:3.20 AS runner -WORKDIR /tipicord +WORKDIR /tipimate RUN mkdir /data -COPY --from=builder /build/tipicord /tipicord +COPY --from=builder /build/tipimate /tipimate -ENV DB_PATH=/data/tipicord.db +ENV DB_PATH=/data/tipimate.db -ENTRYPOINT ["/tipicord/tipicord", "server"] \ No newline at end of file +ENTRYPOINT ["/tipimate/tipimate", "server"] \ No newline at end of file diff --git a/README.md b/README.md index 5bf89bf..3b38f2b 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ -# TipiCord +# TipiMate -TipiCord is an extremely simple tool that periodically checks for app updates in your [Runtipi](https://github.com/runtipi/runtipi) instance and then sends notifications to your prefered Discord channel/server. It is super fast, lightweight and only ~20mb in size. +TipiMate is an extremely simple tool that periodically checks for app updates in your [Runtipi](https://github.com/runtipi/runtipi) instance and then sends notifications to your prefered Discord channel/server. It is super fast, lightweight and only ~20mb in size. > [!NOTE] -> TipiCord only supports runtipi instances from v3.7.0 and above since this version added the ability to use an API to communicate with the server. +> TipiMate only supports runtipi instances from v3.7.0 and above since this version added the ability to use an API to communicate with the server. > [!WARNING] -> TipiCord is still in early stages of development so issues are to be expected. If you encounter any please create an issue so I can fix them as soon as possible. +> TipiMate is still in early stages of development so issues are to be expected. If you encounter any please create an issue so I can fix them as soon as possible. ## Roadmap @@ -19,14 +19,14 @@ This project is still in early stages of development so it only includes the bas ## Getting started -You can run tipicord with two ways, docker or binary. If you chose binary, you can grab the latest binary from the [releases](https://github.com/steveiliop56/tipicord/releases) page, then `chmod +x tipicord` and finally you can run it with `./tipicord`. *assuming the binary is named tipicord* +You can run tipimate with two ways, docker or binary. If you chose binary, you can grab the latest binary from the [releases](https://github.com/steveiliop56/tipimate/releases) page, then `chmod +x tipimate` and finally you can run it with `./tipimate`. *assuming the binary is named tipimate* -Running with docker is also very easy, you just need to download the docker compose file from [here](./docker-compose.yml) and run tipicord with `docker compose up -d`. *make sure to change the environment variables accordingly* +Running with docker is also very easy, you just need to download the docker compose file from [here](./docker-compose.yml) and run tipimate with `docker compose up -d`. *make sure to change the environment variables accordingly* If you prefer docker run command you can run it with ```bash -docker run -t -d --name tipicord -v ./data:/data -e DISCORD=your-discord-url -e RUNTIPI=your-runtipi-url -e JWT_SECRET=your-jwt-secret ghcr.io/steveiliop56/tipicord:latest +docker run -t -d --name tipimate -v ./data:/data -e DISCORD=your-discord-url -e RUNTIPI=your-runtipi-url -e JWT_SECRET=your-jwt-secret ghcr.io/steveiliop56/tipimate:latest ``` ## Building @@ -36,8 +36,8 @@ To build the project you need to have Go and Git installed. You firstly have to clone the repository with ```bash -git clone https://github.com/steveiliop56/tipicord -cd tipicord +git clone https://github.com/steveiliop56/tipimate +cd tipimate ``` Then install dependencies @@ -58,7 +58,7 @@ Or build it with got build ``` -If everything succeeds you should have a binary named `tipicord`. +If everything succeeds you should have a binary named `tipimate`. > [!NOTE] > You can also build for other operating systems/architectures using `GOOS=windows` and `GOARCH=arm64`. @@ -72,4 +72,4 @@ This project is still in early stages of development so bugs are to be expected. ## License -TipiCord is licensed under the GNU General Public License v3.0. TL;DR — You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions. +TipiMate is licensed under the GNU General Public License v3.0. TL;DR — You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions. diff --git a/cmd/check.go b/cmd/check.go index 605681e..efc6558 100644 --- a/cmd/check.go +++ b/cmd/check.go @@ -4,11 +4,11 @@ import ( "errors" "fmt" "net/url" - "tipicord/internal/api" - "tipicord/internal/assets" - "tipicord/internal/spinner" - "tipicord/internal/types" - "tipicord/internal/utils" + "tipimate/internal/api" + "tipimate/internal/assets" + "tipimate/internal/spinner" + "tipimate/internal/types" + "tipimate/internal/utils" "github.com/fatih/color" "github.com/gookit/validate" diff --git a/cmd/root.go b/cmd/root.go index 08441a7..eafb4af 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -7,14 +7,11 @@ import ( "github.com/spf13/cobra" ) -// Viper -// var cmdViper = viper.New() - // Main command var rootCmd = &cobra.Command{ - Use: "tipicord", + Use: "tipimate", Short: "Discord notifications for your runtipi server", - Long: "TipiCord is a simple tool that monitors your runtipi server for app updates and notifies you via Discord notifications", + Long: "TipiMate is a simple tool that monitors your runtipi server for app updates and notifies you via Discord notifications", } // Execute command diff --git a/cmd/server.go b/cmd/server.go index 114e149..d36ecc2 100644 --- a/cmd/server.go +++ b/cmd/server.go @@ -6,12 +6,12 @@ import ( "os" "strconv" "time" - "tipicord/internal/alerts" - "tipicord/internal/api" - "tipicord/internal/assets" - "tipicord/internal/database" - "tipicord/internal/types" - "tipicord/internal/utils" + "tipimate/internal/alerts" + "tipimate/internal/api" + "tipimate/internal/assets" + "tipimate/internal/database" + "tipimate/internal/types" + "tipimate/internal/utils" "github.com/containrrr/shoutrrr/pkg/router" "github.com/gookit/validate" @@ -169,7 +169,7 @@ func init() { serverCmd.Flags().String("runtipi", "", "Runtipi server URL") serverCmd.Flags().String("jwt-secret", "", "JWT secret") serverCmd.Flags().String("appstore", "https://github.com/runtipi/runtipi-appstore", "Appstore URL for images") - serverCmd.Flags().String("db-path", "tipicord.db", "Database path") + serverCmd.Flags().String("db-path", "tipimate.db", "Database path") serverCmd.Flags().Int("refresh", 30, "Refresh interval") serverViper.BindEnv("jwt-secret", "JWT_SECRET") serverViper.BindEnv("db-path", "DB_PATH") diff --git a/cmd/version.go b/cmd/version.go index 1a2fa99..7acafb5 100644 --- a/cmd/version.go +++ b/cmd/version.go @@ -2,7 +2,7 @@ package cmd import ( "fmt" - "tipicord/internal/assets" + "tipimate/internal/assets" "github.com/spf13/cobra" ) @@ -10,10 +10,10 @@ import ( // Command var versionCmd = &cobra.Command{ Use: "version", - Short: "Print the version number of TipiCord", - Long: "All software has versions. This is TipiCord's", + Short: "Print the version number of TipiMate", + Long: "All software has versions. This is TipiMate's", Run: func(cmd *cobra.Command, args []string) { - fmt.Printf("TipiCord %s\n", assets.Version) + fmt.Printf("TipiMate %s\n", assets.Version) }, } diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 5ba46f1..1dbf322 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -1,9 +1,9 @@ services: - tipicord: + tipimate: build: context: . dockerfile: Dockerfile - container_name: tipicord + container_name: tipimate restart: unless-stopped env_file: .env volumes: diff --git a/docker-compose.yml b/docker-compose.yml index e25c864..1dc53c8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ services: - tipicord: - image: ghcr.io/steveiliop56/tipicord:latest - container_name: tipicord + tipimate: + image: ghcr.io/steveiliop56/tipimate:latest + container_name: tipimate restart: unless-stopped volumes: - ./data:/data @@ -10,5 +10,5 @@ services: - RUNTIPI=runtipi-server-url - JWT_SECRET=your-jwt-secret - APPSTORE=https://github.com/runtipi/runtipi-appstore - - DB_PATH=/data/tipicord.db + - DB_PATH=/data/tipimate.db - REFRESH=30 diff --git a/go.mod b/go.mod index e6106d8..3913ce4 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module tipicord +module tipimate go 1.23.2 diff --git a/internal/alerts/alerts.go b/internal/alerts/alerts.go index b8047dc..0ebe304 100644 --- a/internal/alerts/alerts.go +++ b/internal/alerts/alerts.go @@ -4,9 +4,9 @@ import ( "encoding/json" "fmt" "time" - "tipicord/internal/constants" - "tipicord/internal/types" - "tipicord/internal/utils" + "tipimate/internal/constants" + "tipimate/internal/types" + "tipimate/internal/utils" "github.com/containrrr/shoutrrr" "github.com/google/go-querystring/query" @@ -36,7 +36,7 @@ func SendAppUpdateAlert(info *types.AppUpdateAlert) (error) { }, } message.AvatarUrl = constants.RuntipiLogoUrl - message.Username = "TipiCord" + message.Username = "TipiMate" // Query params var webhook types.Webhook diff --git a/internal/api/api.go b/internal/api/api.go index 1b0484a..00c74a2 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -5,7 +5,7 @@ import ( "encoding/json" "fmt" "net/http" - "tipicord/internal/types" + "tipimate/internal/types" "github.com/golang-jwt/jwt/v5" ) diff --git a/internal/utils/utils.go b/internal/utils/utils.go index f7a2fa4..68a33f1 100644 --- a/internal/utils/utils.go +++ b/internal/utils/utils.go @@ -4,7 +4,7 @@ import ( "fmt" "os" "strings" - "tipicord/internal/spinner" + "tipimate/internal/spinner" "github.com/rs/zerolog/log" ) diff --git a/main.go b/main.go index e5b0c31..e574d15 100644 --- a/main.go +++ b/main.go @@ -1,7 +1,7 @@ package main import ( - "tipicord/cmd" + "tipimate/cmd" ) func main() {