Skip to content
Open

1 #8

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.idea
.git
schema.pdf
LICENCE
Dockerfile.python
*.md
.gitignore
Dockerfile*
compose.yaml
.env
*.md
*.sh
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.env
10 changes: 10 additions & 0 deletions Dockerfile.python
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
FROM python:3.12-slim

WORKDIR /app

COPY . .

RUN pip install -r requirements.txt

# Запускаем приложение с помощью uvicorn, делая его доступным по сети
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "5000"]
45 changes: 45 additions & 0 deletions compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
include:
- proxy.yaml
services:
web:
build:
context: .
dockerfile: Dockerfile.python
restart: always
ports:
- "5000:5000"
environment:
- DB_HOST=db
- DB_USER=${MYSQL_USER}
- DB_PASSWORD=${MYSQL_PASSWORD}
- DB_NAME=${MYSQL_DATABASE}
networks:
backend:
ipv4_address: 172.20.0.5
depends_on:
db:
condition: service_healthy
container_name: python-web-app

db:
image: mysql:8
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
networks:
backend:
ipv4_address: 172.20.0.10
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
timeout: 20s
retries: 10
container_name: mysql-db
volumes:
- mysql_data:/var/lib/mysql
- ./init.sql:/docker-entrypoint-initdb.d/init.sql

volumes:
mysql_data:
10 changes: 10 additions & 0 deletions docker-compose.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash

sudo apt install snapd
sudo snap install docker
sudo apt install docker-compose

cd /opt
git clone https://github.com/goosecompote/shvirtd-example-python
cd /opt/shvirtd-example-python
docker compose up -d