| version: 2 |
|
|
| project_name: sub2api |
|
|
| before: |
| hooks: |
| - go mod tidy -C backend |
|
|
| builds: |
| - id: sub2api |
| dir: backend |
| main: ./cmd/server |
| binary: sub2api |
| flags: |
| - -tags=embed |
| env: |
| - CGO_ENABLED=0 |
| goos: |
| - linux |
| - windows |
| - darwin |
| goarch: |
| - amd64 |
| - arm64 |
| ignore: |
| - goos: windows |
| goarch: arm64 |
| ldflags: |
| - -s -w |
| - -X main.Commit={{.Commit}} |
| - -X main.Date={{.Date}} |
| - -X main.BuildType=release |
|
|
| archives: |
| - id: default |
| format: tar.gz |
| name_template: >- |
| {{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }} |
| format_overrides: |
| - goos: windows |
| format: zip |
| files: |
| - LICENSE* |
| - README* |
| - deploy/* |
|
|
| checksum: |
| name_template: 'checksums.txt' |
| algorithm: sha256 |
|
|
| changelog: |
| |
| disable: true |
|
|
| |
| dockers: |
| |
| - id: amd64 |
| goos: linux |
| goarch: amd64 |
| skip_push: '{{ if eq .Env.DOCKERHUB_USERNAME "skip" }}true{{ else }}false{{ end }}' |
| image_templates: |
| - "{{ .Env.DOCKERHUB_USERNAME }}/sub2api:{{ .Version }}-amd64" |
| dockerfile: Dockerfile.goreleaser |
| use: buildx |
| extra_files: |
| - deploy/docker-entrypoint.sh |
| build_flag_templates: |
| - "--platform=linux/amd64" |
| - "--label=org.opencontainers.image.version={{ .Version }}" |
| - "--label=org.opencontainers.image.revision={{ .Commit }}" |
|
|
| - id: arm64 |
| goos: linux |
| goarch: arm64 |
| skip_push: '{{ if eq .Env.DOCKERHUB_USERNAME "skip" }}true{{ else }}false{{ end }}' |
| image_templates: |
| - "{{ .Env.DOCKERHUB_USERNAME }}/sub2api:{{ .Version }}-arm64" |
| dockerfile: Dockerfile.goreleaser |
| use: buildx |
| extra_files: |
| - deploy/docker-entrypoint.sh |
| build_flag_templates: |
| - "--platform=linux/arm64" |
| - "--label=org.opencontainers.image.version={{ .Version }}" |
| - "--label=org.opencontainers.image.revision={{ .Commit }}" |
|
|
| |
| - id: ghcr-amd64 |
| goos: linux |
| goarch: amd64 |
| image_templates: |
| - "ghcr.io/{{ .Env.GITHUB_REPO_OWNER_LOWER }}/sub2api:{{ .Version }}-amd64" |
| dockerfile: Dockerfile.goreleaser |
| use: buildx |
| extra_files: |
| - deploy/docker-entrypoint.sh |
| build_flag_templates: |
| - "--platform=linux/amd64" |
| - "--label=org.opencontainers.image.version={{ .Version }}" |
| - "--label=org.opencontainers.image.revision={{ .Commit }}" |
| - "--label=org.opencontainers.image.source=https://github.com/{{ .Env.GITHUB_REPO_OWNER }}/{{ .Env.GITHUB_REPO_NAME }}" |
|
|
| - id: ghcr-arm64 |
| goos: linux |
| goarch: arm64 |
| image_templates: |
| - "ghcr.io/{{ .Env.GITHUB_REPO_OWNER_LOWER }}/sub2api:{{ .Version }}-arm64" |
| dockerfile: Dockerfile.goreleaser |
| use: buildx |
| extra_files: |
| - deploy/docker-entrypoint.sh |
| build_flag_templates: |
| - "--platform=linux/arm64" |
| - "--label=org.opencontainers.image.version={{ .Version }}" |
| - "--label=org.opencontainers.image.revision={{ .Commit }}" |
| - "--label=org.opencontainers.image.source=https://github.com/{{ .Env.GITHUB_REPO_OWNER }}/{{ .Env.GITHUB_REPO_NAME }}" |
|
|
| |
| docker_manifests: |
| |
| - name_template: "{{ .Env.DOCKERHUB_USERNAME }}/sub2api:{{ .Version }}" |
| skip_push: '{{ if eq .Env.DOCKERHUB_USERNAME "skip" }}true{{ else }}false{{ end }}' |
| image_templates: |
| - "{{ .Env.DOCKERHUB_USERNAME }}/sub2api:{{ .Version }}-amd64" |
| - "{{ .Env.DOCKERHUB_USERNAME }}/sub2api:{{ .Version }}-arm64" |
|
|
| - name_template: "{{ .Env.DOCKERHUB_USERNAME }}/sub2api:latest" |
| skip_push: '{{ if eq .Env.DOCKERHUB_USERNAME "skip" }}true{{ else }}false{{ end }}' |
| image_templates: |
| - "{{ .Env.DOCKERHUB_USERNAME }}/sub2api:{{ .Version }}-amd64" |
| - "{{ .Env.DOCKERHUB_USERNAME }}/sub2api:{{ .Version }}-arm64" |
|
|
| - name_template: "{{ .Env.DOCKERHUB_USERNAME }}/sub2api:{{ .Major }}.{{ .Minor }}" |
| skip_push: '{{ if eq .Env.DOCKERHUB_USERNAME "skip" }}true{{ else }}false{{ end }}' |
| image_templates: |
| - "{{ .Env.DOCKERHUB_USERNAME }}/sub2api:{{ .Version }}-amd64" |
| - "{{ .Env.DOCKERHUB_USERNAME }}/sub2api:{{ .Version }}-arm64" |
|
|
| - name_template: "{{ .Env.DOCKERHUB_USERNAME }}/sub2api:{{ .Major }}" |
| skip_push: '{{ if eq .Env.DOCKERHUB_USERNAME "skip" }}true{{ else }}false{{ end }}' |
| image_templates: |
| - "{{ .Env.DOCKERHUB_USERNAME }}/sub2api:{{ .Version }}-amd64" |
| - "{{ .Env.DOCKERHUB_USERNAME }}/sub2api:{{ .Version }}-arm64" |
|
|
| |
| - name_template: "ghcr.io/{{ .Env.GITHUB_REPO_OWNER_LOWER }}/sub2api:{{ .Version }}" |
| image_templates: |
| - "ghcr.io/{{ .Env.GITHUB_REPO_OWNER_LOWER }}/sub2api:{{ .Version }}-amd64" |
| - "ghcr.io/{{ .Env.GITHUB_REPO_OWNER_LOWER }}/sub2api:{{ .Version }}-arm64" |
|
|
| - name_template: "ghcr.io/{{ .Env.GITHUB_REPO_OWNER_LOWER }}/sub2api:latest" |
| image_templates: |
| - "ghcr.io/{{ .Env.GITHUB_REPO_OWNER_LOWER }}/sub2api:{{ .Version }}-amd64" |
| - "ghcr.io/{{ .Env.GITHUB_REPO_OWNER_LOWER }}/sub2api:{{ .Version }}-arm64" |
|
|
| - name_template: "ghcr.io/{{ .Env.GITHUB_REPO_OWNER_LOWER }}/sub2api:{{ .Major }}.{{ .Minor }}" |
| image_templates: |
| - "ghcr.io/{{ .Env.GITHUB_REPO_OWNER_LOWER }}/sub2api:{{ .Version }}-amd64" |
| - "ghcr.io/{{ .Env.GITHUB_REPO_OWNER_LOWER }}/sub2api:{{ .Version }}-arm64" |
|
|
| - name_template: "ghcr.io/{{ .Env.GITHUB_REPO_OWNER_LOWER }}/sub2api:{{ .Major }}" |
| image_templates: |
| - "ghcr.io/{{ .Env.GITHUB_REPO_OWNER_LOWER }}/sub2api:{{ .Version }}-amd64" |
| - "ghcr.io/{{ .Env.GITHUB_REPO_OWNER_LOWER }}/sub2api:{{ .Version }}-arm64" |
|
|
| release: |
| github: |
| owner: "{{ .Env.GITHUB_REPO_OWNER }}" |
| name: "{{ .Env.GITHUB_REPO_NAME }}" |
| draft: false |
| prerelease: auto |
| name_template: "Sub2API {{.Version}}" |
| |
| header: | |
| > AI API Gateway Platform - 将 AI 订阅配额分发和管理 |
| |
| {{ .Env.TAG_MESSAGE }} |
|
|
| footer: | |
|
|
| --- |
|
|
| |
|
|
| **Docker:** |
| ```bash |
| {{ if ne .Env.DOCKERHUB_USERNAME "skip" -}} |
| |
| docker pull {{ .Env.DOCKERHUB_USERNAME }}/sub2api:{{ .Version }} |
|
|
| {{ end -}} |
| |
| docker pull ghcr.io/{{ .Env.GITHUB_REPO_OWNER_LOWER }}/sub2api:{{ .Version }} |
| ``` |
|
|
| **One-line install (Linux):** |
| ```bash |
| curl -sSL https://raw.githubusercontent.com/{{ .Env.GITHUB_REPO_OWNER }}/{{ .Env.GITHUB_REPO_NAME }}/main/deploy/install.sh | sudo bash |
| ``` |
|
|
| **Manual download:** |
| Download the appropriate archive for your platform from the assets below. |
|
|
| |
|
|
| - [GitHub Repository](https://github.com/{{ .Env.GITHUB_REPO_OWNER }}/{{ .Env.GITHUB_REPO_NAME }}) |
| - [Installation Guide](https://github.com/{{ .Env.GITHUB_REPO_OWNER }}/{{ .Env.GITHUB_REPO_NAME }}/blob/main/deploy/README.md) |
|
|