diff --git a/Dockerfile b/Dockerfile index 1159c83..c9fc558 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM python:3.12-slim-bookworm # 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 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 -CMD ["uv", "run", "main.py"] \ No newline at end of file +CMD ["bash", "-c", "wg-quick up /app/wireguard/wg0.conf && uv run main.py"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 6b27a30..ce503df 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,35 +14,18 @@ services: - "host.docker.internal:host-gateway" 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: build: . container_name: flask-dev - network_mode: "service:wireguard" # весь трафик через WireGuard + network_mode: "service:wireguard" + ports: + - "5205:5205" # Пробрасываем порт наружу + volumes: + # Главная строка: монтируем текущую папку с кодом (.) + # в папку /app внутри контейнера + - .:/app environment: - - FLASK_ENV=development - depends_on: - - wireguard + - FLASK_DEBUG=1 # Дополнительная страховка для включения дебага + - PYTHONUNBUFFERED=1 # Чтобы логи выводились сразу, а не кэшировались - -networks: - app_net: - name: app_net \ No newline at end of file + \ No newline at end of file