Dockerfile

This commit is contained in:
Adam Štrauch 2025-10-25 01:36:17 +02:00
parent 84fe2d5946
commit f642f9fb6c
Signed by: cx
GPG key ID: 7262DAFE292BCE20
3 changed files with 38 additions and 0 deletions

1
.gitignore vendored
View file

@ -5,3 +5,4 @@ venv/
cache*.json cache*.json
Rostifile Rostifile
__pycache__/ __pycache__/
.vscode/*.log

18
Dockerfile Normal file
View file

@ -0,0 +1,18 @@
FROM python:3.12-alpine
WORKDIR /app
# Copy the source files
COPY ./calculator /app/calculator
COPY ./requirements.txt /app/requirements.txt
# Install dependencies into a virtual environment
RUN python -m venv /app/venv && \
/app/venv/bin/pip install --no-cache-dir --upgrade -r /app/requirements.txt
# Mark data storage and expose port
VOLUME /app/cache
EXPOSE 8000
ENTRYPOINT ["/app/venv/bin/fastapi"]
CMD ["run", "calculator/main.py"]

View file

@ -2,10 +2,17 @@
version: '3' version: '3'
vars:
IMAGE: gitea.ceperka.net/cx/pricepower
TAG: dev
tasks: tasks:
dev : dev :
cmds: cmds:
- fastapi dev calculator/main.py --reload - fastapi dev calculator/main.py --reload
# Old app deployment
deploy: deploy:
cmds: cmds:
- ssh -p 11335 app@ssh.rosti.cz mkdir -p /srv/app/cache - ssh -p 11335 app@ssh.rosti.cz mkdir -p /srv/app/cache
@ -13,3 +20,15 @@ tasks:
- rsync -av -e "ssh -p 11335" ./requirements.txt app@ssh.rosti.cz:/srv/app/ - rsync -av -e "ssh -p 11335" ./requirements.txt app@ssh.rosti.cz:/srv/app/
- ssh -p 11335 app@ssh.rosti.cz /srv/venv/bin/pip install -r /srv/app/requirements.txt - ssh -p 11335 app@ssh.rosti.cz /srv/venv/bin/pip install -r /srv/app/requirements.txt
- ssh -p 11335 app@ssh.rosti.cz supervisorctl restart app - ssh -p 11335 app@ssh.rosti.cz supervisorctl restart app
# New deployment
build:
cmds:
- docker build -t {{ .IMAGE }}:{{ .TAG }} .
tag-latest:
cmds:
- docker tag {{ .IMAGE }}:{{ .TAG }} {{ .IMAGE }}:latest
push:
cmds:
- docker push {{ .IMAGE }}:{{ .TAG }}