Compare commits
2 Commits
d2b0c46510
...
c63245ff3c
Author | SHA1 | Date |
---|---|---|
BodgeMaster | c63245ff3c | |
BodgeMaster | ed777e9576 |
|
@ -0,0 +1 @@
|
||||||
|
*.swp
|
31
README.md
31
README.md
|
@ -27,6 +27,19 @@ This repository will be automagically pulled by the web server each time somethi
|
||||||
|
|
||||||
Dear Developers, Please use pushes sparingly because it takes a while for the server to replace all code variables.
|
Dear Developers, Please use pushes sparingly because it takes a while for the server to replace all code variables.
|
||||||
|
|
||||||
|
What this thing does basicalle equates to:
|
||||||
|
```
|
||||||
|
ssh <user>@<threadr.ip|no public access set up currently>
|
||||||
|
cd /var/www/git
|
||||||
|
sudo -u www-data -s
|
||||||
|
rm -rf ./web-deployment
|
||||||
|
git clone <ssh git repository link>
|
||||||
|
cd web-deployment
|
||||||
|
./deployment-script
|
||||||
|
exit
|
||||||
|
logout
|
||||||
|
```
|
||||||
|
|
||||||
## Symlinks
|
## Symlinks
|
||||||
The following files and directories are linked to areas where they can be accessed by the web server:
|
The following files and directories are linked to areas where they can be accessed by the web server:
|
||||||
* `threadr/` → `threadr.lostcave.ddnss.de/threadr/` (all files acessible by the web server, READMEs get deleted on deployment)
|
* `threadr/` → `threadr.lostcave.ddnss.de/threadr/` (all files acessible by the web server, READMEs get deleted on deployment)
|
||||||
|
@ -51,24 +64,6 @@ The main index.html on the server. It redirects to ThreadR.
|
||||||
This script is executed each time (or most of the time) the repository gets pushed.
|
This script is executed each time (or most of the time) the repository gets pushed.
|
||||||
It contains the commands to execute the code variable replcement system and some other useful tasks.
|
It contains the commands to execute the code variable replcement system and some other useful tasks.
|
||||||
Its working directory is the root of the git repository.
|
Its working directory is the root of the git repository.
|
||||||
### [strassenkind.php](./strassenkind.php), [internal.css](./internal.css), [commands_status.conf](./commands_status.conf), [commands_ondemand.conf](./commands_ondemand.conf), [commands_git.conf](./commands_git.conf)
|
|
||||||
~~The internal status page. strassenkind.php is the index, internal.css is the stylesheet strassenkind.php uses
|
|
||||||
and the .conf files are lists of commands to be executed by the status page. The status page auto-refreshes to display up-to-date information on the commands in commands_status.conf.
|
|
||||||
It is advised to put commands that have a high disk usage or start/stop/restart/reload system services etc. on the commands_ondemand.conf file as the ondemand status page does not auto-refresh.
|
|
||||||
The file commands_git.conf contains the commands that would be executed by the deployment WebHook. These are there to provide a fast and simple backup solution.
|
|
||||||
The alternative to foce-updating ThreadR via the status page would be:~~
|
|
||||||
```
|
|
||||||
ssh <user>@<threadr.ip|no public access set up currently>
|
|
||||||
cd /var/www/git
|
|
||||||
sudo -u www-data -s
|
|
||||||
rm -rf ./web-deployment
|
|
||||||
git clone <ssh git repository link>
|
|
||||||
cd web-deployment
|
|
||||||
./deployment-script
|
|
||||||
exit
|
|
||||||
logout
|
|
||||||
```
|
|
||||||
DEPRECATED: The administration framework will be turned into its own project and completely overhauled.
|
|
||||||
### [LICENSE.md](./LICENSE.md)
|
### [LICENSE.md](./LICENSE.md)
|
||||||
A copy of the Apache 2.0 license, the license this project is under
|
A copy of the Apache 2.0 license, the license this project is under
|
||||||
### [NOTICE](./NOTICE)
|
### [NOTICE](./NOTICE)
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
echo "pushd /var/www/git/; rm -rvf web-deployment; git clone git@strassenkind.ip:root/web-deployment.git; popd" | bash -
|
|
||||||
echo "pushd /var/www/git/web-deployment; chmod +x deployment-script.sh; ./deployment-script.sh; popd" | bash -
|
|
|
@ -1,2 +0,0 @@
|
||||||
sync
|
|
||||||
echo `cat /var/log/apt-get_update_has_run` "\n"; apt list --upgradable
|
|
|
@ -1,15 +0,0 @@
|
||||||
uptime
|
|
||||||
free -h
|
|
||||||
df -h
|
|
||||||
cat /var/run/reboot-required
|
|
||||||
who
|
|
||||||
sensors
|
|
||||||
|
|
||||||
systemctl status apache2.service
|
|
||||||
systemctl status sshd.service
|
|
||||||
systemctl status gitea.service
|
|
||||||
systemctl status mysql.service
|
|
||||||
systemctl status FAHClient.service
|
|
||||||
|
|
||||||
tail -n 20 /var/www/admin.strassenkind.ip/stdout.log
|
|
||||||
tail -n 20 /var/www/admin.strassenkind.ip/stderr.log
|
|
61
internal.css
61
internal.css
|
@ -1,61 +0,0 @@
|
||||||
body {
|
|
||||||
background-color: #B6BDBD;
|
|
||||||
color: #000000;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* code blocks */
|
|
||||||
pre {
|
|
||||||
margin-left: 20px;
|
|
||||||
margin-right: 20px;
|
|
||||||
margin-top: 0px;
|
|
||||||
background-color: white;
|
|
||||||
border-style: solid;
|
|
||||||
border-color: #888A85;
|
|
||||||
border-width: 1px;
|
|
||||||
font-size: 11pt;
|
|
||||||
font-family: monospace;
|
|
||||||
}
|
|
||||||
pre.commandLine {
|
|
||||||
background-color: #2E3436;
|
|
||||||
color: #C3F097;
|
|
||||||
}
|
|
||||||
/* in-line code block */
|
|
||||||
span.codeBlockInText{
|
|
||||||
background-color: white;
|
|
||||||
border-color: black;
|
|
||||||
border-style: solid;
|
|
||||||
border-width: 1px;
|
|
||||||
font-size: 11pt;
|
|
||||||
font-family: monospace;
|
|
||||||
padding-left: 5px;
|
|
||||||
padding-right: 5px;
|
|
||||||
}
|
|
||||||
/* code highlighting */
|
|
||||||
span.structure {
|
|
||||||
color: #FCAF3E;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
span.primitive {
|
|
||||||
color: #729FCF;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
span.className {
|
|
||||||
color: #8AE234;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
span.type {
|
|
||||||
color: #729FCF;
|
|
||||||
}
|
|
||||||
span.value {
|
|
||||||
color: #C17D11;
|
|
||||||
}
|
|
||||||
span.function {
|
|
||||||
color: #75507B;
|
|
||||||
}
|
|
||||||
span.name {
|
|
||||||
color: #8AE234;
|
|
||||||
}
|
|
||||||
span.comment {
|
|
||||||
color: #888A85;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,70 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<!--
|
|
||||||
<?php
|
|
||||||
function get_command_list($command_file_name){
|
|
||||||
echo "Getting commands from file $command_file_name...\n";
|
|
||||||
$command_file = fopen($command_file_name, "r") or die("Could not read file $command_file_name. Aborting.\n");
|
|
||||||
$commands = explode(PHP_EOL, fread($command_file, filesize($command_file_name)));
|
|
||||||
fclose($command_file);
|
|
||||||
echo "Done.\n";
|
|
||||||
return $commands;
|
|
||||||
}
|
|
||||||
|
|
||||||
$status_commands = get_command_list("commands_status.conf");
|
|
||||||
$ondemand_commands = get_command_list("commands_ondemand.conf");
|
|
||||||
$git_commands = get_command_list("commands_git.conf");
|
|
||||||
?>
|
|
||||||
-->
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title> Strassenkind Server Status Page </title>
|
|
||||||
<link rel="stylesheet" type="text/css" href="style.css" />
|
|
||||||
<?php
|
|
||||||
if (!isset($_POST['ondemand']) && !isset($_POST['git'])) {
|
|
||||||
echo "<meta http-equiv=\"refresh\" content=\"20\" />";
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</head>
|
|
||||||
<body class="status_page">
|
|
||||||
<h1> Strassenkind Server Status </h1>
|
|
||||||
<hr />
|
|
||||||
<?php
|
|
||||||
function add_button($button_text, $button_action){
|
|
||||||
if (!isset($_POST[$button_action])) {
|
|
||||||
echo "<form action=\"\" method=\"post\"><input type=\"submit\" value=\"$button_text\" name=\"$button_action\" /></form>";
|
|
||||||
} else {
|
|
||||||
echo "<a href=\"\"><button> Return to regular status commands </button></a>";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
add_button("Run ondemand commands", "ondemand");
|
|
||||||
add_button("Force ThreadR update", "git");
|
|
||||||
?>
|
|
||||||
<hr />
|
|
||||||
<?php
|
|
||||||
function execute_command_list($commands){
|
|
||||||
foreach ($commands as $command) {
|
|
||||||
if ($command != ""){
|
|
||||||
// === is here on purpose.
|
|
||||||
if (strpos($command, '>') === false) {
|
|
||||||
$command = $command . " 2>&1";
|
|
||||||
}
|
|
||||||
$output = shell_exec($command);
|
|
||||||
echo "<pre class=\"commandLine\"> " . htmlspecialchars($command, $flags=ENT_DISALLOWED | ENT_HTML5 | ENT_QUOTES) . " </pre>\n<pre class=\"commandLine\"> " . htmlspecialchars($output, $flags=ENT_DISALLOWED | ENT_HTML5 | ENT_QUOTES) . " </pre>\n<hr />";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// run ondemand command list if demanded
|
|
||||||
if (isset($_POST['ondemand'])) {
|
|
||||||
execute_command_list($ondemand_commands);
|
|
||||||
} elseif (isset($_POST['git'])) {
|
|
||||||
execute_command_list($git_commands);
|
|
||||||
} else {
|
|
||||||
//run status command list otherwise
|
|
||||||
execute_command_list($status_commands);
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
Loading…
Reference in New Issue