etam.ipfs
IPFS
Features:
- Automatically creates a list of peers (connections).
- Configuration is done using
ipfs configthrough a custom module. It ensures changes can be repeated without issues and tracks differences. - Lets you set a custom public IP address if you're behind a router.
- Downloads update files through the local IPFS gateway if IPFS is already installed.
- Runs
ipfs repo gcas a separate service to manage storage. - Works on x86_64 and aarch64 architecture.
Requirements
- The system you want to target must use systemd.
Role Variables
ipfs_ansible_group: The Ansible group containing managed IPFS nodes. Default isall.ipfs_home_dir: Default directory is/var/lib/ipfs.ipfs_version: Specifies which version to use (self-explanatory).ipfs_init_profile: Profile settings applied when setting up IPFS (see Configure profile).ipfs_gc_when: Schedule for runningipfs repo gc, using systemd time format (seeman systemd.time).ipfs_force_https_download: Forces download of binaries via HTTPS, even if the service is running. Default isno.ipfs_force_migration: Forces the execution ofipfs repo migrate, which means stopping the service without conditions. Default isno.ipfs_swarm_port: Set to 4001 by default.ipfs_public_addresses: Public addresses for swarm connections. The defaults are:/ip4/{{ ansible_default_ipv4['address'] }}/tcp/{{ ipfs_swarm_port }}/ip4/{{ ansible_default_ipv4['address'] }}/udp/{{ ipfs_swarm_port }}/quic/ip4/{{ ansible_default_ipv4['address'] }}/udp/{{ ipfs_swarm_port }}/quic-v1/ip4/{{ ansible_default_ipv4['address'] }}/udp/{{ ipfs_swarm_port }}/quic-v1/webtransport
ipfs_private_addresses: Set up likeipfs_public_addresses. Used for direct connections between IPFS nodes, helpful for LAN or VPN connections.ipfs_config_extra: Extra configuration for IPFS nodes. The YAML format is converted to JSON and sent toipfs config. The default is:This executes:ipfs_config_extra: Gateway.PublicGateways: localhost: nullMore details can be found here: https://github.com/ipfs/kubo/blob/master/docs/config.md#implicit-defaults-of-gatewaypublicgateways.ipfs config --json Gateway.PublicGateways '{"localhost": null}'
Dependencies
There are no dependencies.
Example Playbook
Simply use:
- hosts: ipfs
roles: [ipfs]
License
Author Information
Adam "etam" Mizerski adam@mizerski.pl https://etam-software.eu
Informazioni sul progetto
Sets up IPFS nodes, fills "Peering.Peers" and contains custom ansible module that talks with "ipfs config".
Installa
ansible-galaxy install etam.ipfsLicenza
gpl-3.0
Download
133
Proprietario
Doing a bit of programming, a bit of Linux sysadmin, a bit of openSUSE packaging, and most importantly enjoying free weekends.
