Update dockerfile
This commit is contained in:
27
Dockerfile
27
Dockerfile
@@ -5,31 +5,28 @@ FROM python:3.12-slim
|
|||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
curl \
|
curl \
|
||||||
cron \
|
cron \
|
||||||
&& curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
|
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
|
||||||
&& apt-get install -y nodejs \
|
&& apt-get install -y nodejs \
|
||||||
&& apt-get clean \
|
&& apt-get clean \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Setup backend
|
# Setup backend
|
||||||
WORKDIR /app/backend
|
WORKDIR /app/backend
|
||||||
COPY backend/* .
|
ADD backend .
|
||||||
|
RUN python3 -m venv venv
|
||||||
|
RUN . /app/backend/venv/bin/activate && pip install -r requirements.txt
|
||||||
|
|
||||||
RUN pip install -r requirements.txt
|
|
||||||
|
|
||||||
# Setup frontend
|
|
||||||
WORKDIR /app/frontend
|
WORKDIR /app/frontend
|
||||||
COPY frontend/* .
|
ADD frontend .
|
||||||
|
|
||||||
# Setup docker
|
|
||||||
WORKDIR /app/docker
|
|
||||||
COPY docker/* /app/docker/
|
|
||||||
|
|
||||||
RUN chmod +x entry.sh
|
|
||||||
RUN chmod 0644 cronfile
|
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
EXPOSE 5173
|
COPY docker/* .
|
||||||
|
RUN chmod 0644 services.cron
|
||||||
|
RUN crontab services.cron
|
||||||
|
RUN chmod +x entry.sh
|
||||||
|
|
||||||
|
EXPOSE 8080 8000
|
||||||
|
|
||||||
# Command to start cron and the backend
|
# Command to start cron and the backend
|
||||||
CMD ["sh", "-c", "/app/docker/entry.sh"]
|
CMD ["sh", "-c", "/app/entry.sh"]
|
||||||
|
|||||||
@@ -1,2 +1,4 @@
|
|||||||
requests
|
requests
|
||||||
uvicorn
|
uvicorn
|
||||||
|
fastapi
|
||||||
|
sqlalchemy
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
*/1 * * * * python3 /app/backend/get_notifications.py
|
|
||||||
*/5 * * * * python3 /app/backend/run_scripts.py
|
|
||||||
@@ -1,9 +1,12 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Navigate to the frontend directory and start the Svelte app
|
source /app/backend/venv/bin/activate
|
||||||
|
|
||||||
|
# Navigate to the frontend directory, install dependencies, and start the Svelte app
|
||||||
cd frontend
|
cd frontend
|
||||||
|
npm install
|
||||||
npm run build
|
npm run build
|
||||||
npm run dev &
|
npm run dev -- --host 0.0.0.0 --port 8080 &
|
||||||
|
|
||||||
# Navigate back to the root directory
|
# Navigate back to the root directory
|
||||||
cd ..
|
cd ..
|
||||||
@@ -14,8 +17,9 @@ python3 -m venv venv
|
|||||||
cd ../..
|
cd ../..
|
||||||
|
|
||||||
# Start the backend using uvicorn
|
# Start the backend using uvicorn
|
||||||
uvicorn backend.backend:app --host 0.0.0.0 --port 8000 &
|
cd backend
|
||||||
|
uvicorn backend:app --host 0.0.0.0 --port 8000 &
|
||||||
|
cd ..
|
||||||
|
|
||||||
# Start the cron daemon
|
# Start the cron daemon
|
||||||
crontab docker/cronfile
|
|
||||||
cron -f
|
cron -f
|
||||||
|
|||||||
2
docker/services.cron
Normal file
2
docker/services.cron
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
*/1 * * * * . /app/backend/venv/bin/activate && python3 /app/backend/get_notifications.py >> /var/log/cron.log 2>&1
|
||||||
|
*/5 * * * * cd /app/backend && . /app/backend/venv/bin/activate && python3 /app/backend/run_scripts.py >> /var/log/cron.log 2>&1
|
||||||
@@ -1,4 +1,6 @@
|
|||||||
export const API_URL = 'http://127.0.0.1:8000';
|
import { env } from '$env/dynamic/public';
|
||||||
|
|
||||||
|
export const API_URL = env.PUBLIC_API_URL || 'http://localhost:8080';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Type definitions for Subscriptions and Notifications
|
* Type definitions for Subscriptions and Notifications
|
||||||
|
|||||||
Reference in New Issue
Block a user