13 761 Востаннє редагувалося frz (04.03.2024 00:35:47)

Re: Тема для розмов

ur_naz написав:

а більше ніде той впн не потрібен. навпаки заважає

Коли компанія робить доступним свій rest api лише зсередини мережі, то інакше до нього не доступитися, крім як через vpn. Так як компанія не ультра параноїдна, то все ще використовують відносно застарілий протокол IPsec. Звісно що це віпіен фірмовий, котрий дає доступ лише до їхньої мережі, а не працює як анонімайзер для доступу до будь-якого ресурсу.

Upd: загальна дока https://github.com/hwdsl2/setup-ipsec-v … s.md#linux
(перевірив, працює)
З докером поки що ясно що ситуація складніша.

13 762

Re: Тема для розмов

frz написав:
ur_naz написав:

а більше ніде той впн не потрібен. навпаки заважає

Коли компанія робить доступним свій rest api лише зсередини мережі, то інакше до нього не доступитися, крім як через vpn. Так як компанія не ультра параноїдна, то все ще використовують відносно застарілий протокол IPsec. Звісно що це віпіен фірмовий, котрий дає доступ лише до їхньої мережі, а не працює як анонімайзер для доступу до будь-якого ресурсу.

Upd: загальна дока https://github.com/hwdsl2/setup-ipsec-v … s.md#linux
(перевірив, працює)
З докером поки що ясно що ситуація складніша.

Локально все вдалося. Тепер пробую на фірмовому vps - а там облом. В ядрі відсутні необхідні модулі (l2tp_netlink, l2tp_ppp). Взагалі-то це доволі стандартна ситуація для vps. Хочеш гарантовано мати модулі для vpn, став своє залізо on-premise, або ж орендуй дорожчий vds замість дешевого vps. Написали в підтримку хмарного провайдера, швидше за все прийде відмова, однак спробувати варто.

Цікаво чи існують провайдери vps, в котрих модулі для vpn включені в ядро по дефолту.

13 763

Re: Тема для розмов

The Punisher написав:

Козаки, хто знає, це зараз в усіх провайдерах так, чи тіки у мене. Торренти завантажувати стало майже не реально бо сіди з кацапськими айпі тупо не дають швидкість. І що цікаво, заходити на кацапскі торент сайти я можу без ВПН (на відміну від самих кацапів :D ). Тільки іноземні і українські айпи дають швидкість (навіть білоруські і казахські), але їх дуже мало тому швидкість або мінімальна або взагалі нема. ВПН вирішує це питання, але платити і за інтернет і за ВПН мене жаба давить. В чому може бути проблема? У мене CGNAT? Double NAT? У мого провайдера є послуга "Абонентська плата за 1 реальну IP-адресу без обмежень кількості одночасних вихідних сесій", це вирішіть проблему?

Як я розумію (а я мало розумію), якщо у меня не реальний айпі, то виходить у мене мали б бути проблеми з підключенням в онлайн іграх, а цієї проблеми немає.

Українські провайдери блокують кацапські айпішники — якщо сід сидить у рашці, то трекер його показує, але з'єднатися з ним не можна. Ситуацію рятують користувачі з третіх країн, що вільно конектяться і з нами, і з ними. Трекер, якщо ви його бачите, хоститься, ймовірно, десь у Європі — домен .ru не забороняє йому це робити.

Подякували: The Punisher1

13 764

Re: Тема для розмов

Дещо незручно робити фікси в докері, бо треба білдити після кожної зміни аби цю зміну побачити в роботі. Проте якось таки обійшов це місяці тому, після чого успішно забув як саме це робив.

13 765

Re: Тема для розмов

Пробігло відео де покійному Кузьмі запропонували взяти інтерв'ю в 95 кварталу і він їх там просто знищив. На жаль, через малоросійський суржик зацікавленим доведеться ґуґлити самостійно, наприклад "як кузьма знищив гумором".

13 766

Re: Тема для розмов

frz написав:

Дещо незручно робити фікси в докері, бо треба білдити після кожної зміни аби цю зміну побачити в роботі. Проте якось таки обійшов це місяці тому, після чого успішно забув як саме це робив.

volume mount?

13 767 Востаннє редагувалося frz (07.03.2024 22:55:59)

Re: Тема для розмов

FakiNyan написав:
frz написав:

Дещо незручно робити фікси в докері, бо треба білдити після кожної зміни аби цю зміну побачити в роботі. Проте якось таки обійшов це місяці тому, після чого успішно забув як саме це робив.

volume mount?

Та ясно що треба редагувати код всередині докера, а не ззовні нього. Проте щось змінилося, я вже заходжу в консолі і всередині редагую, після цього перезаходжу на потрібну сторінку в веб-додатку, а воно не змінюється. Чи то якось по-хитрому треба зупиняти і запускати знову без білду щоб не чекати, чи шо.

13 768

Re: Тема для розмов

Хочете урізноманітнити нудну зустріч з родичами за столом - запитайте навіщо вирощувати щось на городі, якщо можна все купити в супермаркеті.

13 769

Re: Тема для розмов

frz написав:

Хочете урізноманітнити нудну зустріч з родичами за столом - запитайте навіщо вирощувати щось на городі, якщо можна все купити в супермаркеті.

На випадок, коли війна, і найближчий оптовий склад розбомбили?
У 2022 дехто висаджував картоплю і між троєщинських багатоповерхівок. Що могло б мати сенс, якби ситуація навколо Києва погіршилась.

13 770

Re: Тема для розмов

frz написав:
FakiNyan написав:
frz написав:

Дещо незручно робити фікси в докері, бо треба білдити після кожної зміни аби цю зміну побачити в роботі. Проте якось таки обійшов це місяці тому, після чого успішно забув як саме це робив.

volume mount?

Та ясно що треба редагувати код всередині докера, а не ззовні нього. Проте щось змінилося, я вже заходжу в консолі і всередині редагую, після цього перезаходжу на потрібну сторінку в веб-додатку, а воно не змінюється. Чи то якось по-хитрому треба зупиняти і запускати знову без білду щоб не чекати, чи шо.

А хоть що за мова? Може вам треба якийсь білд робити.

13 771

Re: Тема для розмов

Vo_Vik написав:
frz написав:
FakiNyan написав:

volume mount?

Та ясно що треба редагувати код всередині докера, а не ззовні нього. Проте щось змінилося, я вже заходжу в консолі і всередині редагую, після цього перезаходжу на потрібну сторінку в веб-додатку, а воно не змінюється. Чи то якось по-хитрому треба зупиняти і запускати знову без білду щоб не чекати, чи шо.

А хоть що за мова? Може вам треба якийсь біля робити.

Python, FastAPI.

Чомусь досі на Flask такого не було. Змінюєш код - докер автоматично фіксує зміни і апка їх відображає.

Не розумію в чому нюанс. FastAPI однозначно більш зрілий фреймворк і вже назад ніяк не можна. Але дуже незручно білдити після кожної зміни. Сильно затримується розробка.

13 772

Re: Тема для розмов

frz https://github.com/tiangolo/fastapi/issues/1981 - це підійде?

13 773

Re: Тема для розмов

Vo_Vik написав:

frz https://github.com/tiangolo/fastapi/issues/1981 - це підійде?

Дякую, сходив туди. Там з того що стосується налаштувань:

uvicorn app_name:app --reload

ну це версія 2020 року, зараз воно в мене виглядає ось так:

uvicorn.run("app:app", host="0.0.0.0", port=8000, reload=True)

Решта коментів стосуються автоматичного перезавантаження самої сторінки в браузері. Ну мені не важко натиснути F5, але це не допомагає.
Якась фігня.

13 774

Re: Тема для розмов

- Як ви вважаєте, це горнятко наполовину порожнє, чи наполовину повне?
- Нижня половина повна, верхня половина порожня.
- Цікава відповідь, а що вплинуло на таке ваше бачення?
- Гравітація.

13 775

Re: Тема для розмов

frz написав:
Vo_Vik написав:

frz https://github.com/tiangolo/fastapi/issues/1981 - це підійде?

Дякую, сходив туди. Там з того що стосується налаштувань:

uvicorn app_name:app --reload

ну це версія 2020 року, зараз воно в мене виглядає ось так:

uvicorn.run("app:app", host="0.0.0.0", port=8000, reload=True)

Решта коментів стосуються автоматичного перезавантаження самої сторінки в браузері. Ну мені не важко натиснути F5, але це не допомагає.
Якась фігня.

Може там має значення як то Тру записане, лапки там чи 0/1 має бути, або з маленької букви.

13 776

Re: Тема для розмов

Vo_Vik написав:
frz написав:
Vo_Vik написав:

frz https://github.com/tiangolo/fastapi/issues/1981 - це підійде?

Дякую, сходив туди. Там з того що стосується налаштувань:

uvicorn app_name:app --reload

ну це версія 2020 року, зараз воно в мене виглядає ось так:

uvicorn.run("app:app", host="0.0.0.0", port=8000, reload=True)

Решта коментів стосуються автоматичного перезавантаження самої сторінки в браузері. Ну мені не важко натиснути F5, але це не допомагає.
Якась фігня.

Може там має значення як то Тру записане, лапки там чи 0/1 має бути, або з маленької букви.

Поки що всі джерела говорять що Тру має бути записано у варіанті uvicorn.run так як є - з великої букви. Інша річ, що варіант

uvicorn app_name:app --reload

це виявляється не застаріла версія, а різновид "programmatic / non-programmatic" і саме цей варіант був в мене в версії з Flask, де reload працював коректно. Поки буду думати як повернутися до цього варіанту з FastAPI і чи це можливо.

13 777 Востаннє редагувалося frz (09.03.2024 21:33:10)

Re: Тема для розмов

frz написав:
Vo_Vik написав:
frz написав:

Дякую, сходив туди. Там з того що стосується налаштувань:

uvicorn app_name:app --reload

ну це версія 2020 року, зараз воно в мене виглядає ось так:

uvicorn.run("app:app", host="0.0.0.0", port=8000, reload=True)

Решта коментів стосуються автоматичного перезавантаження самої сторінки в браузері. Ну мені не важко натиснути F5, але це не допомагає.
Якась фігня.

Може там має значення як то Тру записане, лапки там чи 0/1 має бути, або з маленької букви.

Поки що всі джерела говорять що Тру має бути записано у варіанті uvicorn.run так як є - з великої букви. Інша річ, що варіант

uvicorn app_name:app --reload

це виявляється не застаріла версія, а різновид "programmatic / non-programmatic" і саме цей варіант був в мене в версії з Flask, де reload працював коректно. Поки буду думати як повернутися до цього варіанту з FastAPI і чи це можливо.

Ще таке знайшов:
https://docs.docker.com/compose/file-watch/

Compose Watch is available in Docker Compose version 2.22 and later.

Use watch to automatically update and preview your running Compose services as you edit and save your code.

For many projects, this allows for a hands-off development workflow once Compose is running, as services automatically update themselves when you save your work.

Upd: детальніші пояснення налаштування watch в docker-compose

https://collabnix.com/what-is-docker-co … -it-solve/

Upd: як скачати свіжу версію аби не чіпати існуючу:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

/usr/local/bin/docker-compose -v

Docker Compose version v2.24.6

При цьому існуюча:

$ /usr/bin/docker compose version
Docker Compose version v2.21.0

Додав компонент develop / watch в налаштування docker-compose.yml:

    ...
    ports:
      - 81:8000
    depends_on:
      - some_container_name
    develop:
      watch:
        - action: sync
          path: ./src
          target: /var/www/app
        - action: rebuild
          path: Dockerfile

запускаю

/usr/local/bin/docker-compose watch

(поки що не допомогло)

Upd: Виспався, пробую інший варіант:

    develop:
      watch:
        - action: sync
          path: ./src
          target: /var/www/app
        - action: rebuild
          path: ./src/**/*
$ /usr/local/bin/docker-compose up --build -d
/usr/local/bin/docker-compose watch

13 778

Re: Тема для розмов

Ось так спрацювало:

  app-server:
    container_name: sample-app-abc
    env_file:
      - manual/.env
    build:
      context: .
      dockerfile: Dockerfile
    hostname: recommender
    restart: always
    volumes:
      - app_server_uploads:/opt/uploads
    ports:
      - 81:8000
    depends_on:
      - app-db
    develop:
      watch:
        - action: sync+restart
          path: ./src/app.py
          target: /var/www/app/app.py

відповідно щоб додати більше файлів, мабуть потрібно буде використовувати маску, або ж вказати більше секцій типу

        - action: sync+restart
          path: ./src/some_file.py
          target: /var/www/app/some_file.py

13 779

Re: Тема для розмов

Це хіба не рестартує цілий контейнер замість рестарту py процесу всередині докера?

Хіба що у вас код не шариться між хостом і контейнером (https://docs.docker.com/storage/bind-mounts/), а копіюється контейнером при старті (https://docs.docker.com/storage/volumes/).

Подякували: leofun011

13 780

Re: Тема для розмов

Щоб ця фіча спрацювала, довелося видалити волюм для цього сервісу.
Так, рестартує цілий контейнер.
Поки що більше файлів саме за маскою додати не вдалося. Виходить, що фіча сира, бо реагує лише на повний шлях файлу вказаний в конфігурації, або ж я щось невірно роблю. Поки що принаймні працює так як є, для мене це вже полегшення, бо не треба зупиняти і білдити вручну.