This commit is contained in:
parent
24c897ba42
commit
1e7f01c6d5
22
Dockerfile
22
Dockerfile
|
@ -1,5 +1,5 @@
|
||||||
# Use an official Ubuntu base image
|
# Use an official Python runtime as a parent image
|
||||||
FROM ubuntu:latest
|
FROM python:3.9-slim
|
||||||
|
|
||||||
# Set the working directory in the container to /app
|
# Set the working directory in the container to /app
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
@ -10,21 +10,17 @@ EXPOSE 8000
|
||||||
# Update package lists and install build tools
|
# Update package lists and install build tools
|
||||||
RUN apt-get update && apt-get install -y build-essential curl
|
RUN apt-get update && apt-get install -y build-essential curl
|
||||||
|
|
||||||
# Install Rust
|
# Install Poetry
|
||||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && \
|
RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
|
||||||
/root/.cargo/env && \
|
|
||||||
rustup toolchain install stable && \
|
|
||||||
rustup default stable && \
|
|
||||||
rustup update
|
|
||||||
|
|
||||||
# Set environment variables for Rust
|
# Copy only the pyproject.toml and poetry.lock files to the container
|
||||||
ENV PATH="/root/.cargo/bin:${PATH}"
|
COPY pyproject.toml poetry.lock /app/
|
||||||
|
|
||||||
|
# Install project dependencies
|
||||||
|
RUN $HOME/.poetry/bin/poetry install --no-root
|
||||||
|
|
||||||
# Copy the current directory contents into the container at /app
|
# Copy the current directory contents into the container at /app
|
||||||
COPY . /app
|
COPY . /app
|
||||||
|
|
||||||
# Install Python dependencies
|
|
||||||
RUN pip install -r requirements.txt --no-cache
|
|
||||||
|
|
||||||
# Run server.py when the container launches
|
# Run server.py when the container launches
|
||||||
CMD ["python", "server.py"]
|
CMD ["python", "server.py"]
|
||||||
|
|
24
pyproject.toml
Normal file
24
pyproject.toml
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
[tool.poetry]
|
||||||
|
name = "discoursio-notifier"
|
||||||
|
version = "0.3.0"
|
||||||
|
description = "notifier service for discours.io"
|
||||||
|
authors = ["Untone <anton.rewin@gmail.com>"]
|
||||||
|
license = "MIT"
|
||||||
|
readme = "README.md"
|
||||||
|
|
||||||
|
[tool.poetry.dependencies]
|
||||||
|
python = "^3.12"
|
||||||
|
aiohttp = "^3.9.3"
|
||||||
|
strawberry-graphql = {extras = ["asgi", "debug-server"], version = "^0.219.2"}
|
||||||
|
granian = "^1.1.0"
|
||||||
|
sentry-sdk = {extras = ["strawberry"], version = "^1.40.4"}
|
||||||
|
strawberry-sqlalchemy-mapper = "^0.4.2"
|
||||||
|
psycopg2-binary = "^2.9.9"
|
||||||
|
SQLAlchemy = "^2.0.27"
|
||||||
|
|
||||||
|
[tool.poetry.group.dev.dependencies]
|
||||||
|
ruff = "^0.2.1"
|
||||||
|
|
||||||
|
[build-system]
|
||||||
|
requires = ["poetry-core"]
|
||||||
|
build-backend = "poetry.core.masonry.api"
|
|
@ -1,8 +0,0 @@
|
||||||
aiohttp
|
|
||||||
strawberry-sqlalchemy-mapper
|
|
||||||
redis[hiredis]
|
|
||||||
psycopg2-binary
|
|
||||||
sqlalchemy
|
|
||||||
strawberry-graphql[asgi,debug-server]
|
|
||||||
granian
|
|
||||||
sentry-sdk[strawberry]
|
|
Loading…
Reference in New Issue
Block a user