{"id":14984535,"url":"https://github.com/frjo/ansible-roles","last_synced_at":"2025-10-26T21:01:41.667Z","repository":{"id":78388646,"uuid":"55235759","full_name":"frjo/ansible-roles","owner":"frjo","description":"Here are some Ansible roles I have built for my own use.","archived":false,"fork":false,"pushed_at":"2021-03-05T11:52:13.000Z","size":121,"stargazers_count":52,"open_issues_count":0,"forks_count":19,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-03-24T18:49:35.988Z","etag":null,"topics":["ansible","ansible-roles","letsencrypt","mailserver","unifi","wireguard"],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/frjo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"securitycamerapi/defaults/main.yml","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-01T13:49:11.000Z","updated_at":"2024-11-11T02:37:44.000Z","dependencies_parsed_at":"2023-06-18T14:55:53.162Z","dependency_job_id":null,"html_url":"https://github.com/frjo/ansible-roles","commit_stats":{"total_commits":62,"total_committers":1,"mean_commits":62.0,"dds":0.0,"last_synced_commit":"05785b275ef0d49e603018b934173d411673caf0"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frjo%2Fansible-roles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frjo%2Fansible-roles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frjo%2Fansible-roles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frjo%2Fansible-roles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frjo","download_url":"https://codeload.github.com/frjo/ansible-roles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248298789,"owners_count":21080403,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","ansible-roles","letsencrypt","mailserver","unifi","wireguard"],"created_at":"2024-09-24T14:09:13.847Z","updated_at":"2025-09-25T13:45:37.878Z","avatar_url":"https://github.com/frjo.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ansible roles\n\nHere are some Ansible roles I have built for my own use.\n\n- Requires Ansible 2.8.x\n- Expects Debian 10 Buster hosts\n\n\n## Common\n\nCommon configurations including things like firewall, dns and ntp. I add this role to all my playbooks, hence the name.\n\nWrote a bit about it in [My first 2 minutes on a server - letting Ansible do the work](https://xdeb.org/post/2016/06/23/my-first-2-minutes-on-a-server---letting-ansible-do-the-work/).\n\n\n## Common Pi\n\nCommon configurations for Raspberry Pi (Raspian) including things like firewall, dns and ntp. I add this role to all my Raspberry Pi playbooks, hence the name.\n\nIt uses busybox to log only to memory and disables swap. This should make the SD card last longer.\n\nIf used with \"Security camera\" below please remember to add the motion streaming port to the openports_list.\n\n\n## Letsencrypt\n\nCreate a Letsencrypt cert with the help of the [acme-tiny](https://github.com/diafygi/acme-tiny) script. Includes a cron script for automatic renewal.\n\nRead more in my blog post [Let's Encrypt my servers with acme tiny](https://xdeb.org/post/2016/02/09/lets-encrypt-my-servers-with-acme-tiny/).\n\n\n## Mail server\n\nA mail server built with postfix and dovecot. Support multiple domains and virtual mailboxes and aliases in a sql database. Administration via the postfix admin web interface.\n\nUse together with the common and dbserver roles.\n\nProvides a Apache vhost conf file as well but you need to install Apache separately.\n\nRead more in by blog post [Run your own mail server with Postfix and Dovecot](https://xdeb.org/post/2018/02/07/run-your-own-mail-server-with-postfix-and-dovecot/).\n\n\n## Mail relay och MX backup\n\nCreates servers for Mail relay och MX backup service using Debian 9 and Postfix.\n\nRead more in my blog post [Mail relay, MX backup and spam filtering with Postfix](https://xdeb.org/post/2017/12/20/mail-relay-mx-backup-and-spam-filtering-with-postfix/).\n\n\n## DB Server (MariaDB)\n\nDatabase server with local backup. MariaDB is a drop in replacement for MySQL and is run by the people who originally created MySQL, before is was bought by Sun and then swallowed up by Oracle.\n\n\n## Security camera\n\nNotice: Still only tested for Drupal 9 hosts\n\nCreates a security camera with a Raspberry Pi (Raspian), the Raspberry Pi Camera and [Motion](https://motion-project.github.io). Tested with Raspberry Pi 3 Model B and Zero W with the Raspberry Camera v2.\n\n\n## UniFi Controller\n\nRun the UniFi Controller on a Raspberry Pi (Raspian). Tested with Raspberry Pi 3 and 4 Model B. Since it's a Java application that needs some RAM I would not run in on anything smaller.\n\nRemember to open up tcp ports 6789, 8080 and 8443 as well as udp port 3478 to allow the controller to communicate with the access points.\n\n## Wireguard (VPN)\n\nInstall and setup a Wireguard VPN server with a number of client accounts (20 by default). The account information, including a handy QR code in PNG format, is downloaded at the end.\n\nRead more in my blog post [Using Ansible to setup a WireGuard VPN server on Debian 9](https://xdeb.org/post/2019/01/24/using-ansible-to-setup-a-wireguard-vpn-server-on-debian-9/).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrjo%2Fansible-roles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrjo%2Fansible-roles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrjo%2Fansible-roles/lists"}