From 107c028bdbc0c56ff39322e7b581887d932ef3a0 Mon Sep 17 00:00:00 2001 From: b0xxer Date: Fri, 9 Feb 2024 10:19:13 -0600 Subject: [PATCH] Adding bitcoin-node.... --- hosts | 3 ++ requirements.txt | 4 ++ roles/bitcoin/tasks/main.yml | 50 +++++++++++++++++++ .../templates/bitcoin-node.container.j2 | 22 ++++++++ roles/bitcoin/templates/bitcoin.conf.j2 | 34 +++++++++++++ roles/install/tasks/main.yml | 1 + 6 files changed, 114 insertions(+) create mode 100644 requirements.txt create mode 100644 roles/bitcoin/templates/bitcoin-node.container.j2 create mode 100644 roles/bitcoin/templates/bitcoin.conf.j2 diff --git a/hosts b/hosts index 8936bbc..b2f3ce9 100644 --- a/hosts +++ b/hosts @@ -8,4 +8,7 @@ [bitb0x:vars] ansible_user=b0xxy ansible_password=b0xxy +registry_url=git.boxxy.net/b0xxer/ +bitcoin_version=26.0 +bitcoin_password=rVhfmriXjB8uFekmn7sLvnUiY610JaOx diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..04e9862 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +# A list of requirements to install before running + +#ansible +#ansible-galaxy collection install containers.podman diff --git a/roles/bitcoin/tasks/main.yml b/roles/bitcoin/tasks/main.yml index a462c82..aeb2688 100644 --- a/roles/bitcoin/tasks/main.yml +++ b/roles/bitcoin/tasks/main.yml @@ -1,2 +1,52 @@ --- # tasks file for bitcoin +# +- name: Create bitcoin-pod + containers.podman.podman_pod: + name: bitcoin-pod + state: started + ports: + - "50001:50001" + - "4224:4224" + - "127.0.0.1:8332:8332" + - "8333:8333" + +- name: Create bitcoin data / conf directory + ansible.builtin.file: + path: ~/.bitcoin + state: directory + mode: '0755' + +- name: Apply bitcoin.conf file to directory + become: yes + become_method: sudo + ansible.builtin.template: + src: bitcoin.conf.j2 + dest: /home/b0xxy/.bitcoin/bitcoin.conf + setype: container_file_t + owner: b0xxy + +- name: Copy bitcoin-node.container file + register: sysd_reload + ansible.builtin.template: + src: bitcoin-node.container + dest: /home/b0xxy/.config/containers/systemd + +- name: Reload systemctl + ansible.builtin.systemd_service: + daemon_reload: True + when: sysd_reload['changed']==True + + #- name: Create bitcoin-node container + #containers.podman.podman_container: + #name: bitcoin-node + #pod: bitcoin-pod + #image: git.b0xxy.net/b0xxer/bitcoin:26 + #volume: /home/b0xxy/.bitcoin:/bitcoin/.bitcoin:Z + #state: created + #generate_systemd: + #path: ~/.config/containers/systemd/ + #restart_policy: always + #time: 120 + #names: true + diff --git a/roles/bitcoin/templates/bitcoin-node.container.j2 b/roles/bitcoin/templates/bitcoin-node.container.j2 new file mode 100644 index 0000000..5d370ca --- /dev/null +++ b/roles/bitcoin/templates/bitcoin-node.container.j2 @@ -0,0 +1,22 @@ +[Unit] +Description=Bitcoin Node + +[Container] +# Use the centos image +Image={{ registry_url }}/bitcoin:{{ bitcoin_version }} +PodmanArgs=--pod bitcoin-pod + +# Use volume +Volume=/home/{{ansible_user}}/.bitcoin:/bitcoin/.bitcoin: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 diff --git a/roles/bitcoin/templates/bitcoin.conf.j2 b/roles/bitcoin/templates/bitcoin.conf.j2 new file mode 100644 index 0000000..a3af230 --- /dev/null +++ b/roles/bitcoin/templates/bitcoin.conf.j2 @@ -0,0 +1,34 @@ +# network +mainnet=1 +testnet=0 + +# server +server=1 +listen=1 +listenonion=0 +daemon=0 +txindex=0 +prune=0 +disablewallet=1 +printtoconsole=1 + +# rpc +rpcuser=bitcoinrpc +rpcpassword={{ bitcoin_password }} +#rpcconnect=127.0.0.1 +#rpcport=8332 +#rpcauth=xxx + +# performance +dbcache=2000 +maxconnections=40 +maxuploadtarget=5000 + +# tor +#proxy=127.0.0.1:9050 +#seednode=nkf5e6b7pl4jfd4a.onion +#seednode=xqzfakpeuvrobvpj.onion +#seednode=tsyvzsqwa2kkf6b2.onion + +# validation +reindex-chainstate=0 diff --git a/roles/install/tasks/main.yml b/roles/install/tasks/main.yml index 44e6498..bae55b8 100644 --- a/roles/install/tasks/main.yml +++ b/roles/install/tasks/main.yml @@ -14,6 +14,7 @@ - git - avahi - nss-mdns + - telnet - cockpit - cockpit-networkmanager - cockpit-ostree