diff options
| -rw-r--r-- | README.md | 2 | ||||
| -rwxr-xr-x | bin/prod_secrets | 22 | ||||
| -rwxr-xr-x | bin/test | 4 | ||||
| -rw-r--r-- | docker-compose.yml | 8 |
4 files changed, 22 insertions, 14 deletions
@@ -30,7 +30,7 @@ Rather than forking both repos, this repo contains only the compose file, a Sear ``` ┌──────────────────────────┐ - Internet ──► Traefik ──► Firecrawl API (:3002) + Internet ──► Traefik ──► Firecrawl API (:31329) │ │ │ │ ▼ ▼ │ Playwright Redis diff --git a/bin/prod_secrets b/bin/prod_secrets index e409a56..5c6f34a 100755 --- a/bin/prod_secrets +++ b/bin/prod_secrets @@ -13,27 +13,35 @@ function get_or_gen_secret() { local val=$(openssl rand -hex 32) gopass insert -f "$path" <<< "$val" else - echo >&2 "Missing required secret: $description ($path)" - echo >&2 "Please enter the value:" - read -rs val + echo >&2 "$description" + echo >&2 "Enter value (leave empty to skip):" + read -r val gopass insert -f "$path" <<< "$val" fi fi gopass show -o "$path" } -FIRECRAWL_DOMAIN=$(get_or_gen_secret "projects/firecrawl-dokploy/prod/firecrawl_domain" false "Firecrawl domain (e.g. firecrawl.yourdomain.com)") TEST_API_KEY=$(get_or_gen_secret "projects/firecrawl-dokploy/prod/api_key" true "Firecrawl API Key") BULL_AUTH_KEY=$(get_or_gen_secret "projects/firecrawl-dokploy/prod/bull_auth_key" true "Bull Auth Key") POSTGRES_PASSWORD=$(get_or_gen_secret "projects/firecrawl-dokploy/prod/postgres_password" true "PostgreSQL Password") SEARXNG_SECRET_KEY=$(get_or_gen_secret "projects/firecrawl-dokploy/prod/searxng_secret_key" true "SearXNG Secret Key") -OPENAI_API_KEY=$(get_or_gen_secret "projects/firecrawl-dokploy/prod/openai_api_key" false "OpenAI API Key (optional, press enter to skip)") + +# FIRECRAWL_DOMAIN is only needed if you use Traefik routing (not required for direct IP access). +FIRECRAWL_DOMAIN=$(gopass show -o "projects/firecrawl-dokploy/prod/firecrawl_domain" 2>/dev/null || echo "") +# OPENAI_API_KEY is only needed for /extract features. Add it directly in Dokploy if needed. +OPENAI_API_KEY=$(gopass show -o "projects/firecrawl-dokploy/prod/openai_api_key" 2>/dev/null || echo "") cat <<EOF -FIRECRAWL_DOMAIN=$FIRECRAWL_DOMAIN TEST_API_KEY=$TEST_API_KEY BULL_AUTH_KEY=$BULL_AUTH_KEY POSTGRES_PASSWORD=$POSTGRES_PASSWORD SEARXNG_SECRET=$SEARXNG_SECRET_KEY -OPENAI_API_KEY=$OPENAI_API_KEY EOF + +if [ -n "$FIRECRAWL_DOMAIN" ]; then + echo "FIRECRAWL_DOMAIN=$FIRECRAWL_DOMAIN" +fi +if [ -n "$OPENAI_API_KEY" ]; then + echo "OPENAI_API_KEY=$OPENAI_API_KEY" +fi @@ -10,14 +10,14 @@ export GPG_TTY=$(tty) # such as an AI agent. # # Usage: -# bin/test # local dev — hits http://127.0.0.1:3002 +# bin/test # local dev — hits http://127.0.0.1:31329 # bin/test https://my.host # remote — hits the given base URL # # The API key is read from gopass at projects/firecrawl-dokploy/dev/api_key # (override by exporting TEST_API_KEY before running). # ---------------------------------------------------------------------------- -BASE_URL="${1:-http://127.0.0.1:3002}" +BASE_URL="${1:-http://127.0.0.1:31329}" BASE_URL="${BASE_URL%/}" if [ -z "${TEST_API_KEY:-}" ]; then diff --git a/docker-compose.yml b/docker-compose.yml index 2bd169e..32d6b52 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -134,8 +134,8 @@ services: environment: # === Server === HOST: 0.0.0.0 - PORT: ${INTERNAL_PORT:-3002} - INTERNAL_PORT: ${INTERNAL_PORT:-3002} + PORT: ${INTERNAL_PORT:-31329} + INTERNAL_PORT: ${INTERNAL_PORT:-31329} ENV: local NUM_WORKERS_PER_QUEUE: ${NUM_WORKERS_PER_QUEUE:-8} USE_DB_AUTHENTICATION: ${USE_DB_AUTHENTICATION:-false} @@ -174,7 +174,7 @@ services: PROXY_USERNAME: ${PROXY_USERNAME:-} PROXY_PASSWORD: ${PROXY_PASSWORD:-} ports: - - "127.0.0.1:${INTERNAL_PORT:-3002}:${INTERNAL_PORT:-3002}" + - "0.0.0.0:${INTERNAL_PORT:-31329}:${INTERNAL_PORT:-31329}" ulimits: nofile: soft: 65535 @@ -201,7 +201,7 @@ services: - "traefik.http.routers.firecrawl-api.rule=Host(`${FIRECRAWL_DOMAIN}`)" - "traefik.http.routers.firecrawl-api.entrypoints=websecure" - "traefik.http.routers.firecrawl-api.tls.certResolver=letsencrypt" - - "traefik.http.services.firecrawl-api.loadbalancer.server.port=${INTERNAL_PORT:-3002}" + - "traefik.http.services.firecrawl-api.loadbalancer.server.port=${INTERNAL_PORT:-31329}" logging: driver: "json-file" options: |
