diff --git a/Dockerfile b/Dockerfile index 2686e2c..b75adf3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,32 @@ -from python +# builder +FROM python:3.11.5-bullseye as builder + +RUN mkdir /opt/fooder +WORKDIR /opt/fooder + +RUN pip install setuptools + +COPY fooder /opt/fooder/fooder +COPY setup.py /opt/fooder/setup.py + +RUN python /opt/fooder/setup.py sdist +RUN mv /opt/fooder/dist/FooderApi*.tar.gz /opt/fooder/dist/fooder.tar.gz + +# final image +FROM python:3.11.5-bullseye RUN apt-get -y install libpq-dev COPY requirements.txt requirements.txt RUN pip install -r requirements.txt -RUN mkdir /opt/fooder +RUN useradd fooder + +RUN mkdir /opt/fooder && chown fooder:fooder /opt/fooder WORKDIR /opt/fooder -COPY fooder /opt/fooder/fooder +COPY --from=builder /opt/fooder/dist/fooder.tar.gz /opt/fooder/fooder.tar.gz +RUN pip install fooder.tar.gz +RUN rm fooder.tar.gz CMD ["uvicorn", "fooder.app:app", "--host", "0.0.0.0", "--port", "8000"] diff --git a/docker-compose.yml b/docker-compose.yml index a79489a..d5e219e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -23,8 +23,5 @@ services: - fooder env_file: - .env - volumes: - - ./fooder:/opt/fooder/fooder ports: - "8000:8000" - command: "uvicorn fooder.app:app --host 0.0.0.0 --port 8000 --reload" diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..ab928fc --- /dev/null +++ b/setup.py @@ -0,0 +1,14 @@ +from setuptools import setup, find_packages + +version = "0.0.1" + +setup( + name="FooderApi", + version=version, + description="FooderApi", + url="http://fooderapi.domandoman.xyz", + author="Doman ICKYICKY", + license="MIT", + packages=find_packages(), + zip_safe=False, +)