Головна » Корисні програми для домашнього сервера в 2025

Корисні програми для домашнього сервера в 2025

Окрім програм з графічним та текстовим інтерфейсом останнім часом популярність набирають програми з веб-інтерфейсом, які можна розмістити на власному сервері в хмарі, або в локальній мережі і використовувати з кількох пристроїв. Це називається self-hosting.

Мова йде не тільки серйозні програми для моніторингу серверів, обробки логів і т д, але й часто щось для вирішення більш простих буденних завдань, наприклад, зберігання та читання книг, нотаток, стрімінгу фільмів або музики, і навіть пошуку мемів. В цій статті зібрано 10 корисних программ для домашнього сервера з веб-інтерфейсом, які ви можете встановити та використовувати.


Зміст

Чому це взагалі потрібно?

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

  • Доступ з кількох пристроїв - ви можете отримати доступ до ваших даних не залежно від пристрою який використовуєте, на комп'ютері, на телефоні, ноутбуці. В багатьох таких програм є навіть застосунки для Android та iOS.
  • Безперервна робота - програми на комп'ютері працюють лише тоді коли компьютер увімкнено. В той же час якщо у вас є сервер на Raspberry Pi з низьким енергоспоживанням, то запущені програми з веб-інтерфейсом можуть виконувати роботу в фоні 24/7.
  • Легко переносити данні - час від часу операційну систему на комп'ютері треба перевстановлювати, у випадку з Linux, наприклад, для переходу на інший дистрибутив чи оновлення версії, і тоді вам треба перенести всі данні і програми в нову систему. У випадку з сервером, ви можете не перевстановлювати систему досить довго. Можна встановити NixOS, а самі програми запускати в контейнерах Docker, які у випадку чого буде просто перенести в іншу систему де підтримується Docker.
  • Тренування навиків роботи з інфраструктурою - крім всього вище перерахованого, ви отримуєте майже production сервер, який так чи інакше потрібно обслуговувати. Ви можете тут розбиратись з новими технологіями, досліджувати як все працює чи як краще реалізувати ту чи іншу конфігурацію, і тому подібне.

Як це робити?

Звісно це все можна запускати і на комп'ютері, яким ви користуєтесь, але тоді це трохи втрачає сенс. Краще для цього використовувати старий ноутбук, мінікомпютер, або Raspberry Pi. Третьої версії Raspberry Pi може бути не достатньо, але 4-та та 5-та з 8 Гб оперативної пам'яті будуть цілком справлятись.

В якості операційної системи може бути будь-який серверний Linux дистрибутив. Непоганий вибір - NixOS. Система складна в налаштуванні, але потім конфігурацію буде дуже просто відтворити на іншому пристрої або після оновлення. А самі програми зручніше за все запускати в контейнерах. Це безпечніше, а також налаштовані за допомогою docker compose контейнери можна дуже просто розгорнути будь-де, де підтримується docker.

Всі перечислені в цьому списку програми можна встановити за допомогою Docker Compose, тому це не має бути проблемою. По кожній програмі буде приведено простий приклад конфігурації docker compose, яка не є готовою до повсякденного використання, але дозволяє подивитись як працює програма.

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

Корисні програми для домашнього сервера

В цій статті не буде программ для моніторингу стану серверів і тому подібного. Зосередимось на програмах які можна використовувати для вирішення повсякденних задач та покращення зручності користування системою. За допомогою таких программ ви можете зробити свій аналог екосистеми Apple чи Google в локальній мережі.

1. NextCloud

  • Технології: PHP/Symfony, Javascript/Vue
  • Кількість зірок: 33к
  • Мінімальний об'єм RAM: 4 Гб
  • Вимоги до процесора: x64/arm64

NextCloud можна вважати альтернативою для Google Cloud. За допомогою програми ви можете налаштувати синхронізацію файлів з телефону та компьютера. А за допомогою розширень, які тут називаються додатками можна покращити зручність роботи з цими файлами, налаштувати додаткові синхронізації чи автоматизації. Фактично це хмарне сховище з веб-інтерфейсом і підтримкою плагінів. На відмінно від Google Drive, об'єм сховища обмежений тільки розміром HDD чи SSD який ви туди поставите, а варіанти використання, вашою здатністю налаштовувати та уявою. На сайті вже є стаття про те як налаштувати NextCloud.

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

services: nextcloud: image: lscr.io/linuxserver/nextcloud:latest container_name: nextcloud environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC volumes: - ./config:/config - ./data:/data ports: - 443:443 restart: unless-stopped

2. Navidrome

  • Технології: Go, JavaScript
  • Кількість зірок: 18k
  • Мінімальна кількість RAM: 1 Гб
  • Вимоги до процессора: x86 32/64bit або ARM

Це медіа-стрімінг платформа, яку можна розмістити на власному сервері. Зазвичай вона використовується для музики. Тут підтримується багато медіа форматів, музику можна організовувати по виконавцям, альбомам, плейлистам. Прослуховувати музику можна в веб-інтерфейсі, або за допомогою будь-якого клієнта який підтримує Subsonic API, наприклад за допомогою Android застосунку DSub2000.

services: navidrome: image: deluan/navidrome:latest user: 1000:1000 ports: - "4533:4533" restart: unless-stopped volumes: - ./data:/data - ./music:/music:ro

3. Kavita

  • Технології: С#, TypeScript
  • Кількість зірок: 9k
  • Мінімальний об'єм RAM: 512 Мб
  • Вимоги до процессора: x64/arm64, з підтримкою SSE4.2

Kavita - це альтернатива Kindle, яку можна розмістити на власному сервері, для того щоб читати книги які ви купили не в Amazon в форматах PDF, EPUB, та інших, з тією ж зручністю що і в Kindle. Ви надаєте доступ програмі до каталогу з книгами, програма сканує їх в бібліотеку, а потім ви можете читати ці книги в веб-інтерфейсі. В програми поки немає офіційного кліента для мобільних телефонів, але оскільки в неї є веб-інтерфейс, то відкрити його можна з будь-якого пристрою.

services: kavita: image: lscr.io/linuxserver/kavita:latest container_name: kavita environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC volumes: - ./config:/config - ./data:/data ports: - 5000:5000 restart: unless-stopped

4. Jellyfin

  • Технології: С#, JavaScript
  • Кількість зірок: 47k
  • Мінімальна кількість RAM: 8 Гб
  • Вимоги до процессора: Intel Core i5-11400, Intel Pentium Gold G7400, Intel N100, Apple M або новіше

Jellyfin - медіа система розроблена на .NET за допомогою якої можна стрімити свої відео і аудіо файли на інші пристрої, або переглядати їх в веб-інтерфейсі. Аналогічно для Kavita тут необхідно вказати папку в якій знаходяться файли медіа. Крім перегляду відео, програма завантажує мета данні для ваших файлів, а також підтримує перекодування форматів. Також тут доступні клієнти для різних платформ, включаючи Linux, Windows та Android і iOS.

services: jellyfin: image: lscr.io/linuxserver/jellyfin:latest container_name: jellyfin environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC volumes: - ./config:/config - ./tvseries:/data/tvshows - ./movies:/data/movies ports: - 8096:8096 - 8920:8920 - 7359:7359/udp - 1900:1900/udp restart: unless-stopped

5. Storyteller Reader

  • Технології: NodeJS/React
  • Кількість зірок: 100
  • Мінімальна кількість RAM: 8 Гб
  • Вимоги до процессора: Intel/AMD або ARM64

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

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

services: web: image: registry.gitlab.com/storyteller-platform/storyteller:latest volumes: - ./data:/data:rw environment: - STORYTELLER_SECRET_KEY=changemechangemechangeme ports: - "8001:8001"

6. Paperless-NGX

  • Технології: Python, TypeScript
  • Кількість зірок: 35k
  • Мінімальна кількість RAM: 2 Гб
  • Вимоги для процессора: x64 або ARM64.

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

services: paperless-ngx: image: lscr.io/linuxserver/paperless-ngx:latest container_name: paperless-ngx environment: - PUID=1000 - PGID=1000 - TZ=America/New_York volumes: - ./config:/config - ./data:/data ports: - 8000:8000 restart: unless-stopped

7. KaraKeep

  • Технології: TypeScript
  • Кількість зірок: 22k
  • Мінімальна кількість RAM: 2 Гб
  • Процессор: x64 або ARM64

Ця програма може допомогти закрити врешті решт ваші 100+ вкладок в браузері, оскільки це менеджер закладок з підтримкою AI функцій. Програма стала популярною недавно і раніше називалась Hoarder. Вона має розширення для браузерів (Chrome/Firefox), за допомогою яких можна відправити посилання на будь-яку сторінку в закладки, які потім можна дивитись в веб-інтерфейсі програми, або ж в мобільному застоснуку.

Всім матеріалам присвоюються теги за допомогою AI, а також підтримується повнотекстовий пошук. Доступ для AI тут треба налаштовувати. За замовчуванням використовується OpenAI, але підтримується також Ollama, а також усі OpenAI сумісні провайдери.

services: web: image: ghcr.io/karakeep-app/karakeep:${KARAKEEP_VERSION:-release} restart: unless-stopped volumes: - ./data:/data ports: - 3000:3000 environment: - KARAKEEP_VERSION=release - NEXTAUTH_SECRET=super_random_string - NEXTAUTH_URL=http://localhost:3000 - MEILI_ADDR=http://meilisearch:7700 - BROWSER_WEB_URL=http://chrome:9222 - OPENAI_API_KEY=changeme_changeme_changeme - OPENAI_BASE_URL=https://api.groq.com/openai/v1/ - INFERENCE_TEXT_MODEL=openai/gpt-oss-120b - INFERENCE_IMAGE_MODEL=meta-llama/llama-guard-4-12b - DATA_DIR=/data chrome: image: gcr.io/zenika-hub/alpine-chrome:124 restart: unless-stopped command: - --no-sandbox - --disable-gpu - --disable-dev-shm-usage - --remote-debugging-address=0.0.0.0 - --remote-debugging-port=9222 - --hide-scrollbars meilisearch: image: getmeili/meilisearch:v1.13.3 restart: unless-stopped environment: - MEILI_NO_ANALYTICS=true - MEILI_MASTER_KEY=another_random_string volumes: - ./meilisearch:/meili_data

8. Warracker

  • Технології: Python, JavaScript
  • Кількість зірок: 1k
  • Мінімальна кількість RAM: 250 Мб
  • Процесор: x86-64/AMD64 або ARM64

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

services: warracker: image: ghcr.io/sassanix/warracker/main:latest ports: - "8005:80" volumes: - ./data/uploads:/data/uploads environment: - DB_HOST=warrackerdb - DB_PORT=${DB_PORT:-5432} - DB_NAME=warranty_db - DB_USER=warranty_user - DB_PASSWORD=${DB_PASSWORD:-warranty_password} - SMTP_HOST=smtp.email.com - SMTP_PORT=465 - SMTP_USERNAME=youremail@email.com - SMTP_PASSWORD=password - SECRET_KEY=${APP_SECRET_KEY:-your_strong_default_secret_key_here} - MAX_UPLOAD_MB=32 - NGINX_MAX_BODY_SIZE_VALUE=32M - OIDC_PROVIDER_NAME=${OIDC_PROVIDER_NAME:-oidc} - OIDC_CLIENT_ID=${OIDC_CLIENT_ID:-} - OIDC_CLIENT_SECRET=${OIDC_CLIENT_SECRET:-} - OIDC_ISSUER_URL=${OIDC_ISSUER_URL:-} - OIDC_SCOPE=${OIDC_SCOPE:-openid email profile} - FRONTEND_URL=${FRONTEND_URL:-http://localhost:8005} - APP_BASE_URL=${APP_BASE_URL:-http://localhost:8005} - WARRACKER_MEMORY_MODE=${WARRACKER_MEMORY_MODE:-optimized} - PYTHONUNBUFFERED=1 depends_on: warrackerdb: condition: service_healthy restart: unless-stopped warrackerdb: image: postgres:15-alpine volumes: - ./data/postgres:/var/lib/postgresql/data restart: unless-stopped environment: - POSTGRES_DB=warranty_db - POSTGRES_USER=warranty_user - POSTGRES_PASSWORD=${DB_PASSWORD:-warranty_password} healthcheck: test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"] interval: 5s timeout: 5s retries: 5

9. MemeSearch

  • Технології: Ruby/Python, JavaScript
  • Кількість зірок: 600
  • Об'єм RAM: 8-16 Гб
  • Процессор: x86-64/AMD64

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

services: meme_search: image: ghcr.io/neonwatty/meme_search:latest container_name: meme_search environment: DATABASE_URL: "postgres://postgres:postgres@meme-search-db:5432/meme_search" ports: - "${APP_PORT:-3000}:3000" depends_on: meme_search_db: condition: service_healthy volumes: - ./data/memes/:/rails/public/memes - ./data/direct-uploads/:/rails/public/memes/direct-uploads extra_hosts: huggingface.co: 108.138.51.8 image_to_text_generator: image: ghcr.io/neonwatty/image_to_text_generator:latest container_name: image_to_text_generator environment: APP_PORT: "${APP_PORT:-3000}" GEN_URL: "http://meme_search:3000" expose: - "8000" volumes: - ./data/memes/:/app/public/memes - ./data/direct-uploads/:/app/public/memes/direct-uploads - ./data/db_data/image_to_text_generator:/app/db - ./data/models:/root/.cache/huggingface meme_search_db: image: pgvector/pgvector:pg17 container_name: meme-search-db volumes: - ./data/db_data/meme-search-db:/var/lib/postgresql/data environment: POSTGRES_DB: meme_search POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres expose: - "5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 10s timeout: 5s retries: 5

10. BentoPDF

  • Технології: JavaScript
  • Кількість зірок: 8k
  • Об'єм RAM: -
  • Процессор: -

Це простий інструмент для обробки PDF файлів в браузері. Тут можна конвертувати зображення в PDF, організовувати, обрізати та розвертати сторінки в документі, розділяти чи обєднувати сторінки, додавати анотації та коментарі, та багато іншого. Можливо не повноцінна заміна Adobe Acrobat, але може справитись з базовими задачами. Оскільки програма працює в браузері, то її можна запустити на будь-якому сучасному залізі.

services: bentopdf: image: bentopdf/bentopdf:latest container_name: bentopdf restart: unless-stopped ports: - '8080:8080'

Висновки

В цій статті ми розглянули корисні програми з веб-інтерфейсом, які ви можете встановити на свій сервер та мати доступ до них віддалено. Звісно це далеко не всі програми, є ще багато менш популярних программ, або популярних до яких я не добався потестувати. Крім того є програми групи arr. А що ви використовуєте? Напишіть в коментарях!

Залишити коментар