diff --git a/ci/deploy.yaml b/ci/deploy.yaml index 4825895..1ecb8f9 100644 --- a/ci/deploy.yaml +++ b/ci/deploy.yaml @@ -4,7 +4,7 @@ tasks: - name: "Prepare pywb operation directory" file: - dest: /home/ansible/pywb + dest: "{{ pywb_dir }}" state: directory # - name: "Prepare configuration for static web." @@ -27,8 +27,13 @@ - name: "Deploy Docker Compose" template: - src: docker-compose.yaml - dest: /home/ansible/pywb/docker-compose-{{ env }}.yaml + src: "{{ item.src }}" + dest: "{{ pywb_dir }}/{{ dest }}" + loop: + - src: docker-compose.yaml + dest: docker-compose-{{ env }}.yaml + - src: config.yaml + dest: config.yaml - name: "Deployment scripts" template: @@ -37,6 +42,6 @@ mode: u+x loop: - src: run.sh - dest: /home/ansible/pywb/run-{{ env }}.sh + dest: "{{ pywb_dir }}/run-{{ env }}.sh" # - dump-screenshots.sh # - update_vyvoj.sh diff --git a/ci/group_vars/all/main.yaml b/ci/group_vars/all/main.yaml new file mode 100644 index 0000000..e3b3dce --- /dev/null +++ b/ci/group_vars/all/main.yaml @@ -0,0 +1 @@ +pywb_dir: /opt/pywb diff --git a/ci/templates/config.yaml b/ci/templates/config.yaml new file mode 100644 index 0000000..9da0285 --- /dev/null +++ b/ci/templates/config.yaml @@ -0,0 +1,73 @@ +# pywb config file +# ======================================== +# + +debug: true + +# collections_root: collections + +collections: + all: $all + live: $live + tests-23: + index_paths: + - ./index/ + archive_paths: + - ./sample_archive/ + +# acl_paths: acl +# static_path: static + +# default_access: allow + +# templates_dir: templates + +# Template HTML +# banner_html: banner.html +# custom_banner_html: custom_banner.html +# head_insert_html: head_insert.html +# frame_insert_html: frame_insert.html + +# base_html: base.html +# header_html: header.html +# footer_html: footer.html +# head_html: head.html + +# query_html: query.html +# search_html: search.html +# not_found_html: not_found.html + +# home_html: index.html +# error_html: error.html + +# proxy_cert_download_html: proxy_cert_download.html +# proxy_select_html: proxy_select.html + +# Info JSON +info_json: collinfo.json + +# HTML Templates List +# html_templates: +# - banner_html +# - custom_banner_html +# - head_insert_html +# - frame_insert_html + +# - query_html +# - search_html +# - not_found_html + +# - home_html + +# - base_html +# - header_html +# - head_html +# - footer_html + +# - error_html +# - proxy_cert_download_html +# - proxy_select_html + +# Other Settings +enable_memento: true +# rules_config: pkg://pywb/rules.yaml diff --git a/ci/templates/docker-compose.yaml b/ci/templates/docker-compose.yaml index 11f5ad6..88758f8 100644 --- a/ci/templates/docker-compose.yaml +++ b/ci/templates/docker-compose.yaml @@ -17,6 +17,12 @@ services: pywb: image: webrecorder/pywb:2.7.4 + volumes: + - ../config.yaml:"{{ pywb_dir }}"/config.yaml + - ../sample-archive/:/mnt/archive/23/tests/ + - ../index/:/mnt/archive/23/index/2023-tests.cdx + # - ./uwsgi_subdir.ini:/uwsgi/uwsgi.ini + labels: - "traefik.http.routers.pywb.rule=Host(`whoami.docker.localhost`) || Host(`10.3.0.21`)" diff --git a/docs/index.md b/docs/index.md index deeb875..605551f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,31 +1,60 @@ -# Základní komponenty -- [PyWb](https://pywb.readthedocs.io/en/latest/) -- [Traefik](https://doc.traefik.io/traefik/) -- [MkDocs](https://www.mkdocs.org) -- [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) +# Webový archiv +Nástroj [Českého Webového archivu Národoní knihovny](https://webarchiv.cz/en/) pro nasazování služby pro zobrazování archivovaných webů dostupný na adrese [pywb.webarchiv.cz](https://pywb.webarchiv.cz). + + +## Automatizační kód +Automatizační nástroj je uchován na Githubu v repozitáři [pywb](https://github.com/WebarchivCZ/pywb), vlastněným organizací [WebarchivCZ](https://github.com/WebarchivCZ). + +## Traefik +[Traefik](https://doc.traefik.io/traefik/) směřuje požadavky vůči serveru na konkrétní služby jako je např. pywb. + - [Github Pages](https://pages.github.com/) +## pywb +[Pywb](https://pywb.readthedocs.io/en/latest/) je jádrem celého řešení. Základní funkcí je vyhledávání URL v archivu, zobrazování webových stránek z digitálních objektů uložených ve WARC a ARC a kontrola přístup ke kolekci. + +### Base images +Služba pywb je provozovaná z docker image vytvořeném tvůrcem pywb [Ilya Kreymer](https://github.com/ikreymer). Všechny dostupné tagy obrazu jsou zveřejněné na [Dockerhub](https://hub.docker.com/r/webrecorder/pywb/tags). V okamžiku psaního tohoto dokumentu byla nejnovější verze pywb 2.7.4. + + +## Material for MkDocs +[Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) je framework nad [MkDocs](https://www.mkdocs.org) který z Markdown dokumentace vytváří statickou stránku. Dokumentace je uchována ve složce +`./docs`. + +Příkaz ```./mkdocs.sh``` spustí lokální dokumentaci na adrese http://0.0.0.0:8000/ + ## Github Pages +[Github Pages](https://pages.github.com/) umožňuje hostování statickým webů z githubu. Včetně právě čtené [Dokumentace](https://webarchivcz.github.io/pywb/). + mkdocs.yml # The configuration file. docs/ index.md # The documentation homepage. ... # Other markdown pages, images and other files. -### Lokální dokumentace -Příkaz ```./mkdocs.sh``` spustí lokální dokumentaci na adrese http://0.0.0.0:8000/ + # Nasazení ## Pywb & Traefik -Jenknins file instruuje https://jenkins.webarchiv.cz běžící na wa-dev-docker00. +Jenkins file instruuje https://jenkins.webarchiv.cz běžící na wa-dev-docker00. ## Infrastruktura - host: 10.3.0.21 + - user: ansible - groups: sudo - Jenkins access via /home/ansible/.ssh/authorized_keys ### PyWb & Traefik - Spuštění: - - Test: /home/ansible/pywb/run-test.sh - - Produkce: /home/ansible/pywb/run-test.sh \ No newline at end of file + - Test: `/home/ansible/pywb/run-test.sh` + - Produkce: `/home/ansible/pywb/run-prod.sh` + +# Stav +## nyní +pywb: [http://10.3.0.21:443](http://10.3.0.21:443) +traefik dashboard: [http://10.3.0.21](http://10.3.0.21:443) + +## plán +pywb: [https://pywb.webarchiv.cz](https://pywb.webarchiv.cz) - veřejný +Traefik dashboard: [https://pywb.webarchiv.cz/traefik/](https://pywb.webarchiv.cz/traefik/) - z knihovny nebo VPN, může být i veřejný \ No newline at end of file