add docker compose setup
This commit is contained in:
parent
19ea3a3e7d
commit
0d205ebd5e
3 changed files with 111 additions and 0 deletions
14
Dockerfile
Normal file
14
Dockerfile
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
from python:3.10
|
||||||
|
|
||||||
|
# install python and psycopg2
|
||||||
|
# RUN apt-get update && apt-get install -y python3 python3-pip
|
||||||
|
# RUN pip3 install hatch
|
||||||
|
WORKDIR /app
|
||||||
|
Copy pyproject.toml /app
|
||||||
|
COPY learn_sql_model/__about__.py /app/learn_sql_model/__about__.py
|
||||||
|
COPY README.md /app
|
||||||
|
RUN pip3 install .
|
||||||
|
COPY . /app
|
||||||
|
RUN pip3 install .
|
||||||
|
|
||||||
|
ENTRYPOINT ["learn-sql-model", "api", "run"]
|
||||||
57
Dockerfile.dev
Normal file
57
Dockerfile.dev
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
FROM learn-sql-model
|
||||||
|
|
||||||
|
ENV DEBIAIN_FRONTEND=noninteractive
|
||||||
|
ENV PATH="$PATH:/root/.local/bin:/root/.cargo/bin"
|
||||||
|
ENV SHELL=zsh
|
||||||
|
ENV USER=root
|
||||||
|
|
||||||
|
|
||||||
|
RUN apt update && \
|
||||||
|
apt upgrade -y && \
|
||||||
|
apt install -y \
|
||||||
|
bat \
|
||||||
|
ripgrep \
|
||||||
|
cmake \
|
||||||
|
htop \
|
||||||
|
stow \
|
||||||
|
zsh
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR /root/downloads
|
||||||
|
|
||||||
|
RUN wget https://github.com/neovim/neovim/releases/download/nightly/nvim.appimage && \
|
||||||
|
mkdir -p /root/.local/bin && \
|
||||||
|
chmod u+x /root/downloads/nvim.appimage && \
|
||||||
|
/root/downloads/nvim.appimage --appimage-extract && \
|
||||||
|
rm -rf nvim.appimage && \
|
||||||
|
ln -s ~/downloads/squashfs-root/usr/bin/nvim ~/.local/bin/nvim && \
|
||||||
|
cd ~ && \
|
||||||
|
git clone https://github.com/LazyVim/starter ~/.config/nvim && \
|
||||||
|
nvim --headless -c 'quitall'
|
||||||
|
|
||||||
|
RUN curl -sS https://starship.rs/install.sh | sh -s -- -y
|
||||||
|
RUN curl -L zellij.dev/launch | sh -s -- help
|
||||||
|
# RUN curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly -y && \
|
||||||
|
# cargo install \
|
||||||
|
# exa \
|
||||||
|
# gitui
|
||||||
|
|
||||||
|
RUN python3 -m pip install --upgrade pip && \
|
||||||
|
python3 -m pip install pipx && \
|
||||||
|
python3 -m pip install hatch && \
|
||||||
|
python3 -m pipx install ansible-core && \
|
||||||
|
python3 -m pipx install lolcat && \
|
||||||
|
python3 -m pipx install pyflyby && \
|
||||||
|
python3 -m pipx install rich-cli && \
|
||||||
|
python3 -m pipx install visidata
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
RUN python3 -m hatch env create && \
|
||||||
|
python3 -m hatch shell
|
||||||
|
|
||||||
|
|
||||||
|
RUN stow bin -t /root/
|
||||||
|
|
||||||
|
ENTRYPOINT /tmp/zellij/bootstrap/zellij
|
||||||
40
docker-compose.yml
Normal file
40
docker-compose.yml
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
version: "3.8"
|
||||||
|
services:
|
||||||
|
db:
|
||||||
|
image: postgres:14.1-alpine
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=postgres
|
||||||
|
- POSTGRES_PASSWORD=postgres
|
||||||
|
ports:
|
||||||
|
- "5432:5432"
|
||||||
|
volumes:
|
||||||
|
- db:/var/lib/postgresql/data
|
||||||
|
api:
|
||||||
|
build:
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
tags:
|
||||||
|
- "learn-sql-model"
|
||||||
|
image: learn-sql-model
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- "5000:5000"
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
volumes:
|
||||||
|
- ./:/app
|
||||||
|
cli:
|
||||||
|
build:
|
||||||
|
dockerfile: Dockerfile.dev
|
||||||
|
tags:
|
||||||
|
- "learn-sql-model-dev"
|
||||||
|
image: learn-sql-model-dev
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
- api
|
||||||
|
restart: always
|
||||||
|
tty: true
|
||||||
|
stdin_open: true
|
||||||
|
volumes:
|
||||||
|
db:
|
||||||
|
driver: local
|
||||||
Loading…
Add table
Add a link
Reference in a new issue