Added basic documentation server
This commit is contained in:
parent
065d240468
commit
c93df6d0d3
6
hosts
6
hosts
@ -1,7 +1,7 @@
|
|||||||
# Server Names and their IP Addresses Go Here
|
# Server Names and their IP Addresses Go Here
|
||||||
|
|
||||||
[n0xb0x]
|
[n0xb0x]
|
||||||
192.168.2.119
|
n0xb0x.local
|
||||||
|
|
||||||
[bitb0x]
|
[bitb0x]
|
||||||
192.168.2.103
|
192.168.2.103
|
||||||
@ -21,10 +21,10 @@ bitcoin_rpcpassword=rVhfmriXjB8uFekmn7sLvnUiY610JaOx
|
|||||||
zerotier_network=
|
zerotier_network=
|
||||||
|
|
||||||
[n0xb0x:vars]
|
[n0xb0x:vars]
|
||||||
app_list=['bitcoin.yml']
|
hostname=n0xb0x
|
||||||
|
app_list=['bitcoin.yml','docs.yml']
|
||||||
ansible_user=n0xb0x
|
ansible_user=n0xb0x
|
||||||
ansible_password=n0xb0x
|
ansible_password=n0xb0x
|
||||||
coreos=true
|
|
||||||
#registry_url=git.boxxy.net/b0xxer/
|
#registry_url=git.boxxy.net/b0xxer/
|
||||||
registry_url=localhost
|
registry_url=localhost
|
||||||
registry_user=
|
registry_user=
|
||||||
|
|||||||
19
roles/apps/files/docs/Containerfile
Normal file
19
roles/apps/files/docs/Containerfile
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
FROM docker.io/almalinux/9-minimal:latest
|
||||||
|
LABEL maintainer="n0x@n0xb0x.org"
|
||||||
|
|
||||||
|
COPY requirements.txt requirements.txt
|
||||||
|
RUN microdnf update -y \
|
||||||
|
&& microdnf install -y \
|
||||||
|
ca-certificates \
|
||||||
|
python3 \
|
||||||
|
python3-pip \
|
||||||
|
&& microdnf clean all && rm -fr /tmp/* /var/tmp/* \
|
||||||
|
&& pip3 install -r requirements.txt
|
||||||
|
|
||||||
|
EXPOSE 8081 80
|
||||||
|
|
||||||
|
WORKDIR /srv
|
||||||
|
|
||||||
|
CMD python -m http.server -d /srv/site 80
|
||||||
|
|
||||||
|
|
||||||
1
roles/apps/files/docs/build.sh
Executable file
1
roles/apps/files/docs/build.sh
Executable file
@ -0,0 +1 @@
|
|||||||
|
buildah bud -f Containerfile -t doc-web:1.0
|
||||||
1
roles/apps/files/docs/mkdocs.yml
Normal file
1
roles/apps/files/docs/mkdocs.yml
Normal file
@ -0,0 +1 @@
|
|||||||
|
site_name: My Docs
|
||||||
2
roles/apps/files/docs/requirements.txt
Normal file
2
roles/apps/files/docs/requirements.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
mkdocs==1.5.3
|
||||||
|
|
||||||
@ -6,6 +6,11 @@
|
|||||||
chdir: ~/Containers/bitcoin
|
chdir: ~/Containers/bitcoin
|
||||||
cmd: ./build.sh
|
cmd: ./build.sh
|
||||||
|
|
||||||
|
- name: rebuild_docs
|
||||||
|
ansible.builtin.shell:
|
||||||
|
chdir: ~/Containers/docs
|
||||||
|
cmd: ./build.sh
|
||||||
|
|
||||||
- name: reload_systemctl
|
- name: reload_systemctl
|
||||||
ansible.builtin.systemd_service:
|
ansible.builtin.systemd_service:
|
||||||
daemon_reload: true
|
daemon_reload: true
|
||||||
|
|||||||
49
roles/apps/tasks/docs.yml
Normal file
49
roles/apps/tasks/docs.yml
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
---
|
||||||
|
# tasks file for build
|
||||||
|
#
|
||||||
|
|
||||||
|
- name: Create ~/srv/docs
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: ~/srv/docs/site
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Create ~/srv/docs
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: ~/srv/docs/docs
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Make dir for docs Containers
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: ~/Containers/docs
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Copy Containerfile Template
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: docs/Containerfile
|
||||||
|
dest: ~/Containers/docs/Containerfile
|
||||||
|
notify: rebuild_docs
|
||||||
|
|
||||||
|
- name: Copy build script
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: docs/build.sh
|
||||||
|
dest: ~/Containers/docs/build.sh
|
||||||
|
mode: '0700'
|
||||||
|
notify: rebuild_docs
|
||||||
|
|
||||||
|
- name: Copy requirements.txt file
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: docs/requirements.txt
|
||||||
|
dest: ~/Containers/docs/requirements.txt
|
||||||
|
notify: rebuild_docs
|
||||||
|
|
||||||
|
- name: Copy mkdocs.yml file
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: docs/mkdocs.yml
|
||||||
|
dest: ~/srv/docs/mkdocs.yml
|
||||||
|
notify: rebuild_docs
|
||||||
|
|
||||||
|
- name: Copy docs-node.container file
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: docs/docs-node.container.j2
|
||||||
|
dest: /home/{{ ansible_user }}/.config/containers/systemd/docs-node.container
|
||||||
|
notify: reload_systemctl
|
||||||
21
roles/apps/templates/docs/docs-node.container.j2
Normal file
21
roles/apps/templates/docs/docs-node.container.j2
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Documentation Server
|
||||||
|
|
||||||
|
[Container]
|
||||||
|
Image={{ registry_url }}/doc-web:1.0
|
||||||
|
PublishPort=8081:80
|
||||||
|
|
||||||
|
# Use volume
|
||||||
|
Volume=/home/{{ansible_user}}/srv/docs:/srv:Z
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
# Restart service when sleep finishes
|
||||||
|
Restart=always
|
||||||
|
# Extend Timeout to allow time to pull the image
|
||||||
|
TimeoutStartSec=900
|
||||||
|
# ExecStartPre flag and other systemd commands can go here, see systemd.unit(5) man page.
|
||||||
|
# ExecStartPre=/usr/share/mincontainer/setup.sh
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
# Start by default on boot
|
||||||
|
WantedBy=multi-user.target default.target
|
||||||
@ -3,6 +3,9 @@
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
|
- name: Determine OS variant
|
||||||
|
register: variant
|
||||||
|
ansible.builtin.shell: grep VARIANT_ID /etc/os-release | sed 's/VARIANT_ID=//g'
|
||||||
- name: Create /etc/sysusers.d directory
|
- name: Create /etc/sysusers.d directory
|
||||||
become: yes
|
become: yes
|
||||||
become_method: sudo
|
become_method: sudo
|
||||||
@ -17,6 +20,7 @@
|
|||||||
src: parsec.conf
|
src: parsec.conf
|
||||||
dest: /etc/sysusers.d/parsec.conf
|
dest: /etc/sysusers.d/parsec.conf
|
||||||
setype: etc_t
|
setype: etc_t
|
||||||
|
when: variant.stdout=="iot"
|
||||||
|
|
||||||
- name: Enable Cockpit Service
|
- name: Enable Cockpit Service
|
||||||
become: yes
|
become: yes
|
||||||
@ -33,7 +37,7 @@
|
|||||||
service: cockpit
|
service: cockpit
|
||||||
permanent: yes
|
permanent: yes
|
||||||
state: enabled
|
state: enabled
|
||||||
when: coreos==True
|
when: variant.stdout=="iot"
|
||||||
|
|
||||||
- name: Enable Avahi Service
|
- name: Enable Avahi Service
|
||||||
become: yes
|
become: yes
|
||||||
@ -50,7 +54,7 @@
|
|||||||
service: mdns
|
service: mdns
|
||||||
permanent: yes
|
permanent: yes
|
||||||
state: enabled
|
state: enabled
|
||||||
when: coreos==True
|
when: variant.stdout=="iot"
|
||||||
|
|
||||||
- name: Modify nsswitch file for mdns lookups
|
- name: Modify nsswitch file for mdns lookups
|
||||||
become: yes
|
become: yes
|
||||||
@ -61,11 +65,11 @@
|
|||||||
line: 'hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname'
|
line: 'hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname'
|
||||||
notify: restart_avahi
|
notify: restart_avahi
|
||||||
|
|
||||||
- name: Set hostname to bitb0x
|
- name: Set hostname to {{ hostname }}
|
||||||
become: yes
|
become: yes
|
||||||
become_method: sudo
|
become_method: sudo
|
||||||
ansible.builtin.hostname:
|
ansible.builtin.hostname:
|
||||||
name: bitb0x
|
name: "{{ hostname }}"
|
||||||
notify: restart_avahi
|
notify: restart_avahi
|
||||||
|
|
||||||
- name: Enable Zerotier
|
- name: Enable Zerotier
|
||||||
|
|||||||
@ -38,7 +38,8 @@
|
|||||||
- cockpit-ostree
|
- cockpit-ostree
|
||||||
- cockpit-podman
|
- cockpit-podman
|
||||||
- zerotier-one
|
- zerotier-one
|
||||||
- python3-firewall
|
- python3-pip
|
||||||
|
- caddy
|
||||||
|
|
||||||
- name: Reboot System
|
- name: Reboot System
|
||||||
become: yes
|
become: yes
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user