diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/backend/.env b/backend/.env old mode 100644 new mode 100755 index c3af24175..100bbb657 --- a/backend/.env +++ b/backend/.env @@ -9,7 +9,7 @@ PROJECT_NAME="Full Stack FastAPI Project" STACK_NAME=full-stack-fastapi-project # Backend -BACKEND_CORS_ORIGINS="http://localhost,http://localhost:5173,https://localhost,https://localhost:5173" +BACKEND_CORS_ORIGINS="http://stagetwodevops.chickenkiller.com,http://stagetwodevops.chickenkiller.com:5173,https://stagetwodevops.chickenkiller.com,https://stagetwodevops.chickenkiller.com:5173,http://44.212.35.237,http://3.87.64.254:5173,https://3.87.64.254,https://3.87.64.254:5173" SECRET_KEY=changethis123 FIRST_SUPERUSER=devops@hng.tech FIRST_SUPERUSER_PASSWORD=devops#HNG11 diff --git a/backend/.gitignore b/backend/.gitignore old mode 100644 new mode 100755 diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 000000000..70e6c72b3 --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,38 @@ +# Use the official Python image with the desired version +FROM python:3.11-slim + +# Install system dependencies and build tools +RUN apt-get update && \ + apt-get install -y curl build-essential && \ + rm -rf /var/lib/apt/lists/* + +# Install Poetry +RUN pip install poetry + +# Add Poetry to PATH +ENV PATH="/root/.local/bin:$PATH" + +# Set the working directory in the container +WORKDIR /app + +# Copy pyproject.toml and poetry.lock to the working directory +COPY pyproject.toml poetry.lock* /app/ + +# Install dependencies using Poetry +RUN poetry install --no-root --no-interaction --no-ansi + +# Copy the rest of the application code to the container +COPY . /app + +# Ensure the application directory is in the Python path +ENV PYTHONPATH=/app + +# Ensure the prestart.sh script is executable +RUN chmod +x ./prestart.sh + +# Expose the application port +EXPOSE 8000 + +# Command to run the backend server +CMD poetry run bash ./prestart.sh;poetry run uvicorn app.main:app --host 0.0.0.0 --port 8000 + diff --git a/backend/README.md b/backend/README.md old mode 100644 new mode 100755 diff --git a/backend/app/__init__.py b/backend/app/__init__.py old mode 100644 new mode 100755 diff --git a/backend/app/alembic/versions/e2412789c190_initialize_models.py b/backend/app/alembic/versions/e2412789c190_initialize_models.py old mode 100644 new mode 100755 diff --git a/backend/app/api/__init__.py b/backend/app/api/__init__.py old mode 100644 new mode 100755 diff --git a/backend/app/api/deps.py b/backend/app/api/deps.py old mode 100644 new mode 100755 diff --git a/backend/app/api/main.py b/backend/app/api/main.py old mode 100644 new mode 100755 diff --git a/backend/app/api/routes/__init__.py b/backend/app/api/routes/__init__.py old mode 100644 new mode 100755 diff --git a/backend/app/api/routes/items.py b/backend/app/api/routes/items.py old mode 100644 new mode 100755 diff --git a/backend/app/api/routes/login.py b/backend/app/api/routes/login.py old mode 100644 new mode 100755 diff --git a/backend/app/api/routes/users.py b/backend/app/api/routes/users.py old mode 100644 new mode 100755 diff --git a/backend/app/api/routes/utils.py b/backend/app/api/routes/utils.py old mode 100644 new mode 100755 diff --git a/backend/app/backend_pre_start.py b/backend/app/backend_pre_start.py old mode 100644 new mode 100755 diff --git a/backend/app/core/__init__.py b/backend/app/core/__init__.py old mode 100644 new mode 100755 diff --git a/backend/app/core/config.py b/backend/app/core/config.py old mode 100644 new mode 100755 diff --git a/backend/app/core/db.py b/backend/app/core/db.py old mode 100644 new mode 100755 diff --git a/backend/app/core/security.py b/backend/app/core/security.py old mode 100644 new mode 100755 diff --git a/backend/app/crud.py b/backend/app/crud.py old mode 100644 new mode 100755 diff --git a/backend/app/email-templates/build/new_account.html b/backend/app/email-templates/build/new_account.html old mode 100644 new mode 100755 diff --git a/backend/app/email-templates/build/reset_password.html b/backend/app/email-templates/build/reset_password.html old mode 100644 new mode 100755 diff --git a/backend/app/email-templates/build/test_email.html b/backend/app/email-templates/build/test_email.html old mode 100644 new mode 100755 diff --git a/backend/app/email-templates/src/new_account.mjml b/backend/app/email-templates/src/new_account.mjml old mode 100644 new mode 100755 diff --git a/backend/app/email-templates/src/reset_password.mjml b/backend/app/email-templates/src/reset_password.mjml old mode 100644 new mode 100755 diff --git a/backend/app/email-templates/src/test_email.mjml b/backend/app/email-templates/src/test_email.mjml old mode 100644 new mode 100755 diff --git a/backend/app/initial_data.py b/backend/app/initial_data.py old mode 100644 new mode 100755 diff --git a/backend/app/main.py b/backend/app/main.py old mode 100644 new mode 100755 diff --git a/backend/app/models.py b/backend/app/models.py old mode 100644 new mode 100755 diff --git a/backend/app/tests/__init__.py b/backend/app/tests/__init__.py old mode 100644 new mode 100755 diff --git a/backend/app/tests/api/__init__.py b/backend/app/tests/api/__init__.py old mode 100644 new mode 100755 diff --git a/backend/app/tests/api/routes/__init__.py b/backend/app/tests/api/routes/__init__.py old mode 100644 new mode 100755 diff --git a/backend/app/tests/api/routes/test_items.py b/backend/app/tests/api/routes/test_items.py old mode 100644 new mode 100755 diff --git a/backend/app/tests/api/routes/test_login.py b/backend/app/tests/api/routes/test_login.py old mode 100644 new mode 100755 diff --git a/backend/app/tests/api/routes/test_users.py b/backend/app/tests/api/routes/test_users.py old mode 100644 new mode 100755 diff --git a/backend/app/tests/conftest.py b/backend/app/tests/conftest.py old mode 100644 new mode 100755 diff --git a/backend/app/tests/crud/__init__.py b/backend/app/tests/crud/__init__.py old mode 100644 new mode 100755 diff --git a/backend/app/tests/crud/test_user.py b/backend/app/tests/crud/test_user.py old mode 100644 new mode 100755 diff --git a/backend/app/tests/scripts/__init__.py b/backend/app/tests/scripts/__init__.py old mode 100644 new mode 100755 diff --git a/backend/app/tests/scripts/test_backend_pre_start.py b/backend/app/tests/scripts/test_backend_pre_start.py old mode 100644 new mode 100755 diff --git a/backend/app/tests/scripts/test_test_pre_start.py b/backend/app/tests/scripts/test_test_pre_start.py old mode 100644 new mode 100755 diff --git a/backend/app/tests/utils/__init__.py b/backend/app/tests/utils/__init__.py old mode 100644 new mode 100755 diff --git a/backend/app/tests/utils/item.py b/backend/app/tests/utils/item.py old mode 100644 new mode 100755 diff --git a/backend/app/tests/utils/user.py b/backend/app/tests/utils/user.py old mode 100644 new mode 100755 diff --git a/backend/app/tests/utils/utils.py b/backend/app/tests/utils/utils.py old mode 100644 new mode 100755 diff --git a/backend/app/utils.py b/backend/app/utils.py old mode 100644 new mode 100755 diff --git a/backend/poetry.lock b/backend/poetry.lock old mode 100644 new mode 100755 diff --git a/backend/prestart.sh b/backend/prestart.sh old mode 100644 new mode 100755 diff --git a/backend/pyproject.toml b/backend/pyproject.toml old mode 100644 new mode 100755 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..3cd4b7c36 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,75 @@ +version: '3.8' + +services: + postgres: + image: postgres:13 + environment: + POSTGRES_USER: app + POSTGRES_PASSWORD: changethis123 + POSTGRES_DB: app + volumes: + - postgres_data:/var/lib/postgresql/data + ports: + - "5432:5432" + + backend: + build: ./backend + volumes: + - ./backend:/app + ports: + - "8000:8000" + depends_on: + - postgres + environment: + - POSTGRES_SERVER=postgres + - POSTGRES_PORT=5432 + - POSTGRES_DB=app + - POSTGRES_USER=app + - POSTGRES_PASSWORD=changethis123 + - BACKEND_CORS_ORIGINS=http://localhost,http://localhost:5173,https://localhost,https://localhost:5173,http://localhost:8000,https://localhost:8000,http://localhost:8000/api,https://localhost:8000/api,http://localhost:8000/api/ + - SECRET_KEY=changethis123 + - FIRST_SUPERUSER=devops@hng.tech + - FIRST_SUPERUSER_PASSWORD=devops#HNG11 + - USERS_OPEN_REGISTRATION=True + + frontend: + build: ./frontend + command: ["npm", "run", "dev"] + volumes: + - ./frontend:/app + ports: + - "5173:5173" + + nginx: + image: nginx:latest + volumes: + - ./nginx/default.conf:/etc/nginx/conf.d/default.conf + ports: + - "80:80" + - "443:443" + depends_on: + - frontend + - backend + + adminer: + image: adminer:latest + restart: always + ports: + - "8080:8080" + environment: + ADMINER_DEFAULT_SERVER: db + + proxy-manager: + image: jc21/nginx-proxy-manager:latest + restart: unless-stopped + ports: + - "8090:81" + volumes: + - ./proxy/data:/data + - ./proxy/letsencrypt:/etc/letsencrypt + depends_on: + - nginx + + +volumes: + postgres_data: diff --git a/frontend/.env b/frontend/.env old mode 100644 new mode 100755 index 5934e2e7d..0e4f353d0 --- a/frontend/.env +++ b/frontend/.env @@ -1 +1 @@ -VITE_API_URL=http://localhost:8000 +VITE_API_URL=http://stagetwodevops.chickenkiller.com diff --git a/frontend/.gitignore b/frontend/.gitignore old mode 100644 new mode 100755 diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100644 index 000000000..14f03b35e --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,26 @@ +# Use a specific Node.js version for better consistency +FROM node:20 + +# Set working directory +WORKDIR /app + +# Copy package.json and package-lock.json (if you have it) +COPY package*.json ./ + +# Install dependencies +RUN npm install + +# Copy the rest of the application +COPY . . + +# Build the Next.js app for production +RUN npm run build + +# Expose the port Next.js is expected to run on (usually 3000) +EXPOSE 5173 + +# Set the working directory to the 'dist' folder +WORKDIR /app/dist + +# Start the Next.js server +CMD ["npx", "serve", "-s", "-l", "5173", "-H", "0.0.0.0"] diff --git a/frontend/README.md b/frontend/README.md old mode 100644 new mode 100755 diff --git a/frontend/biome.json b/frontend/biome.json old mode 100644 new mode 100755 diff --git a/frontend/index.html b/frontend/index.html old mode 100644 new mode 100755 diff --git a/frontend/modify-openapi-operationids.js b/frontend/modify-openapi-operationids.js old mode 100644 new mode 100755 diff --git a/frontend/package-lock.json b/frontend/package-lock.json old mode 100644 new mode 100755 diff --git a/frontend/package.json b/frontend/package.json old mode 100644 new mode 100755 diff --git a/frontend/public/assets/images/fastapi-logo.svg b/frontend/public/assets/images/fastapi-logo.svg old mode 100644 new mode 100755 diff --git a/frontend/public/assets/images/favicon.png b/frontend/public/assets/images/favicon.png old mode 100644 new mode 100755 diff --git a/frontend/src/client/core/ApiError.ts b/frontend/src/client/core/ApiError.ts old mode 100644 new mode 100755 diff --git a/frontend/src/client/core/ApiRequestOptions.ts b/frontend/src/client/core/ApiRequestOptions.ts old mode 100644 new mode 100755 diff --git a/frontend/src/client/core/ApiResult.ts b/frontend/src/client/core/ApiResult.ts old mode 100644 new mode 100755 diff --git a/frontend/src/client/core/CancelablePromise.ts b/frontend/src/client/core/CancelablePromise.ts old mode 100644 new mode 100755 diff --git a/frontend/src/client/core/OpenAPI.ts b/frontend/src/client/core/OpenAPI.ts old mode 100644 new mode 100755 diff --git a/frontend/src/client/core/request.ts b/frontend/src/client/core/request.ts old mode 100644 new mode 100755 diff --git a/frontend/src/client/core/types.ts b/frontend/src/client/core/types.ts old mode 100644 new mode 100755 diff --git a/frontend/src/client/index.ts b/frontend/src/client/index.ts old mode 100644 new mode 100755 diff --git a/frontend/src/client/models.ts b/frontend/src/client/models.ts old mode 100644 new mode 100755 diff --git a/frontend/src/client/schemas.ts b/frontend/src/client/schemas.ts old mode 100644 new mode 100755 diff --git a/frontend/src/client/services.ts b/frontend/src/client/services.ts old mode 100644 new mode 100755 diff --git a/frontend/src/components/Admin/AddUser.tsx b/frontend/src/components/Admin/AddUser.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/components/Admin/EditUser.tsx b/frontend/src/components/Admin/EditUser.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/components/Common/ActionsMenu.tsx b/frontend/src/components/Common/ActionsMenu.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/components/Common/DeleteAlert.tsx b/frontend/src/components/Common/DeleteAlert.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/components/Common/Navbar.tsx b/frontend/src/components/Common/Navbar.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/components/Common/NotFound.tsx b/frontend/src/components/Common/NotFound.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/components/Common/Sidebar.tsx b/frontend/src/components/Common/Sidebar.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/components/Common/SidebarItems.tsx b/frontend/src/components/Common/SidebarItems.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/components/Common/UserMenu.tsx b/frontend/src/components/Common/UserMenu.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/components/Items/AddItem.tsx b/frontend/src/components/Items/AddItem.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/components/Items/EditItem.tsx b/frontend/src/components/Items/EditItem.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/components/UserSettings/Appearance.tsx b/frontend/src/components/UserSettings/Appearance.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/components/UserSettings/ChangePassword.tsx b/frontend/src/components/UserSettings/ChangePassword.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/components/UserSettings/DeleteAccount.tsx b/frontend/src/components/UserSettings/DeleteAccount.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/components/UserSettings/DeleteConfirmation.tsx b/frontend/src/components/UserSettings/DeleteConfirmation.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/components/UserSettings/UserInformation.tsx b/frontend/src/components/UserSettings/UserInformation.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/hooks/useAuth.ts b/frontend/src/hooks/useAuth.ts old mode 100644 new mode 100755 diff --git a/frontend/src/hooks/useCustomToast.ts b/frontend/src/hooks/useCustomToast.ts old mode 100644 new mode 100755 diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/routeTree.gen.ts b/frontend/src/routeTree.gen.ts old mode 100644 new mode 100755 diff --git a/frontend/src/routes/__root.tsx b/frontend/src/routes/__root.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/routes/_layout.tsx b/frontend/src/routes/_layout.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/routes/_layout/admin.tsx b/frontend/src/routes/_layout/admin.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/routes/_layout/index.tsx b/frontend/src/routes/_layout/index.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/routes/_layout/items.tsx b/frontend/src/routes/_layout/items.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/routes/_layout/settings.tsx b/frontend/src/routes/_layout/settings.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/routes/login.tsx b/frontend/src/routes/login.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/routes/recover-password.tsx b/frontend/src/routes/recover-password.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/routes/reset-password.tsx b/frontend/src/routes/reset-password.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/theme.tsx b/frontend/src/theme.tsx old mode 100644 new mode 100755 diff --git a/frontend/src/utils.ts b/frontend/src/utils.ts old mode 100644 new mode 100755 diff --git a/frontend/src/vite-env.d.ts b/frontend/src/vite-env.d.ts old mode 100644 new mode 100755 diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json old mode 100644 new mode 100755 diff --git a/frontend/tsconfig.node.json b/frontend/tsconfig.node.json old mode 100644 new mode 100755 diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts old mode 100644 new mode 100755 index 572745b8c..c918e1062 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -5,4 +5,8 @@ import { defineConfig } from "vite" // https://vitejs.dev/config/ export default defineConfig({ plugins: [react(), TanStackRouterVite()], -}) + server: { + host: '0.0.0.0', + port: 5173, + }, +}) \ No newline at end of file diff --git a/nginx/default.conf b/nginx/default.conf new file mode 100644 index 000000000..83d498611 --- /dev/null +++ b/nginx/default.conf @@ -0,0 +1,40 @@ +server { + listen 80; + server_name stagetwodevops.chickenkiller.com; # Use your IPv4 address here + + location / { + proxy_pass http://frontend:5173; # Forward to frontend + } + + location /api { + proxy_pass http://backend:8000/api; # Forward to backend API + } + + location /docs { + proxy_pass http://backend:8000/docs; # Forward to backend docs + } + + location /redoc { + proxy_pass http://backend:8000/redoc; # Forward to backend redoc + } +} + +server { + listen 80; + # listen [::]:80; + server_name proxy.stagetwodevops.chickenkiller.com; + + location / { + proxy_pass http://proxy-manager:8090; + } +} + +server { + listen 80; + # listen [::]:80; + server_name db.stagetwodevops.chickenkiller.com; + + location / { + proxy_pass http://adminer:8080; + } +} \ No newline at end of file diff --git a/proxy/data/database.sqlite b/proxy/data/database.sqlite new file mode 100644 index 000000000..8343dc011 Binary files /dev/null and b/proxy/data/database.sqlite differ diff --git a/proxy/data/keys.json b/proxy/data/keys.json new file mode 100644 index 000000000..9d0f1a8cb --- /dev/null +++ b/proxy/data/keys.json @@ -0,0 +1,4 @@ +{ + "key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAplz4qpFmKupAF8h9+14Gl9V63mB/Maa6hXdc8XzFb6y45eIc\ns0QEbjGKS+2DLHnMMpFaTf+vtHtF5kt871dSxy/MBsRZ7ZryY2szGYAINas2AnSz\nYAgpMPfurIYcRVg3PGFgTTZyoPcH15DkhLNSabAY1MwPgeD5J1gOzqwMhyPv10K/\nnCecjqLvnwbG1Vt8Q982dbqIAGKlnOlbUr6Bcepk1SjdBRLPBdqlXcOvbUpFuUXe\nEig2TCt5ta88uD8HM/b0xHXwD/02SgOf8Wi4ScCsjk3Po6FU3ZJfHaw2Df6sIscR\np38KwVpy5HrjnJVmdA8NpiYxABksaZ1UR/ACEQIDAQABAoIBAEbEaar06sb6moUD\nbkPNPXS9BOUvmyudxt4bZlf7QWk9yfFP+/Ftz4yoWjHuOMxkiy4/knB3gWB+x78t\nAVo2hSnh9SIzyCVAsjcEVNpWEifySqlEx0Dkd9Eyxj5xVflRiz2OFo8ByEUckCNs\nqSihtz7p/8YVf8s5zgKkfLgBi9q4CO8us7EsZVF6YFW9QJeVdUYt17II8It47Rjf\nrEbxFSgRTNI7NJZaYka3uYbzUDZeuUcIGe+7b7RxSUlVq3kyy2iZB6DwfSIzeAW8\nui2zEL47w2GuTZ8Q+i1lK6hVB5YhnA0muHtfwTXhcNw9utu4clyMxmm4cZ5pGNwv\n59PMMqECgYEA2YK9MS/NmJEuTjAofeByhrTyboVE2XrYeZB7af7+2xwn91bwVuA9\nfvJHdMm38mlLDI4p1dYO1wFx6M5VAMFc2O3CQCx4kb/eaBbkDklq6mTtoDJDiDhy\nQupp881qvjY0IEy7HsALCfWBiV6MojJ1AOM5rW+wfvtCYk5TJ8RcBf0CgYEAw80+\nNz4DmawGU+RSK3QhBZ0AThC9ptdKXUCQDj9eWOBJvQCsIPiZghg4sxQ7IS9sX8aB\n+LLprnxui2NnfKP6ZkuZ9COyYWRfSReWEML1koYbj0tBu0aJ6fuJ5RU40ZE4E+tT\nUkt9N6PEbXctddXdyJD4USX1nmoxZPRnBr0GnqUCgYBGVmHp6wR4RtKLlEUz14YR\ni6guF0iZb4FbZl6Se1Rc9LDz6hhUb7VTPPPgj269pFERoVNkBBHOc3gribWxRdZJ\njDFZ4UeoEjzQuj5LZHB/ld3GBRsTjPVeMEHNBmtzUUHwBAAqxH2NXefizUF7Hgf6\nHoDDVi/kEEp6UcvQO05q3QKBgQDC7ej7nDx/V9hw2oTHh/R8HyK3lUkJ+ZmqHuWL\nmaC3AIvIowu6Q2SoNK718bUwQ4M0Em9AhfXI5U40bMERQDrAbpGVkZg8B24pWVbn\n1wAeYG69iKGm7QHONMLCkw8e6+EVS5mG+2ps4xhiFlzmzAThcRoVx6GwlW4ZYIvV\nFIirlQKBgE8PwzVQSkbcjoLXT7RyQG/nZMLFqTaU7Cd1nbhf5oc5FOB4qZf+GD3D\nNRIj6qLY0I1cFPsToOlInqCzX80juSpIoZHAj/yj20qf+oLfWDvf26GQ2t+czH4g\n5JQr5MrU+000eyLIcltHgLTeEIZocGm8KkBTSA4otUdmLBAMAN11\n-----END RSA PRIVATE KEY-----", + "pub": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAplz4qpFmKupAF8h9+14G\nl9V63mB/Maa6hXdc8XzFb6y45eIcs0QEbjGKS+2DLHnMMpFaTf+vtHtF5kt871dS\nxy/MBsRZ7ZryY2szGYAINas2AnSzYAgpMPfurIYcRVg3PGFgTTZyoPcH15DkhLNS\nabAY1MwPgeD5J1gOzqwMhyPv10K/nCecjqLvnwbG1Vt8Q982dbqIAGKlnOlbUr6B\ncepk1SjdBRLPBdqlXcOvbUpFuUXeEig2TCt5ta88uD8HM/b0xHXwD/02SgOf8Wi4\nScCsjk3Po6FU3ZJfHaw2Df6sIscRp38KwVpy5HrjnJVmdA8NpiYxABksaZ1UR/AC\nEQIDAQAB\n-----END PUBLIC KEY-----" +} \ No newline at end of file diff --git a/proxy/data/logs/fallback_access.log b/proxy/data/logs/fallback_access.log new file mode 100644 index 000000000..e69de29bb diff --git a/proxy/data/logs/fallback_error.log b/proxy/data/logs/fallback_error.log new file mode 100644 index 000000000..e69de29bb