diff --git a/.github/workflows/docker_build.yaml b/.github/workflows/docker_build.yaml index 73ae1882c..6fd336cf9 100644 --- a/.github/workflows/docker_build.yaml +++ b/.github/workflows/docker_build.yaml @@ -189,6 +189,7 @@ jobs: run: | VERSION_TAG="${{ needs.tag_release.outputs.new_tag }}" IMAGE="${{ steps.image.outputs.name }}" + APP_VERSION=$(echo "$VERSION_TAG" | rev | cut -d. -f2- | rev) docker manifest create ${IMAGE}:${VERSION_TAG} \ ${IMAGE}:${VERSION_TAG}-amd64 \ @@ -197,6 +198,12 @@ jobs: docker manifest push ${IMAGE}:${VERSION_TAG} if [[ "${{ github.ref }}" == "refs/heads/${{ github.event.repository.default_branch }}" ]] || [[ "${{ github.event.inputs.branch }}" == "${{ github.event.repository.default_branch }}" ]]; then + docker manifest create ${IMAGE}:${APP_VERSION} \ + ${IMAGE}:${VERSION_TAG}-amd64 \ + ${IMAGE}:${VERSION_TAG}-arm64 + + docker manifest push ${IMAGE}:${APP_VERSION} + docker manifest create ${IMAGE}:latest \ ${IMAGE}:${VERSION_TAG}-amd64 \ ${IMAGE}:${VERSION_TAG}-arm64 @@ -208,4 +215,5 @@ jobs: run: | echo "Multi-arch manifest created for ${{ matrix.name }}!" echo "Versioned: ${{ steps.image.outputs.name }}:${{ needs.tag_release.outputs.new_tag }}" + echo "App version: ${{ steps.image.outputs.name }}:$(echo '${{ needs.tag_release.outputs.new_tag }}' | rev | cut -d. -f2- | rev)" echo "Latest: ${{ steps.image.outputs.name }}:latest" diff --git a/surfsense_web/content/docs/docker-installation.mdx b/surfsense_web/content/docs/docker-installation.mdx index e6aec07ea..0d65542e2 100644 --- a/surfsense_web/content/docs/docker-installation.mdx +++ b/surfsense_web/content/docs/docker-installation.mdx @@ -85,7 +85,7 @@ All configuration lives in a single `docker/.env` file (or `surfsense/.env` if y | Variable | Description | Default | |----------|-------------|---------| -| `SURFSENSE_VERSION` | Image tag to deploy. Pin to a version (e.g. `0.0.13.1`) or use `latest` | `latest` | +| `SURFSENSE_VERSION` | Image tag to deploy. Use `latest`, a clean version (e.g. `0.0.14`), or a specific build (e.g. `0.0.14.1`) | `latest` | | `AUTH_TYPE` | Authentication method: `LOCAL` (email/password) or `GOOGLE` (OAuth) | `LOCAL` | | `ETL_SERVICE` | Document parsing: `DOCLING` (local), `UNSTRUCTURED`, or `LLAMACLOUD` | `DOCLING` | | `EMBEDDING_MODEL` | Embedding model for vector search | `sentence-transformers/all-MiniLM-L6-v2` |