Добавил WireGuard и nginx proxy для Flask
This commit is contained in:
parent
2fd6c40360
commit
c1029f5a6a
|
|
@ -1,7 +1,7 @@
|
||||||
FROM python:3.12-slim-bookworm
|
FROM python:3.12-slim-bookworm
|
||||||
|
|
||||||
# The installer requires curl (and certificates) to download the release archive
|
# The installer requires curl (and certificates) to download the release archive
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates nano
|
RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates nano wireguard iproute2 iputils-ping curl
|
||||||
|
|
||||||
# Download the latest installer
|
# Download the latest installer
|
||||||
ADD https://astral.sh/uv/install.sh /uv-installer.sh
|
ADD https://astral.sh/uv/install.sh /uv-installer.sh
|
||||||
|
|
@ -26,4 +26,4 @@ EXPOSE 5205
|
||||||
|
|
||||||
|
|
||||||
# Presuming there is a `my_app` command provided by the project uvicorn main:app --reload
|
# Presuming there is a `my_app` command provided by the project uvicorn main:app --reload
|
||||||
CMD ["uv", "run", "main.py"]
|
CMD ["bash", "-c", "wg-quick up /app/wireguard/wg0.conf && uv run main.py"]
|
||||||
|
|
@ -14,35 +14,18 @@ services:
|
||||||
- "host.docker.internal:host-gateway"
|
- "host.docker.internal:host-gateway"
|
||||||
restart: always
|
restart: always
|
||||||
|
|
||||||
wireguard:
|
|
||||||
image: linuxserver/wireguard
|
|
||||||
container_name: wg-client
|
|
||||||
cap_add:
|
|
||||||
- NET_ADMIN
|
|
||||||
- SYS_MODULE
|
|
||||||
environment:
|
|
||||||
- PUID=1000
|
|
||||||
- PGID=1000
|
|
||||||
- TZ=Europe/Amsterdam
|
|
||||||
volumes:
|
|
||||||
- ./wireguard:/config
|
|
||||||
- /lib/modules:/lib/modules
|
|
||||||
sysctls:
|
|
||||||
- net.ipv4.conf.all.src_valid_mark=1
|
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- app_net
|
|
||||||
|
|
||||||
web:
|
web:
|
||||||
build: .
|
build: .
|
||||||
container_name: flask-dev
|
container_name: flask-dev
|
||||||
network_mode: "service:wireguard" # весь трафик через WireGuard
|
network_mode: "service:wireguard"
|
||||||
|
ports:
|
||||||
|
- "5205:5205" # Пробрасываем порт наружу
|
||||||
|
volumes:
|
||||||
|
# Главная строка: монтируем текущую папку с кодом (.)
|
||||||
|
# в папку /app внутри контейнера
|
||||||
|
- .:/app
|
||||||
environment:
|
environment:
|
||||||
- FLASK_ENV=development
|
- FLASK_DEBUG=1 # Дополнительная страховка для включения дебага
|
||||||
depends_on:
|
- PYTHONUNBUFFERED=1 # Чтобы логи выводились сразу, а не кэшировались
|
||||||
- wireguard
|
|
||||||
|
|
||||||
|
|
||||||
networks:
|
|
||||||
app_net:
|
|
||||||
name: app_net
|
|
||||||
Loading…
Reference in New Issue