diff --git a/.github/workflows/fluent-bit-release.yml b/.github/workflows/production-release-dockerhub.yml similarity index 53% rename from .github/workflows/fluent-bit-release.yml rename to .github/workflows/production-release-dockerhub.yml index 77be7bb95..0ffe330eb 100644 --- a/.github/workflows/fluent-bit-release.yml +++ b/.github/workflows/production-release-dockerhub.yml @@ -1,12 +1,8 @@ -name: fluent-bit-release +name: Production Release to DockerHub on: - push: - paths: - - "others/fluentbit" - - ".github/workflows/fluent-bit-release.yml" - branches: - - next + release: + types: [released] jobs: arm64: @@ -23,13 +19,18 @@ jobs: with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Get current package version + uses: martinbeentjes/npm-get-version-action@v1.2.3 + id: package-version - name: Build and push uses: docker/build-push-action@v2 with: - context: others/fluentbit/ + context: . platforms: linux/arm64 push: true - tags: coollabsio/coolify-fluent-bit:1.0.0-arm64 + tags: coollabsio/coolify:${{steps.package-version.outputs.current-version}}-arm64 + cache-from: type=registry,ref=coollabsio/coolify:buildcache-arm64 + cache-to: type=registry,ref=coollabsio/coolify:buildcache-arm64,mode=max amd64: runs-on: ubuntu-latest steps: @@ -44,13 +45,18 @@ jobs: with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Get current package version + uses: martinbeentjes/npm-get-version-action@v1.2.3 + id: package-version - name: Build and push uses: docker/build-push-action@v3 with: - context: others/fluentbit/ + context: . platforms: linux/amd64 push: true - tags: coollabsio/coolify-fluent-bit:1.0.0-amd64 + tags: coollabsio/coolify:${{steps.package-version.outputs.current-version}} + cache-from: type=registry,ref=coollabsio/coolify:buildcache-amd64 + cache-to: type=registry,ref=coollabsio/coolify:buildcache-amd64,mode=max aarch64: runs-on: [self-hosted, arm64] steps: @@ -65,13 +71,18 @@ jobs: with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Get current package version + uses: martinbeentjes/npm-get-version-action@v1.2.3 + id: package-version - name: Build and push uses: docker/build-push-action@v2 with: - context: others/fluentbit/ + context: . platforms: linux/aarch64 push: true - tags: coollabsio/coolify-fluent-bit:1.0.0-aarch64 + tags: coollabsio/coolify:${{steps.package-version.outputs.current-version}}-aarch64 + cache-from: type=registry,ref=coollabsio/coolify:buildcache-aarch64 + cache-to: type=registry,ref=coollabsio/coolify:buildcache-aarch64,mode=max merge-manifest: runs-on: ubuntu-latest needs: [amd64, arm64, aarch64] @@ -87,7 +98,14 @@ jobs: with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Get current package version + uses: martinbeentjes/npm-get-version-action@v1.2.3 + id: package-version - name: Create & publish manifest run: | - docker manifest create coollabsio/coolify-fluent-bit:1.0.0 --amend coollabsio/coolify-fluent-bit:1.0.0-amd64 --amend coollabsio/coolify-fluent-bit:1.0.0-arm64 --amend coollabsio/coolify-fluent-bit:1.0.0-aarch64 - docker manifest push coollabsio/coolify-fluent-bit:1.0.0 + docker buildx imagetools create --append coollabsio/coolify:${{steps.package-version.outputs.current-version}}-arm64 --append coollabsio/coolify:${{steps.package-version.outputs.current-version}}-aarch64 --tag coollabsio/coolify:${{steps.package-version.outputs.current-version}} + docker buildx imagetools create coollabsio/coolify:${{steps.package-version.outputs.current-version}} --tag coollabsio/coolify:latest + - uses: sarisia/actions-status-discord@v1 + if: always() + with: + webhook: ${{ secrets.DISCORD_WEBHOOK_PROD_RELEASE_CHANNEL }} diff --git a/.github/workflows/production-release.yml b/.github/workflows/production-release.yml index 0a0ccf089..fb8fcd713 100644 --- a/.github/workflows/production-release.yml +++ b/.github/workflows/production-release.yml @@ -1,36 +1,14 @@ -name: production-release +name: Production Release to ghcr.io on: release: types: [released] +env: + REGISTRY: ghcr.io + IMAGE_NAME: "coollabsio/coolify" + jobs: - arm64: - runs-on: [self-hosted, arm64] - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - name: Login to DockerHub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Get current package version - uses: martinbeentjes/npm-get-version-action@v1.2.3 - id: package-version - - name: Build and push - uses: docker/build-push-action@v2 - with: - context: . - platforms: linux/arm64 - push: true - tags: coollabsio/coolify:${{steps.package-version.outputs.current-version}}-arm64 - cache-from: type=registry,ref=coollabsio/coolify:buildcache-arm64 - cache-to: type=registry,ref=coollabsio/coolify:buildcache-arm64,mode=max amd64: runs-on: ubuntu-latest steps: @@ -40,23 +18,27 @@ jobs: uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub + - name: Login to ghcr.io uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Get current package version - uses: martinbeentjes/npm-get-version-action@v1.2.3 - id: package-version + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=semver,pattern={{version}} - name: Build and push uses: docker/build-push-action@v3 with: context: . platforms: linux/amd64 push: true - tags: coollabsio/coolify:${{steps.package-version.outputs.current-version}} - cache-from: type=registry,ref=coollabsio/coolify:buildcache-amd64 - cache-to: type=registry,ref=coollabsio/coolify:buildcache-amd64,mode=max + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} aarch64: runs-on: [self-hosted, arm64] steps: @@ -66,26 +48,30 @@ jobs: uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - - name: Login to DockerHub - uses: docker/login-action@v1 + - name: Login to ghcr.io + uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Get current package version - uses: martinbeentjes/npm-get-version-action@v1.2.3 - id: package-version + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=semver,pattern={{version}} - name: Build and push - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v3 with: context: . platforms: linux/aarch64 push: true - tags: coollabsio/coolify:${{steps.package-version.outputs.current-version}}-aarch64 - cache-from: type=registry,ref=coollabsio/coolify:buildcache-aarch64 - cache-to: type=registry,ref=coollabsio/coolify:buildcache-aarch64,mode=max + tags: ${{ steps.meta.outputs.tags }}-aarch64 + labels: ${{ steps.meta.outputs.labels }} merge-manifest: runs-on: ubuntu-latest - needs: [amd64, arm64, aarch64] + needs: [amd64, aarch64] steps: - name: Checkout uses: actions/checkout@v3 @@ -93,18 +79,23 @@ jobs: uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub + - name: Login to ghcr.io uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Get current package version - uses: martinbeentjes/npm-get-version-action@v1.2.3 - id: package-version + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=semver,pattern={{version}} - name: Create & publish manifest run: | - docker buildx imagetools create --append coollabsio/coolify:${{steps.package-version.outputs.current-version}}-arm64 --append coollabsio/coolify:${{steps.package-version.outputs.current-version}}-aarch64 --tag coollabsio/coolify:${{steps.package-version.outputs.current-version}} - docker buildx imagetools create coollabsio/coolify:${{steps.package-version.outputs.current-version}} --tag coollabsio/coolify:latest + docker buildx imagetools create --append ${{ fromJSON(steps.meta.outputs.json).tags[0] }}-aarch64 --tag ${{ fromJSON(steps.meta.outputs.json).tags[0] }} + docker buildx imagetools create --append ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest-aarch64 --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest - uses: sarisia/actions-status-discord@v1 if: always() with: diff --git a/.github/workflows/release-candidate.yml b/.github/workflows/release-candidate.yml new file mode 100644 index 000000000..e69dd009c --- /dev/null +++ b/.github/workflows/release-candidate.yml @@ -0,0 +1,110 @@ +name: Release Candidate to ghcr.io + +on: + release: + types: [prereleased] + +env: + REGISTRY: ghcr.io + IMAGE_NAME: "coollabsio/coolify" + +jobs: + amd64: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to ghcr.io + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/amd64 + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + aarch64: + runs-on: [self-hosted, arm64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to ghcr.io + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/aarch64 + push: true + tags: ${{ steps.meta.outputs.tags }}-aarch64 + labels: ${{ steps.meta.outputs.labels }} + merge-manifest: + runs-on: ubuntu-latest + needs: [amd64, aarch64] + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to ghcr.io + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + - name: Create & publish manifest + run: | + docker buildx imagetools create --append ${{ steps.meta.outputs.tags }}-aarch64 --tag ${{ steps.meta.outputs.tags }} + - uses: sarisia/actions-status-discord@v1 + if: always() + with: + webhook: ${{ secrets.DISCORD_WEBHOOK_DEV_RELEASE_CHANNEL }} diff --git a/.github/workflows/pocketbase-release.yml b/.github/workflows/staging-release-dockerhub.yml similarity index 57% rename from .github/workflows/pocketbase-release.yml rename to .github/workflows/staging-release-dockerhub.yml index 02b8aa6dd..36dd332cf 100644 --- a/.github/workflows/pocketbase-release.yml +++ b/.github/workflows/staging-release-dockerhub.yml @@ -1,19 +1,18 @@ -name: pocketbase-release +name: Staging Release to DockerHub on: push: - paths: - - "others/pocketbase/*" - - ".github/workflows/pocketbase-release.yml" branches: - - next - - main + - "next" + jobs: arm64: runs-on: [self-hosted, arm64] steps: - name: Checkout uses: actions/checkout@v3 + with: + ref: "next" - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx @@ -23,18 +22,25 @@ jobs: with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Get current package version + uses: martinbeentjes/npm-get-version-action@v1.2.3 + id: package-version - name: Build and push uses: docker/build-push-action@v2 with: - context: others/pocketbase/ + context: . platforms: linux/arm64 push: true - tags: coollabsio/pocketbase:0.12.3-arm64 + tags: coollabsio/coolify:next-arm64 + cache-from: type=registry,ref=coollabsio/coolify:buildcache-next-arm64 + cache-to: type=registry,ref=coollabsio/coolify:buildcache-next-arm64,mode=max amd64: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 + with: + ref: "next" - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx @@ -44,37 +50,21 @@ jobs: with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Get current package version + uses: martinbeentjes/npm-get-version-action@v1.2.3 + id: package-version - name: Build and push uses: docker/build-push-action@v3 with: - context: others/pocketbase/ + context: . platforms: linux/amd64 push: true - tags: coollabsio/pocketbase:0.12.3-amd64 - aarch64: - runs-on: [self-hosted, arm64] - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - name: Login to DockerHub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and push - uses: docker/build-push-action@v2 - with: - context: others/pocketbase/ - platforms: linux/aarch64 - push: true - tags: coollabsio/pocketbase:0.12.3-aarch64 + tags: coollabsio/coolify:next + cache-from: type=registry,ref=coollabsio/coolify:buildcache-next-amd64 + cache-to: type=registry,ref=coollabsio/coolify:buildcache-next-amd64,mode=max merge-manifest: runs-on: ubuntu-latest - needs: [amd64, arm64, aarch64] + needs: [arm64, amd64] steps: - name: Checkout uses: actions/checkout@v3 @@ -89,5 +79,8 @@ jobs: password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Create & publish manifest run: | - docker manifest create coollabsio/pocketbase:0.12.3 --amend coollabsio/pocketbase:0.12.3-amd64 --amend coollabsio/pocketbase:0.12.3-arm64 --amend coollabsio/pocketbase:0.12.3-aarch64 - docker manifest push coollabsio/pocketbase:0.12.3 + docker buildx imagetools create --append coollabsio/coolify:next-arm64 --tag coollabsio/coolify:next + - uses: sarisia/actions-status-discord@v1 + if: always() + with: + webhook: ${{ secrets.DISCORD_WEBHOOK_DEV_RELEASE_CHANNEL }} diff --git a/.github/workflows/staging-release.yml b/.github/workflows/staging-release.yml index e52db63da..15d3e5393 100644 --- a/.github/workflows/staging-release.yml +++ b/.github/workflows/staging-release.yml @@ -1,45 +1,14 @@ -name: staging-release +name: Staging Release to ghcr.io on: push: - paths: - - "**" - - "!others/fluentbit" - - "!others/pocketbase" - - "!.github/workflows/fluent-bit-release.yml" - - "!.github/workflows/pocketbase-release.yml" - branches: - - next + branches-ignore: + - "main" +env: + REGISTRY: ghcr.io + IMAGE_NAME: "coollabsio/coolify" jobs: - arm64: - runs-on: [self-hosted, arm64] - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - ref: "next" - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - name: Login to DockerHub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Get current package version - uses: martinbeentjes/npm-get-version-action@v1.2.3 - id: package-version - - name: Build and push - uses: docker/build-push-action@v2 - with: - context: . - platforms: linux/arm64 - push: true - tags: coollabsio/coolify:next-arm64 - cache-from: type=registry,ref=coollabsio/coolify:buildcache-next-arm64 - cache-to: type=registry,ref=coollabsio/coolify:buildcache-next-arm64,mode=max amd64: runs-on: ubuntu-latest steps: @@ -51,26 +20,58 @@ jobs: uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub + - name: Login to ghcr.io uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Get current package version - uses: martinbeentjes/npm-get-version-action@v1.2.3 - id: package-version + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Build and push uses: docker/build-push-action@v3 with: context: . platforms: linux/amd64 push: true - tags: coollabsio/coolify:next - cache-from: type=registry,ref=coollabsio/coolify:buildcache-next-amd64 - cache-to: type=registry,ref=coollabsio/coolify:buildcache-next-amd64,mode=max + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + aarch64: + runs-on: [self-hosted, arm64] + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + ref: "next" + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to ghcr.io + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/aarch64 + push: true + tags: ${{ steps.meta.outputs.tags }}-aarch64 + labels: ${{ steps.meta.outputs.labels }} merge-manifest: runs-on: ubuntu-latest - needs: [arm64, amd64] + needs: [amd64, aarch64] steps: - name: Checkout uses: actions/checkout@v3 @@ -78,14 +79,20 @@ jobs: uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub + - name: Login to ghcr.io uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: Create & publish manifest run: | - docker buildx imagetools create --append coollabsio/coolify:next-arm64 --tag coollabsio/coolify:next + docker buildx imagetools create --append ${{ steps.meta.outputs.tags }}-aarch64 --tag ${{ steps.meta.outputs.tags }} - uses: sarisia/actions-status-discord@v1 if: always() with: diff --git a/Dockerfile b/Dockerfile index adcbee05b..80f56f06a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,7 +38,7 @@ RUN curl -SL https://cdn.coollabs.io/bin/$TARGETPLATFORM/pack-$PACK_VERSION -o / RUN chmod +x ~/.docker/cli-plugins/docker-compose /usr/bin/docker /usr/local/bin/pack COPY --from=build /app/apps/api/build/ . -COPY --from=build /app/others/fluentbit/ ./fluentbit +# COPY --from=build /app/others/fluentbit/ ./fluentbit COPY --from=build /app/apps/ui/build/ ./public COPY --from=build /app/apps/api/prisma/ ./prisma COPY --from=build /app/apps/api/package.json . diff --git a/apps/api/devTemplates.yaml b/apps/api/devTemplates.yaml index f20f97a0a..e4bcde325 100644 --- a/apps/api/devTemplates.yaml +++ b/apps/api/devTemplates.yaml @@ -230,7 +230,7 @@ description: "Open Source realtime backend in 1 file" services: $$id: - image: coollabsio/pocketbase:$$core_version + image: ghcr.io/coollabsio/pocketbase:$$core_version volumes: - $$id-data:/app/pb_data ports: diff --git a/apps/api/src/index.ts b/apps/api/src/index.ts index 2b12ed56d..d53d02fa6 100644 --- a/apps/api/src/index.ts +++ b/apps/api/src/index.ts @@ -402,14 +402,14 @@ async function autoUpdater() { if (!isDev) { const { isAutoUpdateEnabled } = await prisma.setting.findFirst(); if (isAutoUpdateEnabled) { - await executeCommand({ command: `docker pull coollabsio/coolify:${latestVersion}` }); + await executeCommand({ command: `docker pull ghcr.io/coollabsio/coolify:${latestVersion}` }); await executeCommand({ shell: true, command: `env | grep '^COOLIFY' > .env` }); await executeCommand({ command: `sed -i '/COOLIFY_AUTO_UPDATE=/cCOOLIFY_AUTO_UPDATE=${isAutoUpdateEnabled}' .env` }); await executeCommand({ shell: true, - command: `docker run --rm -tid --env-file .env -v /var/run/docker.sock:/var/run/docker.sock -v coolify-db coollabsio/coolify:${latestVersion} /bin/sh -c "env | grep COOLIFY > .env && echo 'TAG=${latestVersion}' >> .env && docker stop -t 0 coolify coolify-fluentbit && docker rm coolify coolify-fluentbit && docker compose pull && docker compose up -d --force-recreate"` + command: `docker run --rm -tid --env-file .env -v /var/run/docker.sock:/var/run/docker.sock -v coolify-db ghcr.io/coollabsio/coolify:${latestVersion} /bin/sh -c "env | grep COOLIFY > .env && echo 'TAG=${latestVersion}' >> .env && docker stop -t 0 coolify coolify-fluentbit && docker rm coolify coolify-fluentbit && docker compose pull && docker compose up -d --force-recreate"` }); } } else { diff --git a/apps/api/src/lib/common.ts b/apps/api/src/lib/common.ts index 403d4fedb..a8a7b92d0 100644 --- a/apps/api/src/lib/common.ts +++ b/apps/api/src/lib/common.ts @@ -19,7 +19,7 @@ import { saveBuildLog } from './buildPacks/common'; import { scheduler } from './scheduler'; import type { ExecaChildProcess } from 'execa'; -export const version = '3.12.27'; +export const version = '3.12.28'; export const isDev = process.env.NODE_ENV === 'development'; export const proxyPort = process.env.COOLIFY_PROXY_PORT; export const proxySecurePort = process.env.COOLIFY_PROXY_SECURE_PORT; diff --git a/apps/api/src/routes/api/v1/handlers.ts b/apps/api/src/routes/api/v1/handlers.ts index 52d5e4e38..8dd0f3adb 100644 --- a/apps/api/src/routes/api/v1/handlers.ts +++ b/apps/api/src/routes/api/v1/handlers.ts @@ -156,14 +156,14 @@ export async function update(request: FastifyRequest) { try { if (!isDev) { const { isAutoUpdateEnabled } = await prisma.setting.findFirst(); - await executeCommand({ command: `docker pull coollabsio/coolify:${latestVersion}` }); + await executeCommand({ command: `docker pull ghcr.io/coollabsio/coolify:${latestVersion}` }); await executeCommand({ shell: true, command: `env | grep COOLIFY > .env` }); await executeCommand({ command: `sed -i '/COOLIFY_AUTO_UPDATE=/cCOOLIFY_AUTO_UPDATE=${isAutoUpdateEnabled}' .env` }); await executeCommand({ shell: true, - command: `docker run --rm -tid --env-file .env -v /var/run/docker.sock:/var/run/docker.sock -v coolify-db coollabsio/coolify:${latestVersion} /bin/sh -c "env | grep COOLIFY > .env && echo 'TAG=${latestVersion}' >> .env && docker stop -t 0 coolify coolify-fluentbit && docker rm coolify coolify-fluentbit && docker compose pull && docker compose up -d --force-recreate"` + command: `docker run --rm -tid --env-file .env -v /var/run/docker.sock:/var/run/docker.sock -v coolify-db ghcr.io/coollabsio/coolify:${latestVersion} /bin/sh -c "env | grep COOLIFY > .env && echo 'TAG=${latestVersion}' >> .env && docker stop -t 0 coolify coolify-fluentbit && docker rm coolify coolify-fluentbit && docker compose pull && docker compose up -d --force-recreate"` }); return {}; } else { diff --git a/apps/ui/src/routes/applications/[id]/revert.svelte b/apps/ui/src/routes/applications/[id]/revert.svelte index 6d632cd65..fcbc0a523 100644 --- a/apps/ui/src/routes/applications/[id]/revert.svelte +++ b/apps/ui/src/routes/applications/[id]/revert.svelte @@ -158,7 +158,7 @@ id="dockerImage" name="dockerImage" required - placeholder="coollabsio/coolify:0.0.1" + placeholder="ghcr.io/coollabsio/coolify:0.0.1" bind:value={remoteImage} /> diff --git a/docker-compose-dev.yaml b/docker-compose-dev.yaml index c3c6d8c54..cbe2e2ffa 100644 --- a/docker-compose-dev.yaml +++ b/docker-compose-dev.yaml @@ -34,7 +34,7 @@ services: networks: - coolify-infra fluent-bit: - image: coollabsio/coolify-fluent-bit:1.0.0 + image: ghcr.io/coollabsio/fluent-bit:1.0.0 command: /fluent-bit/bin/fluent-bit -c /fluent-bit/etc/fluent-bit-dev.conf container_name: coolify-fluentbit volumes: diff --git a/docker-compose.yaml b/docker-compose.yaml index fa802e9df..a3d356c9b 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -2,7 +2,7 @@ version: '3.8' services: coolify: - image: coollabsio/coolify:${TAG:-latest} + image: ghcr.io/coollabsio/coolify:${TAG:-latest} restart: always container_name: coolify ports: @@ -23,7 +23,7 @@ services: networks: - coolify-infra fluent-bit: - image: coollabsio/coolify-fluent-bit:1.0.0 + image: ghcr.io/coollabsio/fluent-bit:1.0.0 container_name: coolify-fluentbit volumes: - 'coolify-logs:/app/logs' diff --git a/others/fluentbit/Dockerfile b/others/fluentbit/Dockerfile deleted file mode 100644 index 1e271bb21..000000000 --- a/others/fluentbit/Dockerfile +++ /dev/null @@ -1,4 +0,0 @@ -FROM fluent/fluent-bit:1.9.8 -COPY ./fluent-bit.conf /fluent-bit/etc/fluent-bit.conf -COPY ./fluent-bit-dev.conf /fluent-bit/etc/fluent-bit-dev.conf -COPY ./parsers.conf /fluent-bit/etc/parsers.conf \ No newline at end of file diff --git a/others/fluentbit/fluent-bit-dev.conf b/others/fluentbit/fluent-bit-dev.conf deleted file mode 100644 index 757b91665..000000000 --- a/others/fluentbit/fluent-bit-dev.conf +++ /dev/null @@ -1,30 +0,0 @@ -[SERVICE] - Parsers_file /fluent-bit/etc/parsers.conf - Flush 1 - Grace 30 -[INPUT] - Name http - Host 0.0.0.0 - Port 24224 -[FILTER] - Name parser - Match * - Key_Name log - Parser jsonparser - Reserve_Data True -[OUTPUT] - Name file - Match * - Path /logs - Mkdir true - Format csv -# [OUTPUT] -# Name influxdb -# match * -# Host coolify-influxdb -# Port 8086 -# Database coolify -# Bucket coolify -# Org coolify -# HTTP_Token 12345678 -# Sequence_Tag _seq \ No newline at end of file diff --git a/others/fluentbit/fluent-bit.conf b/others/fluentbit/fluent-bit.conf deleted file mode 100644 index bd57a17cc..000000000 --- a/others/fluentbit/fluent-bit.conf +++ /dev/null @@ -1,30 +0,0 @@ -[SERVICE] - Parsers_file /fluent-bit/etc/parsers.conf - Flush 1 - Grace 30 -[INPUT] - Name http - Host 0.0.0.0 - Port 24224 -[FILTER] - Name parser - Match * - Key_Name log - Parser jsonparser - Reserve_Data True -[OUTPUT] - Name file - Match * - Path /app/logs - Mkdir true - Format csv -# [OUTPUT] -# Name influxdb -# match * -# Host coolify-influxdb -# Port 8086 -# Database coolify -# Bucket coolify -# Org coolify -# HTTP_Token 12345678 -# Sequence_Tag _seq \ No newline at end of file diff --git a/others/fluentbit/parsers.conf b/others/fluentbit/parsers.conf deleted file mode 100644 index 1833ff578..000000000 --- a/others/fluentbit/parsers.conf +++ /dev/null @@ -1,6 +0,0 @@ -[PARSER] - Name jsonparser - Format json - Time_Key time - Time_Format %Y-%m-%dT%H:%M:%S.%L - Time_Keep On \ No newline at end of file diff --git a/others/pocketbase/Dockerfile b/others/pocketbase/Dockerfile deleted file mode 100644 index 392e8fd53..000000000 --- a/others/pocketbase/Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ -FROM alpine:3.17 -ARG BUILDARCH -ARG PB_VERSION=0.12.3 -RUN apk add --no-cache \ - unzip \ - ca-certificates - -ADD https://github.com/pocketbase/pocketbase/releases/download/v${PB_VERSION}/pocketbase_${PB_VERSION}_linux_${BUILDARCH}.zip /tmp/pb.zip -RUN unzip /tmp/pb.zip -d /app/ -RUN rm /tmp/pb.zip -EXPOSE 8080 -CMD ["/app/pocketbase", "serve", "--http=0.0.0.0:8080"] diff --git a/package.json b/package.json index 40e105acb..ac4ede736 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "coolify", "description": "An open-source & self-hostable Heroku / Netlify alternative.", - "version": "3.12.27", + "version": "3.12.28", "license": "Apache-2.0", "repository": "github:coollabsio/coolify", "scripts": { @@ -32,7 +32,7 @@ "build:api": "NODE_ENV=production pnpm run --filter api build", "build:ui": "NODE_ENV=production pnpm run --filter ui build", "dockerlogin": "echo $DOCKER_PASS | docker login --username=$DOCKER_USER --password-stdin", - "release:staging:amd": "docker build -t coollabsio/coolify:next . && docker push coollabsio/coolify:next", + "release:staging:amd": "docker build -t ghcr.io/coollabsio/coolify:next . && docker push ghcr.io/coollabsio/coolify:next", "release:local": "rm -fr ./local-serve && mkdir ./local-serve && pnpm build && cp -Rp apps/api/build/* ./local-serve && cp -Rp apps/ui/build/ ./local-serve/public && cp -Rp apps/api/prisma/ ./local-serve/prisma && cp -Rp apps/api/package.json ./local-serve && env | grep '^COOLIFY_' > ./local-serve/.env && cd ./local-serve && pnpm install . && pnpm start" }, "devDependencies": {