s
This commit is contained in:
17
.env.local
17
.env.local
@@ -1,11 +1,20 @@
|
|||||||
# 本地调试 - 支付测试 1 元、zpay 渠道
|
# Linux 生产环境 - nomadro.cn
|
||||||
NEXT_PUBLIC_POCKETBASE_URL=https://pocketbase.hackrobot.cn
|
ROOT_DOMAIN=nomadro.cn
|
||||||
PAYMENT_API_URL=http://127.0.0.1:8007
|
NEXT_PUBLIC_ROOT_DOMAIN=nomadro.cn
|
||||||
|
NEXT_PUBLIC_POCKETBASE_URL=https://pocketbase.nomadro.cn
|
||||||
|
POCKETBASE_URL=http://127.0.0.1:8090
|
||||||
|
PAYMENT_API_URL=https://api.nomadro.cn
|
||||||
PAYMENT_PROVIDER=zpay
|
PAYMENT_PROVIDER=zpay
|
||||||
PAYMENT_DEFAULT_AMOUNT=100
|
PAYMENT_DEFAULT_AMOUNT=100
|
||||||
PAYMENT_JOIN_AMOUNT=100
|
PAYMENT_JOIN_AMOUNT=100
|
||||||
NEXT_PUBLIC_SITE_ID=meetup
|
NEXT_PUBLIC_SITE_ID=meetup
|
||||||
NEXT_PUBLIC_SITE_URL=http://localhost:3001
|
NEXT_PUBLIC_SITE_URL=https://nomadro.cn
|
||||||
|
NEXT_PUBLIC_API_BASE_URL=/api
|
||||||
|
|
||||||
|
# MinIO
|
||||||
|
MINIO_ENDPOINT=minio.nomadro.cn
|
||||||
|
MINIO_PORT=443
|
||||||
|
MINIO_USE_SSL=true
|
||||||
|
|
||||||
# PocketBase 管理员(check-user、ensure-user、vip 需要)
|
# PocketBase 管理员(check-user、ensure-user、vip 需要)
|
||||||
POCKETBASE_EMAIL=xiaoshuang.eric@gmail.com
|
POCKETBASE_EMAIL=xiaoshuang.eric@gmail.com
|
||||||
|
|||||||
12
.env.local.bak.20260606212903
Normal file
12
.env.local.bak.20260606212903
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# 本地调试 - 支付测试 1 元、zpay 渠道
|
||||||
|
NEXT_PUBLIC_POCKETBASE_URL=https://pocketbase.hackrobot.cn
|
||||||
|
PAYMENT_API_URL=http://127.0.0.1:8007
|
||||||
|
PAYMENT_PROVIDER=zpay
|
||||||
|
PAYMENT_DEFAULT_AMOUNT=100
|
||||||
|
PAYMENT_JOIN_AMOUNT=100
|
||||||
|
NEXT_PUBLIC_SITE_ID=meetup
|
||||||
|
NEXT_PUBLIC_SITE_URL=http://localhost:3001
|
||||||
|
|
||||||
|
# PocketBase 管理员(check-user、ensure-user、vip 需要)
|
||||||
|
POCKETBASE_EMAIL=xiaoshuang.eric@gmail.com
|
||||||
|
POCKETBASE_PASSWORD=Xiao4669805@
|
||||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -51,5 +51,8 @@ build
|
|||||||
/data/
|
/data/
|
||||||
/backend/uploads/
|
/backend/uploads/
|
||||||
/backend/.env
|
/backend/.env
|
||||||
|
/backend/.venv/
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
/tools/pocketbase/
|
/tools/pocketbase/
|
||||||
/tools/pocketbase.zip
|
/tools/pocketbase.zip
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
12
cnomadcna.sh
Normal file → Executable file
12
cnomadcna.sh
Normal file → Executable file
@@ -1,3 +1,11 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
export PORT=4002
|
set -euo pipefail
|
||||||
exec npm run start
|
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
|
export PATH="/usr/local/bin:/usr/bin:/bin"
|
||||||
|
export NODE_ENV=production
|
||||||
|
export HOSTNAME="${NEXT_HOSTNAME:-0.0.0.0}"
|
||||||
|
export PORT="${PORT:-4002}"
|
||||||
|
|
||||||
|
exec pnpm start
|
||||||
|
|||||||
54
codex-config.sh
Normal file
54
codex-config.sh
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Prompt for API KEY
|
||||||
|
while true; do
|
||||||
|
read -p "Please enter your API KEY: " API_KEY
|
||||||
|
if [ -n "$API_KEY" ]; then
|
||||||
|
break
|
||||||
|
else
|
||||||
|
echo "Error: API KEY cannot be empty. Please try again."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Check if config files exist and backup if necessary
|
||||||
|
CONFIG_FILE=~/.codex/config.toml
|
||||||
|
AUTH_FILE=~/.codex/auth.json
|
||||||
|
BACKUP_FILE=~/codex-config.backup.tar.gz
|
||||||
|
|
||||||
|
if [ -f "$CONFIG_FILE" ] || [ -f "$AUTH_FILE" ]; then
|
||||||
|
echo "Existing configuration files found. Creating backup..."
|
||||||
|
tar -czf "$BACKUP_FILE" -C ~/.codex $(ls ~/.codex/ | grep -E '^(config\.toml|auth\.json)$' 2>/dev/null)
|
||||||
|
echo "Backup created: $BACKUP_FILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create ~/.codex directory if it doesn't exist
|
||||||
|
mkdir -p ~/.codex
|
||||||
|
|
||||||
|
# Create config.toml
|
||||||
|
cat > "$CONFIG_FILE" << 'EOF'
|
||||||
|
model_provider = "codex-for-me"
|
||||||
|
model = "gpt-5.3-codex"
|
||||||
|
model_reasoning_effort = "xhigh"
|
||||||
|
disable_response_storage = true
|
||||||
|
sandbox_mode = "danger-full-access"
|
||||||
|
|
||||||
|
[model_providers.codex-for-me]
|
||||||
|
name = "codex-for-me"
|
||||||
|
base_url = "https://blackaicoding.com/v1"
|
||||||
|
wire_api = "responses"
|
||||||
|
requires_openai_auth = true
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Create auth.json with user-provided API KEY
|
||||||
|
cat > "$AUTH_FILE" << EOF
|
||||||
|
{
|
||||||
|
"OPENAI_API_KEY": "$API_KEY"
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Configuration completed successfully!"
|
||||||
|
echo ""
|
||||||
|
echo "To restore previous configuration, run:"
|
||||||
|
echo " tar -xzf ~/codex-config.backup.tar.gz -C ~/.codex"
|
||||||
|
echo ""
|
||||||
@@ -1,6 +1,15 @@
|
|||||||
import type { NextConfig } from "next";
|
import type { NextConfig } from "next";
|
||||||
|
|
||||||
const nextConfig: NextConfig = {
|
const nextConfig: NextConfig = {
|
||||||
|
async rewrites() {
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
source:
|
||||||
|
"/api/:path((?:health|cities|content|notifications|recommendations|routes|services|downloads|meetups|discussions|gigs|profiles|matches|feedback|stats|ai).*)",
|
||||||
|
destination: "http://127.0.0.1:8000/api/:path",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
},
|
||||||
allowedDevOrigins: [
|
allowedDevOrigins: [
|
||||||
"localhost",
|
"localhost",
|
||||||
"localhost:3000",
|
"localhost:3000",
|
||||||
|
|||||||
Reference in New Issue
Block a user