diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index bda6dc3..9bd1d3f 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -24,6 +24,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + - name: Set up environment + run: | + cat < deployment/.env << EOF + JWT_SECRET=${{ secrets.JWT_SECRET }} + EOF - name: Build container run: | cd deployment diff --git a/backend/constants.py b/backend/constants.py index 271642c..e1086c9 100644 --- a/backend/constants.py +++ b/backend/constants.py @@ -1,5 +1,11 @@ +import os + + DATABASE_URL = "sqlite:///./data/database.db" -JWT_SECRET_KEY = "fromchat-jwt-secret" JWT_ALGORITHM = "HS256" ACCESS_TOKEN_EXPIRE_HOURS = 24 -OWNER_USERNAME = "denis0001-dev" \ No newline at end of file +OWNER_USERNAME = "denis0001-dev" +JWT_SECRET_KEY = os.getenv("JWT_SECRET") + +if not JWT_SECRET_KEY: + raise ValueError("JWT secret key empty") \ No newline at end of file diff --git a/deployment/docker-compose.yml b/deployment/docker-compose.yml index 40ea6fc..0a818be 100644 --- a/deployment/docker-compose.yml +++ b/deployment/docker-compose.yml @@ -5,6 +5,7 @@ services: context: .. environment: PORT: 8300 + JWT_SECRET: ${JWT_SECRET} volumes: - "data:/app/data" develop: diff --git a/package.json b/package.json index c781e64..504f2d0 100644 --- a/package.json +++ b/package.json @@ -4,17 +4,15 @@ "version": "0.0.0", "type": "module", "scripts": { - "backend:run": "cd backend && ../.venv/bin/fastapi dev --port 8300 main.py", + "backend:run": "cd backend && dotenv -e ../deployment/.env -- ../.venv/bin/fastapi dev --port 8300 main.py", "backend:dependencies": "python3 -m venv .venv && ./.venv/bin/pip3 install -r backend/requirements.txt", "backend:reinstall": "rm -rf .venv && npm run backend:dependencies", "backend:clean": "rm -rf backend/data", - "frontend:dev": "vite frontend", "frontend:build": "tsc --project frontend && vite build frontend", "frontend:preview": "vite preview frontend", "frontend:dependencies": "npm install", "frontend:clean": "rm -rf frontend/dist", - "dev": "concurrently 'npm run frontend:dev' 'npm run backend:run'", "build": "npm run frontend:build", "preview": "cd deployment && docker compose up --build --watch", @@ -25,6 +23,7 @@ "devDependencies": { "autoprefixer": "^10.4.21", "concurrently": "^9.2.0", + "dotenv-cli": "^10.0.0", "postcss": "^8.5.6", "sass-embedded": "^1.90.0", "terser": "^5.43.1",