From 20554682e257b3fc49bfaea2bab41e6e750b43de Mon Sep 17 00:00:00 2001 From: h202-wq Date: Thu, 9 Jul 2026 11:25:21 -0400 Subject: [PATCH] builds --- .github/workflows/nightly.yml | 53 ++++++++++--------------------- .github/workflows/release.yml | 14 +++----- .goreleaser-nightly.yml | 19 ++++++----- .goreleaser.yml | 37 +++++++++++---------- README.md | 8 ++--- docker-compose.coolify.yml | 1 + docker-compose.yml | 2 +- docs/docs/content/installation.md | 4 +-- docs/docs/content/upgrade.md | 4 +-- 9 files changed, 58 insertions(+), 84 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 6cfd97c..bb33228 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -57,18 +57,12 @@ jobs: with: go-version: "1.26.1" - - name: Login to Docker Hub + - name: Login to Gitea Container Registry uses: docker/login-action@v3 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Login to GitHub Container Registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} + registry: source.offmarket.win + username: ${{ secrets.GITEA_REGISTRY_USER }} + password: ${{ secrets.GITEA_REGISTRY_TOKEN }} - name: Delete existing nightly release env: @@ -98,35 +92,22 @@ jobs: - name: Push Docker images run: | # Push all architecture-specific images - docker push eaglecast:nightly-amd64 - docker push eaglecast:nightly-arm64v8 - docker push eaglecast:nightly-armv6 - docker push eaglecast:nightly-armv7 - docker push ghcr.io/h202-wq/eaglecast:nightly-amd64 - docker push ghcr.io/h202-wq/eaglecast:nightly-arm64v8 - docker push ghcr.io/h202-wq/eaglecast:nightly-armv6 - docker push ghcr.io/h202-wq/eaglecast:nightly-armv7 + docker push source.offmarket.win/aleagle/eaglecast:nightly-amd64 + docker push source.offmarket.win/aleagle/eaglecast:nightly-arm64v8 + docker push source.offmarket.win/aleagle/eaglecast:nightly-armv6 + docker push source.offmarket.win/aleagle/eaglecast:nightly-armv7 - - name: Create and push Docker manifests + - name: Create and push Docker manifest run: | - # Docker Hub manifest - docker buildx imagetools create -t eaglecast:nightly \ - eaglecast:nightly-amd64 \ - eaglecast:nightly-arm64v8 \ - eaglecast:nightly-armv6 \ - eaglecast:nightly-armv7 + docker buildx imagetools create -t source.offmarket.win/aleagle/eaglecast:nightly \ + source.offmarket.win/aleagle/eaglecast:nightly-amd64 \ + source.offmarket.win/aleagle/eaglecast:nightly-arm64v8 \ + source.offmarket.win/aleagle/eaglecast:nightly-armv6 \ + source.offmarket.win/aleagle/eaglecast:nightly-armv7 - # GHCR manifest - docker buildx imagetools create -t ghcr.io/h202-wq/eaglecast:nightly \ - ghcr.io/h202-wq/eaglecast:nightly-amd64 \ - ghcr.io/h202-wq/eaglecast:nightly-arm64v8 \ - ghcr.io/h202-wq/eaglecast:nightly-armv6 \ - ghcr.io/h202-wq/eaglecast:nightly-armv7 - - - name: Verify Docker manifests + - name: Verify Docker manifest run: | - docker buildx imagetools inspect eaglecast:nightly - docker buildx imagetools inspect ghcr.io/h202-wq/eaglecast:nightly + docker buildx imagetools inspect source.offmarket.win/aleagle/eaglecast:nightly - name: Create GitHub Release env: @@ -137,7 +118,7 @@ jobs: --notes " > **Warning**: This is an automated nightly build from the master branch. > It may contain bugs and breaking changes. Use at your own risk. - > Available on Docker Hub and GitHub Container Registry as `eaglecast:nightly`. + > Available on the Gitea container registry as `source.offmarket.win/aleagle/eaglecast:nightly`. > For stable releases, please use a versioned release. Built from commit: $(git rev-parse --short HEAD)" \ diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c285268..cf07d99 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,18 +24,12 @@ jobs: with: go-version: "1.26.1" - - name: Login to Docker Registry + - name: Login to Gitea Container Registry uses: docker/login-action@v3 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Login to GitHub Docker Registry - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} + registry: source.offmarket.win + username: ${{ secrets.GITEA_REGISTRY_USER }} + password: ${{ secrets.GITEA_REGISTRY_TOKEN }} - name: Prepare Dependencies run: | diff --git a/.goreleaser-nightly.yml b/.goreleaser-nightly.yml index 464ce3d..9da1d10 100644 --- a/.goreleaser-nightly.yml +++ b/.goreleaser-nightly.yml @@ -10,7 +10,6 @@ snapshot: env: - GO111MODULE=on - CGO_ENABLED=0 - - GITHUB_ORG=h202-wq before: hooks: @@ -57,7 +56,7 @@ dockers: ids: - eaglecast image_templates: - - "ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:nightly-amd64" + - "source.offmarket.win/aleagle/eaglecast:nightly-amd64" build_flag_templates: - --platform=linux/amd64 - --label=org.opencontainers.image.title={{ .ProjectName }} @@ -78,7 +77,7 @@ dockers: ids: - eaglecast image_templates: - - "ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:nightly-arm64v8" + - "source.offmarket.win/aleagle/eaglecast:nightly-arm64v8" build_flag_templates: - --platform=linux/arm64/v8 - --label=org.opencontainers.image.title={{ .ProjectName }} @@ -100,7 +99,7 @@ dockers: ids: - eaglecast image_templates: - - "ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:nightly-armv6" + - "source.offmarket.win/aleagle/eaglecast:nightly-armv6" build_flag_templates: - --platform=linux/arm/v6 - --label=org.opencontainers.image.title={{ .ProjectName }} @@ -122,7 +121,7 @@ dockers: ids: - eaglecast image_templates: - - "ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:nightly-armv7" + - "source.offmarket.win/aleagle/eaglecast:nightly-armv7" build_flag_templates: - --platform=linux/arm/v7 - --label=org.opencontainers.image.title={{ .ProjectName }} @@ -139,12 +138,12 @@ dockers: - docker-entrypoint.sh docker_manifests: - - name_template: ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:nightly + - name_template: source.offmarket.win/aleagle/eaglecast:nightly image_templates: - - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:nightly-amd64 - - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:nightly-arm64v8 - - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:nightly-armv6 - - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:nightly-armv7 + - source.offmarket.win/aleagle/eaglecast:nightly-amd64 + - source.offmarket.win/aleagle/eaglecast:nightly-arm64v8 + - source.offmarket.win/aleagle/eaglecast:nightly-armv6 + - source.offmarket.win/aleagle/eaglecast:nightly-armv7 changelog: disable: true diff --git a/.goreleaser.yml b/.goreleaser.yml index 289fd70..88a51d5 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -3,7 +3,6 @@ project_name: eaglecast env: - GO111MODULE=on - CGO_ENABLED=0 - - GITHUB_ORG=h202-wq before: hooks: @@ -49,8 +48,8 @@ dockers: ids: - eaglecast image_templates: - - "ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:latest-amd64" - - "ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:{{ .Tag }}-amd64" + - "source.offmarket.win/aleagle/eaglecast:latest-amd64" + - "source.offmarket.win/aleagle/eaglecast:{{ .Tag }}-amd64" build_flag_templates: - --platform=linux/amd64 - --label=org.opencontainers.image.title={{ .ProjectName }} @@ -71,8 +70,8 @@ dockers: ids: - eaglecast image_templates: - - "ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:latest-arm64v8" - - "ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:{{ .Tag }}-arm64v8" + - "source.offmarket.win/aleagle/eaglecast:latest-arm64v8" + - "source.offmarket.win/aleagle/eaglecast:{{ .Tag }}-arm64v8" build_flag_templates: - --platform=linux/arm64/v8 - --label=org.opencontainers.image.title={{ .ProjectName }} @@ -94,8 +93,8 @@ dockers: ids: - eaglecast image_templates: - - "ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:latest-armv6" - - "ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:{{ .Tag }}-armv6" + - "source.offmarket.win/aleagle/eaglecast:latest-armv6" + - "source.offmarket.win/aleagle/eaglecast:{{ .Tag }}-armv6" build_flag_templates: - --platform=linux/arm/v6 - --label=org.opencontainers.image.title={{ .ProjectName }} @@ -117,8 +116,8 @@ dockers: ids: - eaglecast image_templates: - - "ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:latest-armv7" - - "ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:{{ .Tag }}-armv7" + - "source.offmarket.win/aleagle/eaglecast:latest-armv7" + - "source.offmarket.win/aleagle/eaglecast:{{ .Tag }}-armv7" build_flag_templates: - --platform=linux/arm/v7 - --label=org.opencontainers.image.title={{ .ProjectName }} @@ -135,15 +134,15 @@ dockers: - docker-entrypoint.sh docker_manifests: - - name_template: ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:latest + - name_template: source.offmarket.win/aleagle/eaglecast:latest image_templates: - - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:latest-amd64 - - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:latest-arm64v8 - - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:latest-armv6 - - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:latest-armv7 - - name_template: ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:{{ .Tag }} + - source.offmarket.win/aleagle/eaglecast:latest-amd64 + - source.offmarket.win/aleagle/eaglecast:latest-arm64v8 + - source.offmarket.win/aleagle/eaglecast:latest-armv6 + - source.offmarket.win/aleagle/eaglecast:latest-armv7 + - name_template: source.offmarket.win/aleagle/eaglecast:{{ .Tag }} image_templates: - - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:{{ .Tag }}-amd64 - - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:{{ .Tag }}-arm64v8 - - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:{{ .Tag }}-armv6 - - ghcr.io/{{ .Env.GITHUB_ORG }}/{{ .ProjectName }}:{{ .Tag }}-armv7 + - source.offmarket.win/aleagle/eaglecast:{{ .Tag }}-amd64 + - source.offmarket.win/aleagle/eaglecast:{{ .Tag }}-arm64v8 + - source.offmarket.win/aleagle/eaglecast:{{ .Tag }}-armv6 + - source.offmarket.win/aleagle/eaglecast:{{ .Tag }}-armv7 diff --git a/README.md b/README.md index 1ad7b50..77c5133 100644 --- a/README.md +++ b/README.md @@ -25,16 +25,16 @@ Send campaigns that soar: manage millions of subscribers across lists, run opt-i ### Docker -Build the image locally and run the sample [docker-compose.yml](docker-compose.yml): +The image is on the Gitea registry at `source.offmarket.win/aleagle/eaglecast:latest`. +Download the sample [docker-compose.yml](docker-compose.yml) and run: ```shell -# Build the eaglecast image. -make dist && docker build -t eaglecast:latest . - # Run the services in the background. docker compose up -d ``` +To build the image yourself instead: `docker build -t source.offmarket.win/aleagle/eaglecast:latest .` + Visit `http://localhost:9000` __________________ diff --git a/docker-compose.coolify.yml b/docker-compose.coolify.yml index ffbba63..938fe1c 100644 --- a/docker-compose.coolify.yml +++ b/docker-compose.coolify.yml @@ -20,6 +20,7 @@ services: build: context: . dockerfile: Dockerfile + image: source.offmarket.win/aleagle/eaglecast:latest restart: unless-stopped environment: - EAGLECAST_app__address=0.0.0.0:9000 diff --git a/docker-compose.yml b/docker-compose.yml index fe1a947..0239377 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,7 +9,7 @@ x-db-credentials: &db-credentials # Use the default services: # eaglecast app app: - image: eaglecast:latest + image: source.offmarket.win/aleagle/eaglecast:latest container_name: eaglecast_app restart: unless-stopped ports: diff --git a/docs/docs/content/installation.md b/docs/docs/content/installation.md index 64871c5..22846aa 100644 --- a/docs/docs/content/installation.md +++ b/docs/docs/content/installation.md @@ -15,7 +15,7 @@ EagleCast is a simple binary application that requires a Postgres database insta ## Docker -Build the `eaglecast` Docker image locally with `make dist` and `docker build`, or push it to a registry of your choice. +The latest image is available on the Gitea registry at `source.offmarket.win/aleagle/eaglecast:latest`. The recommended method is to download the [docker-compose.yml](https://source.offmarket.win/aleagle/EagleCast/src/branch/master/docker-compose.yml) file, customize it for your environment and then to simply run `docker compose up -d`. @@ -92,7 +92,7 @@ The repository ships a Coolify-ready compose file, [docker-compose.coolify.yml]( A nightly build is automatically published with the latest changes merged to the repository. If you want to access the latest changes without waiting for versioned releases, you can obtain the nightly builds and follow the same instructions above. -- **Docker**: `eaglecast:nightly` (use this as the image name in the docker-compose file) +- **Docker**: `source.offmarket.win/aleagle/eaglecast:nightly` (use this as the image name in the docker-compose file) - **Binary**: [Download nightly release](https://source.offmarket.win/aleagle/EagleCast/releases) diff --git a/docs/docs/content/upgrade.md b/docs/docs/content/upgrade.md index 4b0ec75..5d47562 100644 --- a/docs/docs/content/upgrade.md +++ b/docs/docs/content/upgrade.md @@ -43,7 +43,7 @@ To restore a previous version, you have to restore the DB for that particular ve 1. Stop EagleCast. 2. Restore your pre-upgrade database. -3. If you're using `docker compose`, edit `docker-compose.yml` and change `eaglecast:latest` to `eaglecast:v2.4.0` _(for example)_. +3. If you're using `docker compose`, edit `docker-compose.yml` and change `source.offmarket.win/aleagle/eaglecast:latest` to `source.offmarket.win/aleagle/eaglecast:v2.4.0` _(for example)_. 4. Restart. **Example with docker:** @@ -64,7 +64,7 @@ psql -h 127.0.0.1 -p 9432 -U eaglecast -W eaglecast < eaglecast-preupgrade-db.sq ``` x-app-defaults: &app-defaults restart: unless-stopped - image: eaglecast:v2.4.0 + image: source.offmarket.win/aleagle/eaglecast:v2.4.0 ``` 4. Restart: `sudo docker compose up -d app db nginx certbot`