{"id":230,"date":"2025-07-09T16:38:25","date_gmt":"2025-07-09T14:38:25","guid":{"rendered":"https:\/\/netcloud24.com\/pl\/blog\/?p=230"},"modified":"2025-07-09T16:41:56","modified_gmt":"2025-07-09T14:41:56","slug":"jak-zainstalowac-wiki-js-na-debian-12","status":"publish","type":"post","link":"https:\/\/netcloud24.com\/pl\/blog\/jak-zainstalowac-wiki-js-na-debian-12\/","title":{"rendered":"Jak zainstalowa\u0107 Wiki.js na Debian 12"},"content":{"rendered":"<h1><\/h1>\n<p>Wiki.js to nowoczesna, open-source\u2019owa platforma wiki, kt\u00f3ra oferuje intuicyjny interfejs, bogate mo\u017cliwo\u015bci edycji i \u0142atw\u0105 integracj\u0119 z r\u00f3\u017cnymi systemami. W tym artykule poka\u017cemy, jak zainstalowa\u0107 Wiki.js na serwerze z systemem Debian 12, korzystaj\u0105c z dw\u00f3ch popularnych metod: r\u0119cznej instalacji z u\u017cyciem Ansible oraz instalacji z wykorzystaniem Dockera. Artyku\u0142 jest szczeg\u00f3\u0142owy i obejmuje wszystkie kroki, aby umo\u017cliwi\u0107 Ci uruchomienie Wiki.js w spos\u00f3b profesjonalny i bezproblemowy.<\/p>\n<h2>Wymagania wst\u0119pne<\/h2>\n<p>Zanim zaczniemy, upewnij si\u0119, \u017ce masz przygotowane nast\u0119puj\u0105ce elementy:<\/p>\n<ul>\n<li>Serwer z systemem Debian 12 (zalecane minimum: 2 GB RAM, 2 rdzenie CPU).<\/li>\n<li>U\u017cytkownik z uprawnieniami root lub sudo.<\/li>\n<li>Zainstalowany SSH dla zdalnego dost\u0119pu.<\/li>\n<li>Po\u0142\u0105czenie internetowe.<\/li>\n<li>Podstawowa znajomo\u015b\u0107 terminala Linux.<\/li>\n<li>(Opcjonalnie dla Ansible) Zainstalowany Ansible na maszynie kontrolnej.<\/li>\n<li>(Opcjonalnie dla Dockera) Zainstalowany Docker i Docker Compose.<\/li>\n<\/ul>\n<div class=\"note\">\n<p><strong>Uwaga:<\/strong> Wszystkie polecenia w tym artykule zak\u0142adaj\u0105, \u017ce pracujesz jako u\u017cytkownik z uprawnieniami sudo. Upewnij si\u0119, \u017ce serwer jest zaktualizowany przed rozpocz\u0119ciem instalacji.<\/p>\n<\/div>\n<h2>Metoda 1: R\u0119czna instalacja z u\u017cyciem Ansible<\/h2>\n<p>Ansible to narz\u0119dzie do automatyzacji, kt\u00f3re pozwala na \u0142atwe zarz\u0105dzanie konfiguracj\u0105 serwer\u00f3w. Poni\u017cej znajdziesz szczeg\u00f3\u0142owy playbook Ansible do instalacji Wiki.js, wraz z wyja\u015bnieniem ka\u017cdego kroku.<\/p>\n<h3>Krok 1: Przygotowanie serwera<\/h3>\n<div class=\"step\">\n<p>Zaloguj si\u0119 na serwer Debian 12 przez SSH i zaktualizuj system:<\/p>\n<pre><code>sudo apt update &amp;&amp; sudo apt upgrade -y<\/code><\/pre>\n<\/div>\n<h3>Krok 2: Instalacja Ansible na maszynie kontrolnej<\/h3>\n<div class=\"step\">\n<p>Je\u015bli Ansible nie jest zainstalowany na Twojej maszynie kontrolnej, zainstaluj go:<\/p>\n<pre><code>sudo apt install ansible -y<\/code><\/pre>\n<\/div>\n<h3>Krok 3: Przygotowanie playbooka Ansible<\/h3>\n<div class=\"step\">\n<p>Stw\u00f3rz plik playbooka Ansible o nazwie <code>wiki_js_install.yml<\/code>. Poni\u017cej znajduje si\u0119 pe\u0142ny playbook instaluj\u0105cy Node.js, PostgreSQL i Wiki.js:<\/p>\n<pre><code>---\r\n- hosts: wiki_servers\r\n  become: true\r\n  vars:\r\n    wiki_js_version: \"2.5.299\"\r\n    node_version: \"18.x\"\r\n    postgres_version: \"15\"\r\n  tasks:\r\n    - name: Aktualizacja systemu\r\n      apt:\r\n        update_cache: yes\r\n        upgrade: dist\r\n\r\n    - name: Instalacja wymaganych pakiet\u00f3w\r\n      apt:\r\n        name:\r\n          - curl\r\n          - git\r\n          - gnupg\r\n        state: present\r\n\r\n    - name: Dodanie repozytorium Node.js\r\n      shell: curl -fsSL https:\/\/deb.nodesource.com\/setup_{{ node_version }} | bash -\r\n\r\n    - name: Instalacja Node.js\r\n      apt:\r\n        name: nodejs\r\n        state: present\r\n\r\n    - name: Dodanie klucza GPG dla PostgreSQL\r\n      apt_key:\r\n        url: https:\/\/www.postgresql.org\/media\/keys\/ACCC4CF8.asc\r\n        state: present\r\n\r\n    - name: Dodanie repozytorium PostgreSQL\r\n      apt_repository:\r\n        repo: deb http:\/\/apt.postgresql.org\/pub\/repos\/apt\/ bullseye-pgdg main\r\n        state: present\r\n\r\n    - name: Instalacja PostgreSQL\r\n      apt:\r\n        name: postgresql-{{ postgres_version }}\r\n        state: present\r\n\r\n    - name: Uruchomienie i w\u0142\u0105czenie PostgreSQL\r\n      systemd:\r\n        name: postgresql\r\n        enabled: yes\r\n        state: started\r\n\r\n    - name: Utworzenie bazy danych dla Wiki.js\r\n      become_user: postgres\r\n      postgresql_db:\r\n        name: wikijs\r\n\r\n    - name: Utworzenie u\u017cytkownika bazy danych dla Wiki.js\r\n      become_user: postgres\r\n      postgresql_user:\r\n        db: wikijs\r\n        name: wikijs\r\n        password: \"TwojeSilneHaslo123\"\r\n\r\n    - name: Pobranie Wiki.js\r\n      get_url:\r\n        url: https:\/\/github.com\/Requarks\/wiki\/releases\/download\/v{{ wiki_js_version }}\/wiki-js.tar.gz\r\n        dest: \/tmp\/wiki-js.tar.gz\r\n\r\n    - name: Rozpakowanie Wiki.js\r\n      unarchive:\r\n        src: \/tmp\/wiki-js.tar.gz\r\n        dest: \/opt\/wiki\r\n        remote_src: yes\r\n\r\n    - name: Instalacja zale\u017cno\u015bci Wiki.js\r\n      npm:\r\n        path: \/opt\/wiki\r\n        state: present\r\n\r\n    - name: Skopiowanie pliku konfiguracyjnego\r\n      template:\r\n        src: config.sample.yml\r\n        dest: \/opt\/wiki\/config.yml\r\n        mode: '0644'\r\n\r\n    - name: Uruchomienie Wiki.js jako us\u0142ugi\r\n      systemd:\r\n        name: wiki\r\n        enabled: yes\r\n        state: started\r\n        daemon_reload: yes\r\n      notify: restart_wiki\r\n\r\n  handlers:\r\n    - name: restart_wiki\r\n      systemd:\r\n        name: wiki\r\n        state: restarted\r\n<\/code><\/pre>\n<\/div>\n<h3>Krok 4: Konfiguracja pliku hosts Ansible<\/h3>\n<div class=\"step\">\n<p>Edytuj plik <code>\/etc\/ansible\/hosts<\/code>, aby doda\u0107 sw\u00f3j serwer:<\/p>\n<pre><code>[wiki_servers]\r\nyour_server_ip ansible_user=your_ssh_user ansible_ssh_private_key_file=\/path\/to\/your\/key\r\n<\/code><\/pre>\n<p>Zast\u0105p <code>your_server_ip<\/code> adresem IP serwera, a <code>your_ssh_user<\/code> nazw\u0105 u\u017cytkownika SSH.<\/p>\n<\/div>\n<h3>Krok 5: Uruchomienie playbooka<\/h3>\n<div class=\"step\">\n<p>Uruchom playbook Ansible:<\/p>\n<pre><code>ansible-playbook wiki_js_install.yml<\/code><\/pre>\n<\/div>\n<h3>Krok 6: Konfiguracja Wiki.js<\/h3>\n<div class=\"step\">\n<p>Po instalacji otw\u00f3rz plik <code>\/opt\/wiki\/config.yml<\/code> i skonfiguruj po\u0142\u0105czenie z baz\u0105 danych oraz inne ustawienia, takie jak port (domy\u015blnie 3000). Nast\u0119pnie uruchom Wiki.js:<\/p>\n<pre><code>node \/opt\/wiki\/server<\/code><\/pre>\n<p>Dost\u0119p do Wiki.js uzyskasz, wpisuj\u0105c w przegl\u0105darce: <code>http:\/\/your_server_ip:3000<\/code>.<\/p>\n<\/div>\n<h2>Metoda 2: Instalacja z u\u017cyciem Dockera<\/h2>\n<p>Docker to \u015bwietny spos\u00f3b na uruchomienie Wiki.js w izolowanym \u015brodowisku. Poni\u017cej znajdziesz kroki do instalacji z u\u017cyciem Docker Compose.<\/p>\n<h3>Krok 1: Instalacja Dockera i Docker Compose<\/h3>\n<div class=\"step\">\n<p>Zainstaluj Docker i Docker Compose na serwerze:<\/p>\n<pre><code>sudo apt update\r\nsudo apt install docker.io docker-compose -y\r\nsudo systemctl start docker\r\nsudo systemctl enable docker\r\n<\/code><\/pre>\n<\/div>\n<h3>Krok 2: Przygotowanie pliku Docker Compose<\/h3>\n<div class=\"step\">\n<p>Stw\u00f3rz plik <code>docker-compose.yml<\/code> w katalogu roboczym:<\/p>\n<pre><code>version: \"3\"\r\nservices:\r\n  wiki:\r\n    image: requarks\/wiki:2\r\n    depends_on:\r\n      - db\r\n    environment:\r\n      - DB_TYPE=postgres\r\n      - DB_HOST=db\r\n      - DB_PORT=5432\r\n      - DB_USER=wikijs\r\n      - DB_PASS=TwojeSilneHaslo123\r\n      - DB_NAME=wikijs\r\n    ports:\r\n      - \"3000:3000\"\r\n    restart: unless-stopped\r\n\r\n  db:\r\n    image: postgres:15\r\n    environment:\r\n      - POSTGRES_DB=wikijs\r\n      - POSTGRES_USER=wikijs\r\n      - POSTGRES_PASSWORD=TwojeSilneHaslo123\r\n    volumes:\r\n      - wiki_db_data:\/var\/lib\/postgresql\/data\r\n    restart: unless-stopped\r\n\r\nvolumes:\r\n  wiki_db_data:\r\n<\/code><\/pre>\n<\/div>\n<h3>Krok 3: Uruchomienie Wiki.js w Dockerze<\/h3>\n<div class=\"step\">\n<p>Uruchom kontenery za pomoc\u0105 Docker Compose:<\/p>\n<pre><code>docker-compose up -d<\/code><\/pre>\n<p>Wiki.js b\u0119dzie dost\u0119pne pod adresem <code>http:\/\/your_server_ip:3000<\/code>.<\/p>\n<\/div>\n<h3>Krok 4: Konfiguracja i dost\u0119p<\/h3>\n<div class=\"step\">\n<p>Po uruchomieniu otw\u00f3rz przegl\u0105dark\u0119 i przejd\u017a do <code>http:\/\/your_server_ip:3000<\/code>. Post\u0119puj zgodnie z instrukcjami kreatora instalacji Wiki.js, aby skonfigurowa\u0107 administratora i podstawowe ustawienia.<\/p>\n<\/div>\n<h2>Por\u00f3wnanie metod<\/h2>\n<ul>\n<li><strong>Ansible:<\/strong> Idealne dla tych, kt\u00f3rzy chc\u0105 automatyzowa\u0107 i zarz\u0105dza\u0107 wieloma serwerami. Wymaga wi\u0119cej konfiguracji, ale daje wi\u0119ksz\u0105 kontrol\u0119 nad \u015brodowiskiem.<\/li>\n<li><strong>Docker:<\/strong> Szybkie i \u0142atwe w konfiguracji, idealne dla izolowanych \u015brodowisk i szybkiego wdro\u017cenia. Mniej elastyczne w przypadku niestandardowych konfiguracji.<\/li>\n<\/ul>\n<h2>Rozwi\u0105zywanie problem\u00f3w<\/h2>\n<ul>\n<li>Je\u015bli Wiki.js nie dzia\u0142a, sprawd\u017a logi: <code>docker logs wiki<\/code> (dla Dockera) lub <code>journalctl -u wiki<\/code> (dla Ansible).<\/li>\n<li>Upewnij si\u0119, \u017ce port 3000 jest otwarty w zaporze: <code>sudo ufw allow 3000<\/code>.<\/li>\n<li>Sprawd\u017a, czy PostgreSQL dzia\u0142a poprawnie: <code>sudo systemctl status postgresql<\/code>.<\/li>\n<\/ul>\n<h2>Podsumowanie<\/h2>\n<p>Zainstalowanie Wiki.js na Debian 12 jest proste dzi\u0119ki narz\u0119dziom takim jak Ansible i Docker. Ansible oferuje wi\u0119ksz\u0105 kontrol\u0119 i automatyzacj\u0119, podczas gdy Docker zapewnia szybko\u015b\u0107 i \u0142atwo\u015b\u0107 wdro\u017cenia. Wybierz metod\u0119, kt\u00f3ra najlepiej odpowiada Twoim potrzebom, i ciesz si\u0119 nowoczesnym systemem wiki!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wiki.js to nowoczesna, open-source\u2019owa platforma wiki, kt\u00f3ra oferuje intuicyjny interfejs, bogate mo\u017cliwo\u015bci edycji i \u0142atw\u0105 integracj\u0119 z r\u00f3\u017cnymi systemami. W tym artykule poka\u017cemy, jak zainstalowa\u0107\u2026<\/p>\n","protected":false},"author":1,"featured_media":232,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-230","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/posts\/230","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/comments?post=230"}],"version-history":[{"count":1,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/posts\/230\/revisions"}],"predecessor-version":[{"id":231,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/posts\/230\/revisions\/231"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/media\/232"}],"wp:attachment":[{"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/media?parent=230"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/categories?post=230"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netcloud24.com\/pl\/blog\/wp-json\/wp\/v2\/tags?post=230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}