Shufflepuff
Shufflepuff
Explore posts from servers
CDCloudflare Developers
Created by Shufflepuff on 2/21/2025 in #workers-help
Wrangler deploy missing permissions to read account
No description
12 replies
CDCloudflare Developers
Created by Shufflepuff on 2/20/2025 in #pages-help
Issues with environment variables when deploying a pages project in GitHub/Gitea action
Heya, I'm using a self-hosted Gitea instance as VCS, which has a GitHub Actions compatible worker environment. What I'm trying to deploy to Cloudflare Pages is a Nuxt 3 project. I have some problems figuring out how to deploy the environment variables and secrets. When running pnpm run build && wrangler pages deploy locally in my dev environment it deploys all fine, but not when I do that in my deploy action. The main difference between my local environment and the action runner environment is probably that I don't have a .dev.vars file there and also the .env file would not contain all necessary variables in the action runner. Unfortunately the cloudflare/wrangler-action@v3 does not yet support setting secrets as options for pages projects. This only works for worker projects: https://github.com/cloudflare/wrangler-action/issues/304 I'm wondering what's missing here for my environment variables to be deployed successfully. build.yaml:
- name: Deploy to Cloudflare Pages
uses: cloudflare/wrangler-action@v3
env:
NUXT_SESSION_PASSWORD: ${{ secrets.NUXT_SESSION_PASSWORD }}
NUXT_OAUTH_AUTH0_CLIENT_SECRET: ${{ secrets.NUXT_OAUTH_AUTH0_CLIENT_SECRET }}
NUXT_DEPLOY_VERSION: ${{ github.sha }}

NUXT_OAUTH_AUTH0_CLIENT_ID: ${{ vars.NUXT_OAUTH_AUTH0_CLIENT_ID }}
NUXT_OAUTH_AUTH0_DOMAIN: ${{ vars.NUXT_OAUTH_AUTH0_DOMAIN }}
NUXT_OAUTH_AUTH0_AUDIENCE: ${{ vars.NUXT_OAUTH_AUTH0_AUDIENCE }}

NUXT_PUBLIC_HOSTNAME: ${{ if github.ref == 'refs/heads/main' }}${{ vars.NUXT_PUBLIC_HOSTNAME_PRODUCTION }}${{ else }}${{ vars.NUXT_PUBLIC_HOSTNAME_PREVIEW }}${{ endif }}
NUXT_PUBLIC_BACKEND_BASE_URL: ${{ vars.NUXT_PUBLIC_BACKEND_BASE_URL }}
NUXT_PUBLIC_I18N_BASE_URL: https://${{ if github.ref == 'refs/heads/main' }}${{ vars.NUXT_PUBLIC_HOSTNAME_PRODUCTION }}${{ else }}${{ vars.NUXT_PUBLIC_HOSTNAME_PREVIEW }}${{ endif }}
NUXT_PUBLIC_API_BASE_URL: ${{ vars.NUXT_PUBLIC_API_BASE_URL }}
NUXT_PUBLIC_GEO_RESTRICTED_COUNTRIES: ${{ vars.NUXT_PUBLIC_GEO_RESTRICTED_COUNTRIES }}
NUXT_COINGECKO_API_KEY: ${{ secrets.NUXT_COINGECKO_API_KEY }}
NUXT_COINGECKO_CURRENCY_ID_MAPPING: ${{ vars.NUXT_COINGECKO_CURRENCY_ID_MAPPING }}
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}

vars: |
NUXT_DEPLOY_VERSION
NUXT_OAUTH_AUTH0_CLIENT_ID
NUXT_OAUTH_AUTH0_DOMAIN
NUXT_OAUTH_AUTH0_AUDIENCE
NUXT_PUBLIC_HOSTNAME
NUXT_PUBLIC_BACKEND_BASE_URL
NUXT_PUBLIC_I18N_BASE_URL
NUXT_PUBLIC_API_BASE_URL
NUXT_PUBLIC_GEO_RESTRICTED_COUNTRIES
NUXT_COINGECKO_CURRENCY_ID_MAPPING

# Commented out because this leads to a Wrangler error.
# For now we have to set the secrets in the Cloudflare dashboard.
# GitHub issue: https://github.com/cloudflare/wrangler-action/issues/304
# secrets: |
# NUXT_SESSION_PASSWORD
# NUXT_OAUTH_AUTH0_CLIENT_SECRET
# NUXT_COINGECKO_API_KEY

preCommands: |
bash -c 'for secret in NUXT_SESSION_PASSWORD NUXT_OAUTH_AUTH0_CLIENT_SECRET NUXT_COINGECKO_API_KEY; do echo "${!secret}" | npx wrangler pages secret put "$secret" ${{ github.ref != 'refs/heads/main' && '-e preview' || '' }}; done'

command: pages deploy dist/ ${{ github.ref != 'refs/heads/main' && format('--branch={0}', github.ref_name) || '' }}
- name: Deploy to Cloudflare Pages
uses: cloudflare/wrangler-action@v3
env:
NUXT_SESSION_PASSWORD: ${{ secrets.NUXT_SESSION_PASSWORD }}
NUXT_OAUTH_AUTH0_CLIENT_SECRET: ${{ secrets.NUXT_OAUTH_AUTH0_CLIENT_SECRET }}
NUXT_DEPLOY_VERSION: ${{ github.sha }}

NUXT_OAUTH_AUTH0_CLIENT_ID: ${{ vars.NUXT_OAUTH_AUTH0_CLIENT_ID }}
NUXT_OAUTH_AUTH0_DOMAIN: ${{ vars.NUXT_OAUTH_AUTH0_DOMAIN }}
NUXT_OAUTH_AUTH0_AUDIENCE: ${{ vars.NUXT_OAUTH_AUTH0_AUDIENCE }}

NUXT_PUBLIC_HOSTNAME: ${{ if github.ref == 'refs/heads/main' }}${{ vars.NUXT_PUBLIC_HOSTNAME_PRODUCTION }}${{ else }}${{ vars.NUXT_PUBLIC_HOSTNAME_PREVIEW }}${{ endif }}
NUXT_PUBLIC_BACKEND_BASE_URL: ${{ vars.NUXT_PUBLIC_BACKEND_BASE_URL }}
NUXT_PUBLIC_I18N_BASE_URL: https://${{ if github.ref == 'refs/heads/main' }}${{ vars.NUXT_PUBLIC_HOSTNAME_PRODUCTION }}${{ else }}${{ vars.NUXT_PUBLIC_HOSTNAME_PREVIEW }}${{ endif }}
NUXT_PUBLIC_API_BASE_URL: ${{ vars.NUXT_PUBLIC_API_BASE_URL }}
NUXT_PUBLIC_GEO_RESTRICTED_COUNTRIES: ${{ vars.NUXT_PUBLIC_GEO_RESTRICTED_COUNTRIES }}
NUXT_COINGECKO_API_KEY: ${{ secrets.NUXT_COINGECKO_API_KEY }}
NUXT_COINGECKO_CURRENCY_ID_MAPPING: ${{ vars.NUXT_COINGECKO_CURRENCY_ID_MAPPING }}
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}

vars: |
NUXT_DEPLOY_VERSION
NUXT_OAUTH_AUTH0_CLIENT_ID
NUXT_OAUTH_AUTH0_DOMAIN
NUXT_OAUTH_AUTH0_AUDIENCE
NUXT_PUBLIC_HOSTNAME
NUXT_PUBLIC_BACKEND_BASE_URL
NUXT_PUBLIC_I18N_BASE_URL
NUXT_PUBLIC_API_BASE_URL
NUXT_PUBLIC_GEO_RESTRICTED_COUNTRIES
NUXT_COINGECKO_CURRENCY_ID_MAPPING

# Commented out because this leads to a Wrangler error.
# For now we have to set the secrets in the Cloudflare dashboard.
# GitHub issue: https://github.com/cloudflare/wrangler-action/issues/304
# secrets: |
# NUXT_SESSION_PASSWORD
# NUXT_OAUTH_AUTH0_CLIENT_SECRET
# NUXT_COINGECKO_API_KEY

preCommands: |
bash -c 'for secret in NUXT_SESSION_PASSWORD NUXT_OAUTH_AUTH0_CLIENT_SECRET NUXT_COINGECKO_API_KEY; do echo "${!secret}" | npx wrangler pages secret put "$secret" ${{ github.ref != 'refs/heads/main' && '-e preview' || '' }}; done'

command: pages deploy dist/ ${{ github.ref != 'refs/heads/main' && format('--branch={0}', github.ref_name) || '' }}
Thank you in advance for guiding me into any useful direction šŸ™‚
2 replies
WWindmill
Created by Shufflepuff on 11/30/2024 in #help
InternalError: Sql error: error communicating with database
No description
4 replies
WWindmill
Created by Shufflepuff on 11/16/2024 in #help
Run docker container in flow and curl against it
Heya, I'm trying to spin up a docker container as part of a flow and I want to wait for it to be available. Here's what I have so far, but it doesn't seem to be reachable via cURL from here.
# shellcheck shell=bash
# Bash script that calls docker as a client to the host daemon
# See documentation: https://www.windmill.dev/docs/advanced/docker
set -ex

port="${1:-3000}"

IMAGE="zfcsoftware/cf-clearance-scraper:latest"

# ensure that the image is up-to-date
docker pull $IMAGE
docker run \
--rm \
--name cf-clearance-scraper \
-d \
-p "$port":3000 \
-e PORT="$port" \
-e browserLimit=20 \
-e timeOut=60000 \
$IMAGE


# Wait for the container to be ready
while ! curl -s http://0.0.0.0:"$port" > /dev/null; do
echo "Waiting for Cloudflare Clearance Scraper..."
sleep 1
done

docker stop cf-clearance-scraper
# shellcheck shell=bash
# Bash script that calls docker as a client to the host daemon
# See documentation: https://www.windmill.dev/docs/advanced/docker
set -ex

port="${1:-3000}"

IMAGE="zfcsoftware/cf-clearance-scraper:latest"

# ensure that the image is up-to-date
docker pull $IMAGE
docker run \
--rm \
--name cf-clearance-scraper \
-d \
-p "$port":3000 \
-e PORT="$port" \
-e browserLimit=20 \
-e timeOut=60000 \
$IMAGE


# Wait for the container to be ready
while ! curl -s http://0.0.0.0:"$port" > /dev/null; do
echo "Waiting for Cloudflare Clearance Scraper..."
sleep 1
done

docker stop cf-clearance-scraper
Instead of 0.0.0.0 I've also already tried localhost and cf-clearance-scraper. Container is definitely running and exposing the port correctly:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
84facc2a4e61 zfcsoftware/cf-clearance-scraper:latest "docker-entrypoint.sā€¦" 49 seconds ago Up 49 seconds 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp cf-clearance-scraper`
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
84facc2a4e61 zfcsoftware/cf-clearance-scraper:latest "docker-entrypoint.sā€¦" 49 seconds ago Up 49 seconds 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp cf-clearance-scraper`
Any ideas are welcome šŸ™‚ Thank you in advance!
3 replies