GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Outline Knowledgebase Wiki na Ubuntu pomocí Dockeru

Outline je open source, spolupracující software znalostní báze. Můžete jej použít k hostování dokumentačních a fanouškovských stránek nebo jej dokonce použít pro sdílení poznámek. Obsahuje editor markdown a integruje se s více službami, jako je Slack, Figma, Airtable, Google Docs, Trello, Zapier, Codepen, Spotify, Youtube atd. Má bezpečnostní funkce, jako jsou skupiny uživatelů se samostatnými oprávněními pro čtení a zápis, umožňuje veřejné sdílení a má podporu RTL s překlady do 13 jazyků. Je vytvořen pomocí React a Node.js. Outline lze používat dvěma způsoby. Jedním z nich je jejich cloudová verze, nebo ji můžete hostovat na svém serveru.

Tento tutoriál vás naučí, jak nainstalovat Outline Wiki na server založený na Ubuntu pomocí Dockeru.

Předpoklady

  • Server se systémem Ubuntu 20.04 s minimálně 1 GB RAM.

  • Uživatel bez oprávnění root s právy sudo.

  • Název domény směřující na server. Použijeme https://outline.example.com pro náš tutoriál.

  • Několik základních aplikací pro začátek.

    $ sudo apt install nano curl wget unzip gnupg

Krok 1 – Konfigurace brány firewall

Prvním krokem je konfigurace firewallu. Ubuntu je standardně dodáváno s ufw (Uncomplicated Firewall).

Zkontrolujte, zda je spuštěna brána firewall.

Stav $ sudo ufw

Měli byste získat následující výstup.

Stav:neaktivní

Povolte port SSH, aby firewall při jeho povolení nepřerušil aktuální připojení.

$ sudo ufw povolit OpenSSH

Povolit také porty HTTP a HTTPS.

$ sudo ufw povolit 80 $ sudo ufw povolit 443

Povolte bránu firewall.

$ sudo ufw enableCommand může narušit stávající připojení ssh. Pokračovat v operaci (y|n)? yFirewall je aktivní a povolený při spuštění systému

Znovu zkontrolujte stav brány firewall.

Stav $ sudo ufw

Měli byste vidět podobný výstup.

Stav:activeTo Action From-- ------ ----OpenSSH ALLOW Anywhere80 ALLOW Anywhere443 ALLOW AnywhereOpenSSH (v6) ALLOW Anywhere (v6)80 (v6) ALLOW Anywhere (v6)443 (v6) ALLOW Anywhere (v6)

Krok 2 – Instalace Docker

Budeme muset nainstalovat Docker pomocí jeho oficiálního úložiště. Přidejte oficiální klíč GPG společnosti Docker.

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

Přidejte úložiště Docker do systému.

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

Aktualizujte seznam repozitářů APT a nainstalujte Docker.

$ sudo apt update$ sudo apt install docker-ce

Ověřte, zda je modul Docker správně nainstalován.

$ docker --versionDocker verze 20.10.14, sestavení a224086

Proveďte následující příkazy, abyste ke spouštění příkazů Dockeru nemuseli používat sudo.

$ sudo usermod -aG docker ${USER}$ su - ${USER}

Krok 3 – Instalace Docker Compose

Spuštěním následujícího příkazu nainstalujte Docker compose. Docker Compose byl nedávno aktualizován na verzi 2.0, která přinesla mnoho převratných změn. Použijeme nejnovější verzi 1.x dostupnou na stránce vydání Github.

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

Použijte oprávnění ke spuštění pro binární soubor Docker compose.

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

Ověřte, zda je správně nainstalován Docker Compose.

$ docker-compose --versiondocker-compose verze 1.29.2, sestavení 5becea4c

Nainstalujte dokončení příkazu pro Docker compose.

$ sudo curl \ -L https://raw.githubusercontent.com/docker/compose/1.29.2/contrib/completion/bash/docker-compose \ -o /etc/bash_completion.d/docker-compose$ zdroj ~/.bashrc

Tím je dokončena sekce instalace Docker and Docker Compose ve výukovém programu.

Krok 4 – Vytvoření souboru prostředí pro Docker

Konfigurace Slack Authentication

Outline vyžaduje, abyste nakonfigurovali poskytovatele ověření. V našem tutoriálu nakonfigurujeme přihlášení založené na Slacku.

Přihlaste se pomocí svého účtu Slack a navštivte stránku Slack API Apps.

Klikněte na Vytvořit aplikaci tlačítko pro pokračování. Klikněte na Od nuly odkaz k vytvoření aplikace.

Vyberte název aplikace a vyberte pracovní prostor, kde se má aplikace zobrazovat. Pokud svou aplikaci nechcete přidružit ke stávajícímu pracovnímu prostoru, můžete vytvořit další a vrátit se k tomuto kroku.

Klikněte na Vytvořit aplikaci až budete hotovi. Poté přejděte dolů na konec stránky a zadejte popis aplikace, ikonu a barvu pozadí.

Klikněte na tlačítko Uložit změny až budete hotovi. Vyberte OAuth and Permissions možnost z levého postranního panelu.

Přidejte adresu URL přesměrování https://outline.example.com/auth/slack.callback v zobrazeném poli a klikněte na Přidat tlačítko.

Klikněte na Uložit adresy URL tlačítko pro pokračování. Přejděte dolů na Rozsahy uživatelských tokenů části stránky a z rozbalovací nabídky vyberte následující rozsahy.

  • identity.avatar
  • identity.basic
  • identity.email
  • identity.team

Vraťte se na Základní informace stránku z levého postranního panelu. Zkopírujte hodnoty Client ID a Tajný klíč klienta z jejich polí v části Přihlašovací údaje aplikace .

Konfigurace integrace Slack

Navštivte Příkazy lomítka možnost z levého postranního panelu.

Klikněte na Nový příkaz tlačítko na výsledné stránce. Zadejte /outline jako příkaz. Zadejte https://outline.example.com/api/hooks.slack jako URL požadavku . Zadejte popis příkazu a slovo jako nápovědu. Klikněte na tlačítko Uložit po dokončení.

Otevřete nabídku Funkce>> Interaktivita a zkratky z levého bočního panelu. Povolit Interaktivitu přepnutím přepínacího tlačítka a vložením https://outline.example.com/api/hooks.interactive jako URL požadavku. Klikněte na tlačítko Uložit změny dokončete.

Otevřete Nastavení>> Instalovat aplikaci z levého postranního panelu a klikněte na Instalovat do WorkSpace tlačítko pro instalaci aplikace pro váš pracovní prostor Slack.

Navštivte Základní informace z levého postranního panelu a zkopírujte ID aplikace a ověřovací token hodnoty pro integraci slack aplikace.

Vytvořit přihlašovací údaje S3

Vytvořte segment S3 pro instalaci Outline na AWS nebo jakékoli službě kompatibilní s S3. Po vytvoření segmentu přidejte následující zásady JSON pro konfiguraci sdílení zdrojů mezi zdroji (CORS). Nahraďte hodnotu AllowedOrigins s vaší adresou URL obrysu.

[ { "AllowedHeaders":[ "*" ], "AllowedMethods":[ "PUT", "POST" ], "AllowedOrigins":[ "https://docs.mycompany.com" ], "ExposeHeaders" :[] }, { "AllowedHeaders":[], "AllowedMethods":[ "GET" ], "AllowedOrigins":[ "*" ], "ExposeHeaders":[] }]

Vytvořte uživatele IAM s následující zásadou. Nahraďte my-bucket-name se skutečným názvem vašeho segmentu Outline S3.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"VisualEditor", "Effect":"Allow", "Action":[ "s3:GetObjectAcl", " s3:DeleteObject", "s3:PutObject", "s3:GetObject", "s3:PutObjectAcl" ], "Resource":"arn:aws:s3:::my-bucket-name/*" } ]} 

Nyní, když jste vytvořili svého uživatele IAM, vygenerujte přístupový klíč a tajný klíč pro uživatele vašeho segmentu.

Vytvořit tajné klíče

Soubor prostředí vyžaduje tajný klíč a tajný klíč nástroje. Spusťte následující příkaz dvakrát, abyste vygenerovali oba klíče.

$ openssl rand -hex 32

Zkopírujte a uložte tyto hodnoty.

Vytvoření a úprava souboru prostředí

Vytvořte adresář pro nastavení ukotvitelného panelu pro Outline.

$ mkdir ~/outline

Přepněte do adresáře.

$ cd ~/outline

Vytvořte docker.env soubor a otevřete jej pro úpravy. Tento soubor bude obsahovat všechny proměnné prostředí potřebné pro instalaci.

$ nano docker.env

Vložte do něj následující kód. Zadejte tajný klíč a dříve vytvořený tajný klíč. Zkopírujte přihlašovací údaje Slack vytvořené dříve pro ověřování a integraci aplikací. Zadejte své přihlašovací údaje Amazon S3, jak je uvedeno níže.

Pokud chcete pomocí Google Analytics sledovat statistiky své aplikace Outline, zadejte do pole níže své ID Analytics. Outline zatím značky GA4 nepodporuje, takže budete muset zadat své staré ID měření.

Pro WEB_CONCURRENCY proměnnou, vydělte svůj systémový ram číslem 512 a zadejte přibližnou hodnotu. FORCE_HTTPS je nastavena na false, protože používáme Nginx jako proxy server.

# –––––––––––––––– POVINNÉ ––––––––––––––––SECRET_KEY=generate_a_new_keyUTILS_SECRET=generate_a_new_keyPOSTGRES_USER=outlinepgPOSTGRES_PASSWORD=yourpostpasswordPOSTGRESTGRESTGREST ://outlinepg:[e-mail chráněn]:5432/outlineDATABASE_URL_TEST=postgres://outlinepg:[e-mail chráněn]:5432/outline-testPGSSLMODE=disableREDIS_URL=redis://localhost:6379URL=https://docs.example.comPORT =3000AWS_ACCESS_KEY_ID =get_a_key_from_awsAWS_SECRET_ACCESS_KEY =get_the_secret_of_above_keyAWS_REGION =nás-east-2AWS_S3_UPLOAD_BUCKET_URL =https://my-bucket-name.s3.us-east-2.amazonaws.comAWS_S3_UPLOAD_BUCKET_NAME=my-bucket-nameAWS_S3_UPLOAD_MAX_SIZE=26214400AWS_S3_FORCE_PATH_STYLE=true# ----- ––––––––– AUTHENTICATION ––––––––––––––SLACK_KEY=SLACK_SECRET=# ––––––––––––––– – VOLITELNÉ ––––––––––––––––GOOGLE_ANALYTICS_ID=UA-XXXXXXX-1SLACK_VERIFICATION_TOKEN=your_tokenSLACK_APP_ID=A0XXXXXXXSLACK_MESSAGE_ACTIONS=trueFORCE_HTTPS=falseENABLE_UPDATE_CONCURRENWEBRENWEBCY2CURREN před> 

Výše uvedený soubor je založen na ukázkovém souboru z úložiště Github společnosti Outline. Pokud potřebujete nakonfigurovat další nastavení, můžete je zkopírovat do svého souboru.

Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.

Krok 5 – Vytvoření souboru Docker Compose pro Outline

Vytvořte docker-compose.yml soubor a otevřete jej pro úpravy.

$ nano docker-compose.yml

Vložte do něj následující kód.

verze:"3"služby:obrys:obrázek:obryswiki/outline:nejnovější restart:příkaz vždy:sh -c "sequelize příze:migrace --env=produkce-ssl-zakázáno &&spuštění příze --env=výroba- ssl-disabled" env_file:./docker.env porty:- "3000:3000" Depend_on:- postgres - redis redis:image:redis restart:vždy env_file:./docker.env porty:- "6379:6379" svazky:- ./redis.conf:/redis.conf příkaz:["redis-server", "/redis.conf"] postgres:image:postgres restart:always env_file:./docker.env porty:- "5432:5432" svazky:- data-databaze:/var/lib/postgresql/datavolumes:data-databaze:

Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.

Krok 6 – Instalace Outline

Nainstalujte Outline spuštěním kontejnerů.

$ docker-compose up -d

Zkontrolujte stav kontejnerů.

$ docker ps

Krok 7 – Instalace protokolu SSL

Pro instalaci SSL certifikátu pomocí Let's Encrypt si musíme stáhnout nástroj Certbot. K tomu použijeme instalační program balíčku Snapd.

Nainstalujte instalační program Snap.

$ sudo apt install snapd

Ujistěte se, že vaše verze Snapd je aktuální.

$ instalační jádro sudo snap &&obnovovací jádro sudo snap

Nainstalujte Certbot.

$ instalace sudo snap --classic certbot

Pomocí následujícího příkazu zajistěte, aby bylo možné spustit příkaz Certbot vytvořením symbolického odkazu na /usr/bin adresář.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Vygenerujte certifikát SSL.

$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [e-mail chráněný] -d obrys.example.com

Výše uvedený příkaz stáhne certifikát do /etc/letsencrypt/live/outline.example.com adresář na vašem serveru.

Vytvořte skupinu Diffie-Hellman certifikát.

$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Vytvořte adresář webroot s výzvou pro automatické obnovení Let's Encrypt.

$ sudo mkdir -p /var/lib/letsencrypt

Vytvořte úlohu Cron pro obnovení SSL. Poběží každý den, aby se zkontroloval certifikát a v případě potřeby jej obnovil. Nejprve vytvořte soubor /etc/cron.daily/certbot-renew a otevřete jej pro úpravy.

$ sudo nano /etc/cron.daily/certbot-renew

Vložte následující kód.

#!/bin/shcertbot renew --cert-name outline.example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx"

Uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.

Změňte oprávnění k souboru úlohy, aby byl spustitelný.

$ sudo chmod +x /etc/cron.daily/certbot-renew

Krok 8 – Instalace Nginx

Ubuntu se dodává se starší verzí Nginx. Chcete-li nainstalovat nejnovější verzi, musíte si stáhnout oficiální úložiště Nginx.

Importujte podpisový klíč Nginx.

$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg>/dev/null

Přidejte úložiště pro stabilní verzi Nginx.

$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg arch=amd64] \http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \ | sudo tee /etc/apt/sources.list.d/nginx.list

Aktualizujte systémová úložiště.

Aktualizace $ sudo apt

Nainstalujte Nginx.

$ sudo apt install nginx

Ověřte instalaci.

$ nginx -verze vnginx:nginx/1.20.2

Povolte službu Nginx.

$ sudo systemctl povolit nginx

Krok 9 – Konfigurace Nginx

Až dosud Shlink běžel na místním systému přes port 8080. Nginx budeme používat jako reverzní proxy pro běh na jeho doméně.

Vytvořte konfigurační soubor pro server Shlink v /etc/nginx/conf.d adresář.

$ sudo nano /etc/nginx/conf.d/outline.conf

Vložte do něj následující kód.

server { název_serveru obrys.example.com; poslouchat 443 ssl http2; poslouchej [::]:443 ssl http2; access_log /var/log/nginx/outline.access.log; error_log /var/log/nginx/outline.error.log; ssl_certificate /etc/letsencrypt/live/outline.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/outline.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/outline.example.com/chain.pem; ssl_session_timeout 1d; ssl_session_cache shared:MozSSL:10m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-POLSHA13HEDCHA25050 -RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_stapling on; ssl_stapling_verify on; ssl_dhparam /etc/ssl/certs/dhparam.pem; umístění / { proxy_pass http://localhost:3000; proxy_set_header Upgrade $http_upgrade; proxy_set_header Připojení "Upgrade"; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $host; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Schéma $schéma; proxy_set_header X-Forwarded-Proto $schéma; proxy_redirect off; }## HTTPS Redirectserver { listen 80; poslouchej [::]:80; název_serveru obrys.example.com; vrátit 301 https://$host$request_uri;}

Až budete hotovi, uložte soubor stisknutím Ctrl + X a zadáním Y až budete vyzváni.

Otevřete soubor /etc/nginx/nginx.conf pro úpravy.

$ sudo nano /etc/nginx/nginx.conf

Přidejte následující řádek před řádek include /etc/nginx/conf.d/*.conf; .

server_names_hash_bucket_size 64;

Uložte soubor stisknutím Ctrl + X a zadáním Y po výzvě. Znovu ověřte Nginx.

Ověřte syntaxi konfiguračního souboru Nginx.

$ sudo nginx -tnginx:syntaxe konfiguračního souboru /etc/nginx/nginx.conf je oknginx:konfigurační soubor /etc/nginx/nginx.conf test byl úspěšný

Spusťte server Nginx.

$ sudo systemctl spustí nginx

Krok 10 – Přístup k Outline

Spusťte doménu https://outline.example.com ve vašem prohlížeči a uvítá vás následující stránka.

Klikněte na Pokračovat s Slack tlačítko pro přihlášení přes Slack a připojení vašeho pracovního prostoru.

Po přihlášení se otevře domovská stránka Outline a můžete na ní začít pracovat.

Aplikace Outline pro Slack vám umožňuje vyhledávat a vkládat odkaz na jakýkoli dokument z vašeho pracovního prostoru. Chcete-li tak učinit, otevřete svůj pracovní prostor slack a zadejte /outline <searchterm> ve zprávách a zveřejněte je.

Automaticky vyhledá dokument související s hledaným výrazem a zveřejní jej ve vašich zprávách.

Krok 11 – Aktualizace osnovy

Chcete-li aktualizovat wiki osnovy, spusťte následující příkazy. První příkaz vypne a odstraní kontejnery. Druhý stahuje nejnovější verzi obrázků Docker pro Outline a další nástroje. Stejné příkazy můžete spustit, pokud potřebujete provést nějaké změny v souboru Docker Compose nebo souboru prostředí.

$ docker-compose down --remove-orphans$ docker-compose pull 

Spusťte následující příkaz pro upgrade databáze.

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

Začněte nový kontejner s čerstvými obrázky, přičemž vaše data zůstanou nedotčená.

$ docker-compose up -d

Závěr

Tímto končí náš návod k instalaci wiki Outline Knowledgebase na server Ubuntu 20.04 pomocí Dockeru. Pokud se chcete o Outline dozvědět více, můžete sledovat jeho oficiální dokumentaci. Pokud máte nějaké dotazy, napište je do komentářů níže.


Ubuntu
  1. Jak nainstalovat Docker na Ubuntu 18.04

  2. Jak nainstalovat Docker na Ubuntu 16.04

  3. Jak nainstalovat Docker na Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

  1. Jak nainstalovat Kubernetes na Ubuntu 18.04

  2. Jak nainstalovat Docker Compose na Ubuntu 18.04

  3. Jak nainstalovat Rancher na Ubuntu

  1. Jak nainstalovat Docker Compose na Ubuntu 20.04

  2. Jak nainstalovat Docker na Ubuntu 22.04

  3. Jak nainstalovat Docker na Ubuntu 20.04