გუნდის დოკუმენტაცია ჩვეულებრივ ორიდან ერთი გზით კვდება: ჩატის ისეთ თემებში იფანტება, სადაც ძებნა ვერავის შეუძლია, ან ისეთ მოუხერხებელ ვიკიში იმარხება, რომ მას არავინ აახლებს. BookStack ის იშვიათი თვითგანთავსებული ვიკია, რომელსაც ადამიანები ნამდვილად იყენებენ. შიგთავსი თაროებზე, წიგნებში, თავებსა და გვერდებზეა დალაგებული — სტრუქტურა, რომელსაც ყველა სწავლების გარეშე იგებს. და სერვერი თითქმის არ სჭირდება.
რატომ BookStack
- ნათელი სტრუქტურა. წიგნები და თავები გვერდების ბრტყელი გროვის ნაცვლად.
- რედაქტირება, რომელიც არავის აშინებს. ნაგულისხმევად WYSIWYG-რედაქტორი, მსურველებისთვის კი Markdown.
- ნამდვილი უფლებები. როლები თითოეული თაროს, წიგნისა თუ გვერდისთვის — HR-ის დოკუმენტები კონტრაქტორებისგან შორს რჩება.
- კომპანიის შესვლა. LDAP, SAML2 და OpenID Connect ჩაშენებულია.
- თქვენი მონაცემები. ყველაფერი MariaDB-ის მონაცემთა ბაზასა და თქვენი სერვერის საქაღალდეშია.
ეს ყველაფრისთვის სწორი ხელსაწყო არ არის. დეველოპერების დოკუმენტაციის ადგილი, რომელიც კოდთან ერთად უნდა იცვლებოდეს, საცავია და არა ვიკი.
რა სჭირდება
BookStack მსუბუქია. გუნდების უმეტესობისთვის Micro-IP — 1 vCPU, 2 GB, $10 თვეში — საკმარისზე მეტია. სწორედ გამოყოფილი IP აძლევს კოლეგებს საშუალებას, თქვენს დომენზე HTTPS-ით მიწვდნენ. დისკი ატვირთული ეკრანის ანაბეჭდებითა და PDF-ებით იზრდება და არა გვერდების რაოდენობით.
ინსტალაცია Docker Compose-ით
ფართოდ გავრცელებულ LinuxServer.io-ის image-ებს გამოვიყენებთ. ჯერ აპლიკაციის გასაღები შექმენით:
docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey
დააკოპირეთ დაბეჭდილი base64:... მნიშვნელობა. შემდეგ შექმენით docker-compose.yml:
services:
bookstack:
image: lscr.io/linuxserver/bookstack:latest
environment:
- PUID=1000
- PGID=1000
- APP_URL=https://wiki.example.com
- APP_KEY=base64:paste-your-key-here
- DB_HOST=db
- DB_PORT=3306
- DB_DATABASE=bookstack
- DB_USERNAME=bookstack
- DB_PASSWORD=change-me
volumes:
- ./bookstack:/config
ports:
- 127.0.0.1:6875:80
depends_on:
- db
restart: unless-stopped
db:
image: lscr.io/linuxserver/mariadb:latest
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=change-me-too
- MYSQL_DATABASE=bookstack
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=change-me
volumes:
- ./db:/config
restart: unless-stopped
docker compose up -d
docker compose logs -f bookstack
APP_URL უნდა ემთხვეოდეს იმ მისამართს, რომელსაც ადამიანები გამოიყენებენ, https://-ის ჩათვლით. თუ შეცდებით, სურათები და ბმულები უცნაურად ფუჭდება. Compose-ის შესახებ მეტი ჩვენს სტეკის განთავსების სახელმძღვანელოშია.
HTTPS და პირველი შესვლა
მიმართეთ ქვედომენი სერვერზე (როგორ), 127.0.0.1:6875-ის წინ დააყენეთ nginx და certbot-ით სერტიფიკატი დაამატეთ — reverse proxy-ის სახელმძღვანელო ნაბიჯ-ნაბიჯ გაგიძღვებათ.
შემდეგ შედით ნაგულისხმევი ანგარიშით: admin@admin.com / password. ბმულის გაზიარებამდე ელფოსტა და პაროლი დაუყოვნებლივ შეცვალეთ. დანარჩენები საკუთარ ანგარიშებს იღებენ ან თქვენი იდენტობის პროვაიდერით შედიან.
სარეზერვო ასლები
ორი რამ არის დასაცავი: მონაცემთა ბაზა და ატვირთვები ./bookstack-ში. ასეთი ღამის ამოცანა მონაცემთა ბაზას ფარავს:
docker compose exec -T db mysqldump -u bookstack -pchange-me bookstack > /var/backups/bookstack.sql
შემდეგ /var/backups და compose-საქაღალდე სერვერის გარეთ დააკოპირეთ — სწორედ ამას აკეთებს ჩვენი restic-ის სახელმძღვანელო. Managed Backups ამას ზემოდან მთელი სერვერის ყოველდღიურ აღდგენის წერტილებს ამატებს.
მოვლა
განახლება ეს არის docker compose pull && docker compose up -d. BookStack ჩართვისას მონაცემთა ბაზის მიგრაციებს უშვებს. მთავარი ვერსიების წინ წაიკითხეთ გამოშვების შენიშვნები; ისინი მოკლე და ნათელია.
თუ თქვენს გუნდს ბილეთებისა და კოდის ადგილიც სჭირდება, თვითგანთავსებული Git-სერვერი იმავე ტიპის გეგმაზე მის გვერდით მშვენივრად ჯდება.
კომენტარები
ჯერ არ არის კომენტარები. იყავით პირველი.