Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop installer update #1216

Open
wants to merge 271 commits into
base: develop
Choose a base branch
from

Conversation

ninjamonkey198206
Copy link

@ninjamonkey198206 ninjamonkey198206 commented Jul 19, 2022

Merged all scripts into a single cfg file, then split into further function type specific cfg files with their own update checks.

Added menu with options for previous individual script functions.

Added commenting in many locations.

Combined previous scripts into reusable functions where possible.

Added default config and service files, reducing the required output for those functions to a simple copy and sed command for each.

Added menu options for dev installs per Dinger and Silver.

Added option to select dev repo during dev install.

Added DH generation and config to nginx config files.

Added STS setting to nginx configs per https://syslink.pl/cipherlist/

Added check for localhost per #779

Updated gpg key import for repos to modern method, as previous method is now deprecated.

Added option to import existing cert, key, and ca chain cert using vim editor. Muahahahahahahaha!

Imported certs are created in the same location if letsencrypt certs are not generated.

Added input verification where appropriate to prevent user error during entry.

Added option for manual input of usernames and passwords.

Added option for Fail2ban install.

Added LetsEncrypt cert renewal function.

Added check to verify if user running script is tactical user.

Added check to verify tactical user has sudo privileges.

Added tactical user creation if it does not exist.

Added command-line argument usage for automated installs.

Included checks to ensure all args necessary are included, are valid, and in the correct format, or script will fail with an error message.

Removed need for prompts in troubleshooting function if nginx conf files exist, if not, prompt for input.

Added repo url verification.

Added DNS tests to hopefully ensure install won't occur if DNS not properly configured.

Reworked hostname and root domain input verification to allow for domains ending in .co.uk and similar.

Added troubleshooting, backup, and restore via cli args.

Added webroot letsencrypt certificate option with automatic post renewal service restart.

Added generation of log files for each major function/section.

Added sudo password cli arg for fully automated runs, with automated removal of script run command and passed password from history.

Added backup of existing nginx conf files (including default nginx.conf) during install, update, and restore.

Added default nginx.conf file to replace version shipped with OS, as it often has insecure options enabled by default.

Ran through shellscript checker to "clean up" potential issues with formatting and syntax.

Reworked postgres db import command to avoid occasional failure during restore operation.

Added removal of old nginx enabled-mods from prior to 0.14.3

Added pre-start command in daphne service definition to remove old stinky socks in case of system crash/power loss per #1210

Modified mesh variable case structure to match mesh documentation.

Added DNS txt check during cert generation to prevent timeouts and over limit attempts per #1227

Added support for Ubuntu 22.04 via manual installation of libssl1.1.1l

@compgeniuses
Copy link

woh, thats a lot of items, but looks cool. hoepfully it does not break my custom install method

@ninjamonkey198206
Copy link
Author

ninjamonkey198206 commented Nov 2, 2022

I need to go through and update it.
One of the key points was to drastically simplify the installation/update process and pushing new releases. Unless part of the install process/order of operations itself changes, you'd largely just need to update the config files and a few variables for each release.

@compgeniuses
Copy link

cool, maybe you could work into making this merged into the upstream, i am sure it would save alot of people headache

@CLAassistant
Copy link

CLAassistant commented Nov 19, 2022

CLA assistant check
All committers have signed the CLA.

@wh1te909 wh1te909 force-pushed the develop branch 2 times, most recently from 942055f to 903a2d6 Compare June 25, 2023 02:16
@compgeniuses
Copy link

@wh1te909 hows this coming along?

@ninjamonkey198206
Copy link
Author

Hey folks, been insanely busy with the new job. Haven't had time to do much outside of that, but if anything needs to be done with this, or any of the things I submitted, let me know and I'll get it taken care of, or I can pull this if you pulled what you needed out of it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants