no-code website maker for advocacy and evanglism
Visit Tract Stack docs for more info
If you're installing Tract Stack from scratch and need a server, we've got you covered.
In /ansible
you'll find playbooks:
build_server.yml
initializes the server:
- installs some dependencies and helpers:
vnstat
,htop
,rsync
,zip
,mutt
,libwww-perl
,locate
,dnsutils
,wget
,curl
,lnav
,snapd
,pwgen
,vim
- set-up ConfigServer Security and Firewall, MariaDB, and Certbot
build_server_t8k.yml
prepares the server for Tract Stack:
- installs neovim, git
- installs docker
- activates Nginx / PHP-fpm, composer, nodejs using playbooks maintained by Jeff Geerling
- installs yarn and versioning via corepack
- installs astro, tailwindcss, gatsby note: the prototype story keep is written in gatsby and is being ported to astro
Git the needed ansible role repos:
cd ansible/roles
git clone https://github.com/geerlingguy/ansible-role-composer
git clone https://github.com/geerlingguy/ansible-role-nginx
git clone https://github.com/geerlingguy/ansible-role-nodejs
git clone https://github.com/geerlingguy/ansible-role-php
git clone https://github.com/likg/ansible-role-csf
Be sure to review ./ansible/templates/*
where you'll set your API keys, SSH keys, MySQL pwd, etc.
./ansible/templates/issue
: this is the banner text on SSH login./ansible/templates/.my.cnf
: set your MySQL root password./ansible/templates/public_keys
: add your public SSH keys note: this assumes you have passwordless SSH enabled./ansible/templates/secret-certbot
: add your Cloudflare API credentials
If you are running these playbooks remotely, you'll need to take special action on 'first run' (before your SSH keys are installed).
To temporarily allow root log-in via SSH (before copying your SSH key):
- in
/etc/ssh/sshd_config
temporarily setPermitRootLogin
= yes - then restart ssh,
sudo systemctl restart sshd
Then on first run, use ansible-playbook -u root -k build_server.yml
To re-run the playbook, use ansible-playbook -u root build_server.yml
and ansible-playbook -u root build_server_t8k.yml