• Как реализовать домашний ПК для веб сервера и pet проектов?

    @ZardoZAntony
    программист, сис. админ
    Можно вообще на минималках, если комп не выключаете (как я) или не надо, чтобы проекты круглые сутки в интернет торчали.
    Просто Windows 10/11 + WSL2 + Docker Desktop (либо тот же Ubuntu). Каждый проект в свой docker-compose оборачивайте и свои порты давайте. Порты пробросить наружу с компа без проблем, если ip белый.
    Это будет максимально близко к тому с чем вы будите работать в реальных проектах.
    Ответ написан
    Комментировать
  • Как реализовать домашний ПК для веб сервера и pet проектов?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Если Linux, то в сторону каких дистрибутивов смотреть.

    Любых, по которым есть рядом гуру. Но лучше сразу поднять гипер. Да, сам по себе линух - это тоже гипер, можно KVM (qemu + libvirt) использовать, но Proxmox - кузявее. Еще можно использовать vmware, хотя она сказала известную фразу про русский корабль.
    Актуален ли для подобного Docker или слишком много ресурсов будет отнимать?

    Для линуха - актуален. Для Proxmox - там уже виртуализация, но поэкспериментировать кончено можно.
    Правильно ли запускать различные сайты просто на разных портах роутера?

    Правильно запускать разные сайты на разных доменных именах
    Раз выполняется проброс порта, то как это обезопасить?

    В разных случаях по разному
    Ответ написан
    Комментировать
  • Как реализовать домашний ПК для веб сервера и pet проектов?

    @historydev Куратор тега JavaScript
    Редактирую файлы с непонятными расширениями
    Proxmox + виртуалки/lxc контейнеры - для системы на базе гипервизора.

    Виртуалка - изолирована лучше, но медленнее.
    Lxc контейнер - изолирован хуже, но работает быстрее.

    Если тебе не нужно строить сложное взаимодействие между виртуальными средами - ставь Ubuntu + docker на хост, будет намного быстрее работать, дальше через nginx reverse proxy прокидываешь порты к нужным контейнерам.

    На компе можешь (винда) в файле hosts указать домены которые указывают на твой сервак, чтобы не париться с роутером и уже в nginx конфигах в зависимости от домена, на порт определённый направлять.

    Но должен предупредить, если ты на хосте что-то сломаешь - переустановка системы, а первое время у тебя эти переустановки будут занимать больше времени, чем работа над проектами, так что будь готов 2 недели смотреть на чёрный монитор с белым текстом и не только поверх)

    В этом плане Proxmox + виртуалки отлично подходят, настроил хост - эксперименты на виртуалках ставишь.
    Дальше если по скорости не устраивает, сносишь и заводишь на хосте всё, как сказал выше, уже с полученными знаниями.

    Обезопасить - nginx, главное порт ssh если открывать в сеть будешь, перед тем как это сделать настрой ssh ключи.
    Ответ написан
    Комментировать
  • Как реализовать домашний ПК для веб сервера и pet проектов?

    @Refguser
    Решения для бизнеса: от создания ИМ до...
    дома есть второй ПК, который хотел бы пустить в дело на изучение разных технологий.
    На данный момент хочу запустить пару простеньких сайтов на flask, django или node.js, а также запускать телеграмм ботов.

    Домашний сервер (с доступом из вне) - только кажущаяся экономия. Одно электричество может обойтись дороже аренды ВПС. И надёжность системы - низкая. ну разве что для изучения.
    Кроме того, нужно понимать, что многие провайдеры не разрешают поднимать дома сервер. Так что это нужно смотреть договор.
    Многие другие аспекты так же говорят против такого решения (начиная от безопасности, включая пожаробезхопастность, навыков администрирования (которых нет, судя по вопросам) и много другого).
    Так что для изучения лично я рекомендовал бы аренду ВПС.
    А в некоторых случаях нужный стек технологий можно получить и бесплатно.

    Но если очень хочется то...


    1) Подскажите какую лучше поставить операционную систему? Если Linux, то в сторону каких дистрибутивов смотреть.

    Любую серверную. Убунту, дебиан и пр.

    2) Актуален ли для подобного Docker или слишком много ресурсов будет отнимать?

    Докер нужен если он нужен. Если нет то зачем?

    3) Правильно ли запускать различные сайты просто на разных портах роутера?


    Правильно сайты запускать не на роутере, а на сервере. И не разных портах, а на разных вируталхостах.
    Для экономии на доменах (если для паблика) можно делать на поддоменах.
    Ответ написан
    8 комментариев
  • Как реализовать домашний ПК для веб сервера и pet проектов?

    Если не боитесь использовать Cloudflare в наших волшебных политических реалиях, то у них есть прекрасное решение для обеспечения безопасности: "Zero trust tunnel". Это не просто прокси-сервер, а самый настоящий туннель. Т.е. ваш сервак может находиться за непробиваемым файрволом, но по туннелю вы сможете организовать безопасный доступ к тем ресурсам, к которым пожелаете.
    Таким образом, даже если кто-то будет атаковать ваши ресурсы, то атаковать они будут Cloudflare, а не ваш ненаглядный сервачок.
    Ответ написан
    Комментировать
  • Как реализовать домашний ПК для веб сервера и pet проектов?

    @dronmaxman
    VoIP Administrator

    1) Подскажите какую лучше поставить операционную систему? Если Linux, то в сторону каких дистрибутивов смотреть. Хотелось бы удалённо подключаться к этому ПК для мониторинга или обновления файлов с github.

    Proxmox или другой гипервизор
    2) Актуален ли для подобного Docker или слишком много ресурсов будет отнимать?

    Актуален.
    3) Правильно ли запускать различные сайты просто на разных портах роутера?

    Лучше использовать прокси (я бы использовал traefik или nginx).
    5) Раз выполняется проброс порта, то как это обезопасить?

    Как раз стоит изучить решения по защите (nginx Bunker, geoip, crowdsec)
    Ответ написан
    Комментировать
  • Чем лучше автоматизировать работу с сайтами?

    glaphire
    @glaphire
    PHP developer
    Selenium отлично подойдет.
    Headless browser (запуск браузера без графики) не подойдет, во всяком случае у меня не получилось в нем загружать и скачивать файлы
    Ответ написан
    Комментировать