Update devbox local settings

This commit is contained in:
Jet Li 2025-02-05 08:24:50 +00:00
parent 9e46c68ce7
commit eb2f4de5c1
7 changed files with 369 additions and 3 deletions

View File

@ -3,8 +3,9 @@ export MONGODB_URI=mongodb://localhost:27017/
export SITE_ACCESS_PORT=80
export FREELEAPS_ENV=dev
export STRIPE_API_KEY=sk_test_51Ogsw5B0IyqaSJBrwczlr820jnmvA1qQQGoLZ2XxOsIzikpmXo4pRLjw4XVMTEBR8DdVTYySiAv1XX53Zv5xqynF00GfMqttFd
export STRIPE_WEBHOOK_SECRET=
export SITE_URL_ROOT=http://localhost/
export STRIPE_WEBHOOK_SECRET=whsec_S6ZWjSAdR5Cpsn2USH6ZRBqbdBIENjTC
export STRIPE_ACCOUNT_WEBHOOK_SECRET=whsec_PgPnkWGhEUiQfnV8aIb5Wmruz7XETJLm
export SITE_URL_ROOT=http://localhost:5173/
export RABBITMQ_HOST=localhost
export RABBITMQ_PORT=5672
export FONTAWESOME_AUTH_TOKEN=58624E90-2685-43C6-BF0F-0BFECCE11CD2

View File

@ -22,7 +22,7 @@ else
echo "Gitea data copying is done"
fi
source ~/devbox/.dev.env
source ~/devbox/devbox.local/.dev.env
docker network create devbox_freeleaps2-network
docker-compose -f docker-compose.dev.amd64.new.yaml up -d
```

View File

@ -214,6 +214,7 @@ services:
- SERVICE_API_ACCESS_PORT=8006
- STRIPE_API_KEY=sk_test_51Ogsw5B0IyqaSJBrwczlr820jnmvA1qQQGoLZ2XxOsIzikpmXo4pRLjw4XVMTEBR8DdVTYySiAv1XX53Zv5xqynF00GfMqttFd
- STRIPE_WEBHOOK_SECRET=whsec_S6ZWjSAdR5Cpsn2USH6ZRBqbdBIENjTC
- STRIPE_ACCOUNT_WEBHOOK_SECRET=whsec_PgPnkWGhEUiQfnV8aIb5Wmruz7XETJLm
- MONGODB_NAME=freeleaps2
- MONGODB_PORT=27017
- MONGODB_URI=mongodb://freeleaps2-mongodb:27017/

View File

@ -0,0 +1,256 @@
services:
gitea:
# For apple chip, add: platform: linux/amd64
container_name: freeleaps2-gitea
platform: linux/arm64
image: gitea/gitea:latest
restart: always
ports:
- "3000:3000"
environment:
- DISABLE_REGISTRATION=true
- REQUIRE_SIGNIN_VIEW=true
volumes:
- devboxlocal_freeleaps2-gitea-data:/data
networks:
- devbox_freeleaps2-network
mongodb:
# For apple chip, add: platform: linux/amd64
# For apple chip, you may want to downgrade to public mongo:4.4 for log support
container_name: freeleaps2-mongodb
platform: linux/arm64
image: mongo:latest
restart: always
ports:
- "27017:27017"
volumes:
- freeleaps2-mongodb-data:/data/db
networks:
- devbox_freeleaps2-network
rabbitmq:
# For apple chip, add: platform: linux/amd64
platform: linux/arm64
container_name: freeleaps2-rabbitmq
image: rabbitmq:latest
restart: always
ports:
- "5672:5672"
- "15672:15672"
volumes:
- freeleaps2-rabbitmq-data:/var/lib/rabbitmq
networks:
- devbox_freeleaps2-network
devsvc:
container_name: devsvc
image: freeleaps/devsvc:latest-linux-arm64
restart: always
environment:
- APP_NAME=devsvc
- SERVICE_API_ACCESS_HOST=localhost
- SERVICE_API_ACCESS_PORT=8007
- MONGODB_NAME=freeleaps2
- MONGODB_URI=mongodb://freeleaps2-mongodb:27017/
- GITEA_TOKEN=cc8656724aef0059664b4adec2a2b2b1e583f618
- GITEA_URL=http://freeleaps2-gitea:3000
- CODE_DEPOT_HTTP_PORT=3443
- CODE_DEPOT_SSH_PORT=22
- CODE_DEPOT_DOMAIN_NAME=localhost
- RABBITMQ_HOST=freeleaps2-rabbitmq
- RABBITMQ_PORT=5672
- LOG_BASE_PATH=/app/log/devsvc
- BACKEND_LOG_FILE_NAME=devsvc.log
- APPLICATION_ACTIVITY_LOG=devsvc-application.log
ports:
- 8007:8007
command:
- /bin/sh
- -c
- |
uvicorn webapi.main:app --reload --port=8007 --host=0.0.0.0
volumes:
- type: bind
source: /var/lib/docker/app/devsvc/log
target: /app/log/devsvc
networks:
- devbox_freeleaps2-network
central_storage:
container_name: central_storage
image: freeleaps/central_storage:latest-linux-arm64
# profiles: [ prod, alpha, dev ]
platform: linux/arm64
restart: always
environment:
- APP_NAME=central_storage
- MONGODB_NAME=freeleaps2
- MONGODB_PORT=27017
- MONGODB_URI=mongodb://freeleaps2-mongodb:27017/
- SERVICE_API_ACCESS_HOST=localhost
- SERVICE_API_ACCESS_PORT=8005
- AZURE_STORAGE_DOCUMENT_API_KEY=Cg+wtKpHt6Bo6bTUtjic40cRNRZ8NCI3JYBY69BNPgFJARVx/c18iVC7cASbJfzukyu4pksyhUep+AStFdpH7Q==
- AZURE_STORAGE_DOCUMENT_API_ENDPOINT=https://freeleaps1document.blob.core.windows.net/
- LOG_BASE_PATH=/app/log/central_storage
- BACKEND_LOG_FILE_NAME=central_storage.log
- APPLICATION_ACTIVITY_LOG=central_storage-application.log
ports:
- 8005:8005
command:
- /bin/sh
- -c
- |
uvicorn webapi.main:app --reload --port=8005 --host=0.0.0.0
networks:
- devbox_freeleaps2-network
volumes:
- type: bind
source: /var/lib/docker/app/central_storage/log
target: /app/log/central_storage
authentication:
container_name: authentication
image: freeleaps/authentication:latest-linux-arm64
# profiles: [ prod, alpha, dev ]
platform: linux/arm64
restart: always
environment:
- APP_NAME=authentication
- MONGODB_NAME=freeleaps2
- MONGODB_PORT=27017
- MONGODB_URI=mongodb://freeleaps2-mongodb:27017/
- SERVICE_API_ACCESS_HOST=localhost
- SERVICE_API_ACCESS_PORT=8004
- LOG_BASE_PATH=/app/log/authentication
- BACKEND_LOG_FILE_NAME=authentication.log
- APPLICATION_ACTIVITY_LOG=authentication-application.log
- NOTIFICATION_WEBAPI_URL_BASE=http://notification:8003/api/notification/
- DEVSVC_WEBAPI_URL_BASE=http://devsvc:8007/api/devsvc
- JWT_SECRET_KEY=8f87ca8c3c9c3df09a9c78e0adb0927855568f6072d9efc892534aee35f5867b
- JWT_ALGORITHM=HS256
ports:
- 8004:8004
command:
- /bin/sh
- -c
- |
uvicorn webapi.main:app --reload --port=8004 --host=0.0.0.0
networks:
- devbox_freeleaps2-network
volumes:
- type: bind
source: /var/lib/docker/app/authentication/log
target: /app/log/authentication
content:
container_name: content
image: freeleaps/content:latest-linux-arm64
# profiles: [ prod, alpha, dev ]
platform: linux/arm64
restart: always
environment:
- APP_NAME=content
- SERVICE_API_ACCESS_HOST=localhost
- SERVICE_API_ACCESS_PORT=8013
- MONGODB_NAME=freeleaps2
- MONGODB_URI=mongodb://freeleaps2-mongodb:27017/
- FREELEAPS_WWW_AS_AZURE_CLIENT_SECRET=jTu8Q~WceiK-5dfZB44Ww-K4fVGi3_5tHNWYYbdX
- CENTRAL_STORAGE_WEBAPI_URL_BASE=http://central_storage:8005/api/central_storage/
- LOG_BASE_PATH=/app/log/content
- BACKEND_LOG_FILE_NAME=content.log
- APPLICATION_ACTIVITY_LOG=content-application.log
ports:
- 8013:8013
command:
- /bin/sh
- -c
- |
uvicorn webapi.main:app --reload --port=8013 --host=0.0.0.0
networks:
- devbox_freeleaps2-network
volumes:
- type: bind
source: /var/lib/docker/app/content/log
target: /app/log/content
notification:
container_name: notification
image: freeleaps/notification:latest-linux-arm64
# profiles: [ prod, alpha, dev ]
platform: linux/arm64
restart: always
environment:
- APP_NAME=notification
- SERVICE_API_ACCESS_HOST=localhost
- SERVICE_API_ACCESS_PORT=8003
- RABBITMQ_HOST=freeleaps2-rabbitmq
- RABBITMQ_PORT=5672
- SYSTEM_USER_ID=117f191e810c19729de860aa
- SMS_FROM=+16898887156
- EMAIL_FROM=freeleaps@freeleaps.com
- SECRET_KEY=8f87ca8c3c9c3df09a9c78e0adb0927855568f6072d9efc892534aee35f5867b
- SENDGRID_API_KEY=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
- TWILIO_ACCOUNT_SID=ACf8c9283a6acda060258eadb29be58bc8
- TWILIO_AUTH_TOKEN=120165c0550111ddfd58efc97dafc2fe
- LOG_BASE_PATH=/app/log/notification
- BACKEND_LOG_FILE_NAME=notification.log
- APPLICATION_ACTIVITY_LOG=notification-application.log
ports:
- 8003:8003
command:
- /bin/sh
- -c
- |
uvicorn webapi.main:app --reload --port=8003 --host=0.0.0.0
networks:
- devbox_freeleaps2-network
volumes:
- type: bind
source: /var/lib/docker/app/notification/log
target: /app/log/notification
payment:
container_name: payment
image: freeleaps/payment:latest-linux-arm64
restart: always
environment:
- APP_NAME=payment
- JWT_SECRET_KEY="8f87ca8c3c9c3df09a9c78e0adb0927855568f6072d9efc892534aee35f5867b"
- JWT_ALGORITHM="HS256" #site_settings
- SERVICE_API_ACCESS_HOST=localhost
- SERVICE_API_ACCESS_PORT=8006
- STRIPE_API_KEY=sk_test_51Ogsw5B0IyqaSJBrwczlr820jnmvA1qQQGoLZ2XxOsIzikpmXo4pRLjw4XVMTEBR8DdVTYySiAv1XX53Zv5xqynF00GfMqttFd
- STRIPE_WEBHOOK_SECRET=whsec_S6ZWjSAdR5Cpsn2USH6ZRBqbdBIENjTC
- STRIPE_ACCOUNT_WEBHOOK_SECRET=whsec_PgPnkWGhEUiQfnV8aIb5Wmruz7XETJLm
- MONGODB_NAME=freeleaps2
- MONGODB_PORT=27017
- MONGODB_URI=mongodb://freeleaps2-mongodb:27017/
- LOG_BASE_PATH=/app/log/payment
- BACKEND_LOG_FILE_NAME=payment.log
- SITE_URL_ROOT=http://localhost/
- APPLICATION_ACTIVITY_LOG=payment-application.log
ports:
- 8006:8006
command:
- /bin/sh
- -c
- |
uvicorn webapi.main:app --reload --port=8006 --host=0.0.0.0
networks:
- devbox_freeleaps2-network
volumes:
- type: bind
source: /var/lib/docker/app/payment/log
target: /app/log/payment
volumes:
freeleaps2-mongodb-data:
devboxlocal_freeleaps2-gitea-data:
external: true
freeleaps2-rabbitmq-data:
networks:
devbox_freeleaps2-network:
external: true

View File

@ -222,6 +222,7 @@ services:
- SERVICE_API_ACCESS_PORT=8006
- STRIPE_API_KEY=sk_test_51Ogsw5B0IyqaSJBrwczlr820jnmvA1qQQGoLZ2XxOsIzikpmXo4pRLjw4XVMTEBR8DdVTYySiAv1XX53Zv5xqynF00GfMqttFd
- STRIPE_WEBHOOK_SECRET=whsec_S6ZWjSAdR5Cpsn2USH6ZRBqbdBIENjTC
- STRIPE_ACCOUNT_WEBHOOK_SECRET=whsec_PgPnkWGhEUiQfnV8aIb5Wmruz7XETJLm
- MONGODB_NAME=freeleaps2
- MONGODB_PORT=27017
- MONGODB_URI=mongodb://freeleaps2-mongodb:27017/

View File

@ -0,0 +1,106 @@
services:
mongodb:
container_name: freeleaps2-mongodb-alpha
image: mongo:latest
profiles: [ alpha ]
restart: always
ports:
- ${MONGODB_PORT}:${MONGODB_PORT}
volumes:
- freeleaps2-mongodb-data:/data/db
networks:
- freeleaps2-network
rabbitmq:
container_name: freeleaps2-rabbitmq
image: rabbitmq:3.13
profiles: [ alpha, rabbitmq ]
restart: always
ports:
- ${RABBITMQ_PORT}:${RABBITMQ_PORT}
- ${RABBITMQ_PORT_1}:${RABBITMQ_PORT_1}
volumes:
- freeleaps2-rabbitmq-data:/var/lib/rabbitmq
networks:
- freeleaps2-network
frontend:
container_name: freeleaps2-frontend
build:
context: ${FRONTEND_HOME}
args:
CONTAINER_APP_ROOT: ${CONTAINER_APP_ROOT}
FRONTEND_PORT: ${FRONTEND_PORT}
profiles: [ prod, alpha ]
restart: always
ports:
- ${FRONTEND_PORT}:${FRONTEND_PORT}
depends_on:
- backend
networks:
- freeleaps2-network
backend:
container_name: freeleaps2-backend
build:
context: ${BACKEND_HOME}
args:
CONTAINER_APP_ROOT: ${CONTAINER_APP_ROOT}
profiles: [ prod, alpha ]
restart: always
environment:
- CERT_PATH=/app/certs
- EMAIL_FROM=${EMAIL_FROM}
- MONGODB_URI=${MONGODB_URI}
- MONGODB_NAME=freeleaps2
- STRIPE_API_KEY=${STRIPE_API_KEY}
- STRIPE_WEBHOOK_SECRET=${STRIPE_WEBHOOK_SECRET}
- STRIPE_ACCOUNT_WEBHOOK_SECRET=${STRIPE_ACCOUNT_WEBHOOK_SECRET}
- SITE_URL_ROOT=${SITE_URL_ROOT}
- JWT_SECRET_KEY=${JWT_SECRET_KEY}
- RABBITMQ_HOST=${RABBITMQ_HOSTNAME}
- RABBITMQ_PORT=${RABBITMQ_PORT}
- LOG_BASE_PATH=${LOG_BASE_PATH}
- BACKEND_LOG_FILE_NAME=${BACKEND_LOG_FILE_NAME}
- APPLICATION_ACTIVITY_LOG=${APPLICATION_ACTIVITY_LOG}
- USER_ACTIVITY_LOG=${USER_ACTIVITY_LOG}
- BACKEND_PORT=${BACKEND_PORT}
- FREELEAPS_ENV=${FREELEAPS_ENV}
- FREELEAPS_DEVSVC_ENDPOINT=${FREELEAPS_DEVSVC_ENDPOINT}
- FREELEAPS_CONTENT_ENDPOINT=${FREELEAPS_CONTENT_ENDPOINT}
- FREELEAPS_PAYMENT_ENDPOINT=${FREELEAPS_PAYMENT_ENDPOINT}
- FREELEAPS_CENTRAL_STORAGE_ENDPOINT=${FREELEAPS_CENTRAL_STORAGE_ENDPOINT}
- FREELEAPS_AUTHENTICATION_ENDPOINT=${FREELEAPS_AUTHENTICATION_ENDPOINT}
- CERT_PATH=${CERT_PATH}
- KAFKA_SERVER_URL=${KAFKA_SERVER_URL}
ports:
- ${BACKEND_PORT}:${BACKEND_PORT}
command:
# Use a conditional check for RabbitMQ in alpha profile
- /bin/sh
- -c
- |
if [[ \"${RABBITMQ_HOST}\" == 'freeleaps2-rabbitmq' ]]; then
while ! nc -z freeleaps2-rabbitmq ${RABBITMQ_PORT}; do
echo "Waiting for RabbitMQ to start..."
sleep 1
done
echo "RabbitMQ started"
fi
uvicorn freeleaps.webapi.main:app --host=0.0.0.0 --port=${BACKEND_PORT} --workers 4 --timeout-keep-alive 120 --log-level info
networks:
- freeleaps2-network
volumes:
- /secure/certs:/app/certs
- type: bind
source: $DOCKER_BACKEND_LOG_HOME
target: $LOG_BASE_PATH
volumes:
freeleaps2-mongodb-data:
freeleaps2-rabbitmq-data:
networks:
freeleaps2-network:
driver: bridge

View File

@ -9,6 +9,7 @@ export SITE_ACCESS_PORT=80
export FREELEAPS_ENV=dev
export STRIPE_API_KEY=sk_test_51Ogsw5B0IyqaSJBrwczlr820jnmvA1qQQGoLZ2XxOsIzikpmXo4pRLjw4XVMTEBR8DdVTYySiAv1XX53Zv5xqynF00GfMqttFd
export STRIPE_WEBHOOK_SECRET=
export STRIPE_ACCOUNT_WEBHOOK_SECRET=
export SITE_URL_ROOT=http://localhost/
export AZURE_TRANSLATION_API_KEY=eaf4c14eb06b4cd790e90111dc6e9f57
export AZURE_TRANSLATION_API_LOCATION=global