← Zpět na všechny články blogu

Jak nainstalovat wiki Outline na Debian VPS (pomocí Dockeru)

Matyáš Vaneš
Matyáš Vaneš Aktualizováno 1. 7. 2025 – 5 min. čtení

Outline je open-source wiki nástroj ideální pro týmy, které potřebují přehledně sdílet interní dokumentaci, návody, poznámky a nebo znalosti. Dá se provozovat na vlastním serveru (například na VPS), čímž získáte plnou kontrolu nad daty a zároveň jednoduché rozhraní pro zápis i čtení obsahu.

V tomto návodu si ukážeme, jak Outline zprovoznit na VPS s Debianem pomocí Dockeru a Docker Compose.

1. Instalace Dockeru a Docker Compose

Přidání repozitáře Dockeru

Nejdřív přidáme oficiální Docker repozitář a klíč:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Instalace Dockeru

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable --now docker

Instalace Docker Compose

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" \
-o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Kontrola instalace

Po instalaci je třeba zkontrolovat, zda se instalace zdařila. Kontrolu provedete následujícím příkazem:

docker -v && docker-compose -v

Pokud proběhne v pořádku, zobrazí se info o úspěšné instalaci:

2. Příprava konfigurace Outline

Vytvoření složky

mkdir ~/outline && cd ~/outline

Generování tajných klíčů

openssl rand -hex 32

Vygenerujte dva různé klíče a dočasně si je uložte.

Vytvoření PostgreSQL databáze přes VPS Centrum

  1. V rozhraní VPS Centra přejděte do sekce Databáze.
  2. Vytvořte novou databázi typu PostgreSQL.
  3. Uložte si jméno databáze, uživatele a heslo.

3. Konfigurace Dockeru

Vytvoření docker-compose.yml

nano docker-compose.yml

Vložte:

version: "3"
services:
  outline:
    image: docker.getoutline.com/outlinewiki/outline:latest
    env_file: ./docker.env
    restart: always
    network_mode: "host"
    volumes:
      - /var/lib/outline/data:/var/lib/outline/data

Vytvoření docker.env

Soubor obsahuje konfiguraci aplikace. Vložte sem mimo jiné:

  • SECRET_KEY – hlavní aplikační klíč (vložte jeden z vašich tajných klíčů).
  • UTILS_SECRET – doplňkový bezpečnostní klíč (vložte druhý z vašich tajných klíčů).
  • DATABASE_URL – připojovací string k databázi ve formátu: postgres://uživatel:heslo@localhost:port/nazev_databaze
  • REDIS_URL – adresa připojení na Redis. Standardně se zadává pouze heslo, např.: redis://:heslo@localhost:6379.
    (Heslo najdete v instalační dokumentaci VPS, uživatel se běžně nepoužívá.)
  • URL – adresa, pod kterou bude aplikace veřejně dostupná (např. https://wiki.domena.cz).
  • PORT – výchozí port je 3000. Pokud je již obsazený, změňte ho a upravte konfiguraci webserveru.
  • FILE_STORAGE_LOCAL_ROOT_DIR – adresář, kam bude Outline ukládat soubory (obrázky atd.). Ujistěte se, že složka existuje a má správná oprávnění.
  • AUTHENTICATION – nutné zvolit a nakonfigurovat jednu metodu přihlašování (např. Slack, Google, Email atd.), jinak nebude možné se přihlásit.
  • SMTP konfigurace – pro funkční odesílání e-mailů je třeba zadat SMTP údaje stejně jako v běžném e-mailovém klientovi (host, port, uživatel, heslo, šifrování).
  • DEFAULT_LANGUAGE – výchozí jazyk rozhraní, např. cs_CZ pro češtinu.

Ujistěte se, že každý řádek odpovídá vašemu prostředí. Kompletní šablonu najdete na GitLabu Outline.

VPS Centrum

Vyzkoušejte zdarma naši aplikaci pro správu serveru a domén. Budete si připadat jako zkušený administrátor.

4. Složky a spuštění

Vytvoření datových složek

sudo mkdir -p /var/lib/outline/data
sudo chown -R 1000:1000 /var/lib/outline/data
sudo chmod -R 755 /var/lib/outline/data

Migrace databáze

docker compose run --rm outline yarn db:migrate --env=production-ssl-disabled

Spuštění služby

docker compose up -d

Zkontrolujte, že vše běží:

docker compose ps

A případné logy:

docker logs outline-outline-1

Pokud vidíte:

Listening on http://localhost:3000 / https://subdomena.domena.cz

…máte vyhráno.

5. Konfigurace webserveru

Vytvoření subdomény přes VPS Centrum

  1. Nejprve si vytvořte subdoménu k naší doméně pomocí VPS Centra.
  2. V nastavení zvolte aktivní webserver (Apache nebo Nginx).

Apache2

Přidejte do konfigurace za RewriteRule:

RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule .* ws://localhost:3000%{REQUEST_URI} [P]

ProxyPreserveHost On
ProxyTimeout 360
ProxyPass / http://localhost:3000/ upgrade=WebSocket retry=0 timeout=360
ProxyPassReverse / http://localhost:3000/

Zároveň smažte mod_proxy_fcgi tak, aby makro vypadalo podle následujícího vzoru:

<Macro wiki.domena.cz>

## odkomentovat, pokud se ma web presmerovavat automaticky z http na https - pozor, bude automaticky pro vsechny subdomeny!!!
   RewriteEngine On
   RewriteCond %{HTTPS} off
   RewriteCond %{REQUEST_URI} !^/\.well\-known/acme\-challenge/ [NC]
#  RewriteRule (.*) https://%{SERVER_NAME}$1 [R,L]

  RewriteCond %{HTTP:Upgrade} =websocket [NC]
  RewriteCond %{HTTP:Connection} upgrade [NC]
  RewriteRule .* ws://localhost:3000%{REQUEST_URI} [P]

  ProxyPreserveHost On
  ProxyTimeout 360
  ProxyPass / http://localhost:3000/ upgrade=WebSocket retry=0 timeout=360
  ProxyPassReverse / http://localhost:3000/

</Macro>

Nginx

V bloku location / nahraďte:

location / {
  proxy_pass http://localhost:3000;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_buffering off;
  proxy_connect_timeout 360s;
  proxy_read_timeout 360s;
  proxy_send_timeout 360s;
}

Zároveň smažte ostatní definice tak, aby blok server vypadal dle následujícího vzoru:

server {
    server_name wiki.domena.cz wiki.domena.cz.<ID>.vas-server.cz; 

	include /etc/nginx/sites-available/domains_conf/domena.cz.conf;

    ### redirect to https - zacatek
#       if ($scheme != https) { return 308 https://$host$uri$is_args$args; }
    ### redirect to https - konec

    location / {
    proxy_pass http://localhost:3000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_buffering off;
    proxy_connect_timeout 360s;
    proxy_read_timeout 360s;
    proxy_send_timeout 360s;
    }
}

Soubor uložte – cron se o restart webserveru postará do minuty.

Freelo - Nástroj na řízení úkolů a projektů

Přidej se, pozvi svůj tým a klienty, rozděl práci a sleduj, jak se úkoly dají do pohybu.

A je to!

Pokud jste došli až sem, máte funkční self-hosted wiki systém Outline. Teď už jen stačí přidat první poznámky, přizvat tým a začít sdílet znalosti. 🙌

Poznámka: Krátké chybové hlášení 502 po restartu serveru je běžné – Docker potřebuje chvíli na rozběhnutí.

Zůstaňte s námi v kontaktu

Jednou za měsíc posíláme souhrn novinek. Nemusíte se bát, spamovat vás nebudeme a odhlásit se můžete kdykoliv...

Karel Dytrych
Tým Váš Hosting
Vyzkoušejte náš trial na týden zdarma

Garance 14denní záruky vrácení peněz

Vyzkoušejte server na týden zdarma

Vyzkoušet server

Je váš web připravený na éru AI?

Stáhněte si praktický checklist

Jak přežít v éře GEO