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.
|
||||
|
||||
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
|
||||
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)
|
||||
|
@ -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.
|
||||
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.
|
||||
### [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)
|
||||
A copy of the Apache 2.0 license, the license this project is under
|
||||
### [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