Skip to content

Latest commit

History

102 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Waky

Introduction

A web based Wake-on-LAN Server for managing servers in your home network!

Why would I use this?

The main use for Waky is to be able to manage computers/servers in your home.

Collaboration

I manage a shared server which a few other people, including myself, use. To make sure the server doesn't waste electricity, one can "use" the server to block others from shutting it down. The last person to have the server in use can then shutdown the server once they're finished.

Getting Started

To install Waky you can use the provided Docker images.

Install with Docker Compose

version: '3'services:
waky:
container_name: wakyenvironment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin# Change if you access on a different URL
- APP_URL=http://localhost
- PUSHER_HOST=localhost# Uncomment if you want to use ports other than 80 & 443# - HTTP_PORT=8080# - HTTPS_PORT=8443volumes:
- '/etc/localtime:/etc/localtime:ro'
- './data/config:/config'# Directory for sqlite database & .env
- './data/ssl/web:/etc/ssl/web'# Directory for ssl certificates
- 'waky-storage:/var/www/html/storage'image: 'ghcr.io/quadrubo/waky:latest'network_mode: hostrestart: unless-stoppedvolumes:
waky-storage:

Note: You should change the image version from latest to the one currently available so you don't get surprised by a new major version. Note that you have to update waky by changing the tag.
Example: image: 'ghcr.io/quadrubo/waky:v0.2.0'.

Run docker compose up to start the application.

You can now login to your instance with the user below. Once authenticated, it is recommended to change your email and password.

UsernamePassword
admin@example.compassword

Warning: This account will be recreated if there are no users in the system.

Contributing

These instructions will give you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on deploying the project on a live system.

Prerequisites

These instructions are focused on running the project with Docker. Docker and Docker Compose need to be installed on your system to proceed. This project assumes you will be using Laravel Sail as your development environment.

I also assume that you configured the sail alias. If not, just replace sail with ./vendor/bin/sail while installing.

Installing

First clone the project to your local system.

git clone https://github.com/Quadrubo/waky

Install the composer dependencies using Laravel Sail.

Copy the environment file.

cp .env.sail.example .env

Start the container.

sail up

Generate the app key.

sail artisan key:generate

Run the database migrations.

sail artisan migrate

Seed the database.

sail artisan db:seed --class DevelopmentSeeder

Running the scheduler.
The scheduler is responsible for starting the jobs in regular intervals.

sail artisan schedule:work

Running the websocket server. The websocket server is responsible for providing realtime notifications.

sail artisan websockets:serve

Running the queue.
The queue is responsilbe for executing the jobs like pinging the computers.

sail artisan queue:work
sail artisan queue:work --queue notifications

Install the npm dependencies.

sail npm install

Start the vite development environment.

sail npm run dev

You should now be able to access the site on http://localhost. 2 test users have been created for you.

UsernameE-MailPassword
adminadmin@admin.adminadmin123
useruser@user.useruser1234

The admin user has access to the admin panel and can create computers. The user user has no specific permissions.

You can access the admin panel at /admin.

Project Structure

The project is a pretty simple Laravel app, built using Filament.

Usage

Discord Webhook Notifications

Discord Webhook Notification support is build in. Just create a webhook on your discord server and set the DISCORD_WEBHOOK_URL variable in your .env file.
This sends you notifications when a computer switches from no to one or one to no users.

Running the tests

sail test

Built With

Contributing

All contributions are welcome! Just fork the project. Setup the development environment and create a branch for your fix or feature :)

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the GNU Affero General Public License v3.0.

About

A web based Wake-on-LAN Server for managing servers in your home network

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - Quadrubo/waky: A web based Wake-on-LAN Server for managing servers in your home network · GitHub
Skip to content

Latest commit

History

102 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Waky

Introduction

A web based Wake-on-LAN Server for managing servers in your home network!

Why would I use this?

The main use for Waky is to be able to manage computers/servers in your home.

Collaboration

I manage a shared server which a few other people, including myself, use. To make sure the server doesn't waste electricity, one can "use" the server to block others from shutting it down. The last person to have the server in use can then shutdown the server once they're finished.

Getting Started

To install Waky you can use the provided Docker images.

Install with Docker Compose

version: '3'services:
waky:
container_name: wakyenvironment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin# Change if you access on a different URL
- APP_URL=http://localhost
- PUSHER_HOST=localhost# Uncomment if you want to use ports other than 80 & 443# - HTTP_PORT=8080# - HTTPS_PORT=8443volumes:
- '/etc/localtime:/etc/localtime:ro'
- './data/config:/config'# Directory for sqlite database & .env
- './data/ssl/web:/etc/ssl/web'# Directory for ssl certificates
- 'waky-storage:/var/www/html/storage'image: 'ghcr.io/quadrubo/waky:latest'network_mode: hostrestart: unless-stoppedvolumes:
waky-storage:

Note: You should change the image version from latest to the one currently available so you don't get surprised by a new major version. Note that you have to update waky by changing the tag.
Example: image: 'ghcr.io/quadrubo/waky:v0.2.0'.

Run docker compose up to start the application.

You can now login to your instance with the user below. Once authenticated, it is recommended to change your email and password.

UsernamePassword
admin@example.compassword

Warning: This account will be recreated if there are no users in the system.

Contributing

These instructions will give you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on deploying the project on a live system.

Prerequisites

These instructions are focused on running the project with Docker. Docker and Docker Compose need to be installed on your system to proceed. This project assumes you will be using Laravel Sail as your development environment.

I also assume that you configured the sail alias. If not, just replace sail with ./vendor/bin/sail while installing.

Installing

First clone the project to your local system.

git clone https://github.com/Quadrubo/waky

Install the composer dependencies using Laravel Sail.

Copy the environment file.

cp .env.sail.example .env

Start the container.

sail up

Generate the app key.

sail artisan key:generate

Run the database migrations.

sail artisan migrate

Seed the database.

sail artisan db:seed --class DevelopmentSeeder

Running the scheduler.
The scheduler is responsible for starting the jobs in regular intervals.

sail artisan schedule:work

Running the websocket server. The websocket server is responsible for providing realtime notifications.

sail artisan websockets:serve

Running the queue.
The queue is responsilbe for executing the jobs like pinging the computers.

sail artisan queue:work
sail artisan queue:work --queue notifications

Install the npm dependencies.

sail npm install

Start the vite development environment.

sail npm run dev

You should now be able to access the site on http://localhost. 2 test users have been created for you.

UsernameE-MailPassword
adminadmin@admin.adminadmin123
useruser@user.useruser1234

The admin user has access to the admin panel and can create computers. The user user has no specific permissions.

You can access the admin panel at /admin.

Project Structure

The project is a pretty simple Laravel app, built using Filament.

Usage

Discord Webhook Notifications

Discord Webhook Notification support is build in. Just create a webhook on your discord server and set the DISCORD_WEBHOOK_URL variable in your .env file.
This sends you notifications when a computer switches from no to one or one to no users.

Running the tests

sail test

Built With

Contributing

All contributions are welcome! Just fork the project. Setup the development environment and create a branch for your fix or feature :)

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the GNU Affero General Public License v3.0.

About

A web based Wake-on-LAN Server for managing servers in your home network

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Quadrubo/waky: A web based Wake-on-LAN Server for managing servers in your home network · GitHub
Skip to content

Latest commit

History

102 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Waky

Introduction

A web based Wake-on-LAN Server for managing servers in your home network!

Why would I use this?

The main use for Waky is to be able to manage computers/servers in your home.

Collaboration

I manage a shared server which a few other people, including myself, use. To make sure the server doesn't waste electricity, one can "use" the server to block others from shutting it down. The last person to have the server in use can then shutdown the server once they're finished.

Getting Started

To install Waky you can use the provided Docker images.

Install with Docker Compose

version: '3'services:
waky:
container_name: wakyenvironment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin# Change if you access on a different URL
- APP_URL=http://localhost
- PUSHER_HOST=localhost# Uncomment if you want to use ports other than 80 & 443# - HTTP_PORT=8080# - HTTPS_PORT=8443volumes:
- '/etc/localtime:/etc/localtime:ro'
- './data/config:/config'# Directory for sqlite database & .env
- './data/ssl/web:/etc/ssl/web'# Directory for ssl certificates
- 'waky-storage:/var/www/html/storage'image: 'ghcr.io/quadrubo/waky:latest'network_mode: hostrestart: unless-stoppedvolumes:
waky-storage:

Note: You should change the image version from latest to the one currently available so you don't get surprised by a new major version. Note that you have to update waky by changing the tag.
Example: image: 'ghcr.io/quadrubo/waky:v0.2.0'.

Run docker compose up to start the application.

You can now login to your instance with the user below. Once authenticated, it is recommended to change your email and password.

UsernamePassword
admin@example.compassword

Warning: This account will be recreated if there are no users in the system.

Contributing

These instructions will give you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on deploying the project on a live system.

Prerequisites

These instructions are focused on running the project with Docker. Docker and Docker Compose need to be installed on your system to proceed. This project assumes you will be using Laravel Sail as your development environment.

I also assume that you configured the sail alias. If not, just replace sail with ./vendor/bin/sail while installing.

Installing

First clone the project to your local system.

git clone https://github.com/Quadrubo/waky

Install the composer dependencies using Laravel Sail.

Copy the environment file.

cp .env.sail.example .env

Start the container.

sail up

Generate the app key.

sail artisan key:generate

Run the database migrations.

sail artisan migrate

Seed the database.

sail artisan db:seed --class DevelopmentSeeder

Running the scheduler.
The scheduler is responsible for starting the jobs in regular intervals.

sail artisan schedule:work

Running the websocket server. The websocket server is responsible for providing realtime notifications.

sail artisan websockets:serve

Running the queue.
The queue is responsilbe for executing the jobs like pinging the computers.

sail artisan queue:work
sail artisan queue:work --queue notifications

Install the npm dependencies.

sail npm install

Start the vite development environment.

sail npm run dev

You should now be able to access the site on http://localhost. 2 test users have been created for you.

UsernameE-MailPassword
adminadmin@admin.adminadmin123
useruser@user.useruser1234

The admin user has access to the admin panel and can create computers. The user user has no specific permissions.

You can access the admin panel at /admin.

Project Structure

The project is a pretty simple Laravel app, built using Filament.

Usage

Discord Webhook Notifications

Discord Webhook Notification support is build in. Just create a webhook on your discord server and set the DISCORD_WEBHOOK_URL variable in your .env file.
This sends you notifications when a computer switches from no to one or one to no users.

Running the tests

sail test

Built With

Contributing

All contributions are welcome! Just fork the project. Setup the development environment and create a branch for your fix or feature :)

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the GNU Affero General Public License v3.0.

About

A web based Wake-on-LAN Server for managing servers in your home network

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Quadrubo/waky: A web based Wake-on-LAN Server for managing servers in your home network · GitHub
Skip to content

Latest commit

History

102 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Waky

Introduction

A web based Wake-on-LAN Server for managing servers in your home network!

Why would I use this?

The main use for Waky is to be able to manage computers/servers in your home.

Collaboration

I manage a shared server which a few other people, including myself, use. To make sure the server doesn't waste electricity, one can "use" the server to block others from shutting it down. The last person to have the server in use can then shutdown the server once they're finished.

Getting Started

To install Waky you can use the provided Docker images.

Install with Docker Compose

version: '3'services:
waky:
container_name: wakyenvironment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin# Change if you access on a different URL
- APP_URL=http://localhost
- PUSHER_HOST=localhost# Uncomment if you want to use ports other than 80 & 443# - HTTP_PORT=8080# - HTTPS_PORT=8443volumes:
- '/etc/localtime:/etc/localtime:ro'
- './data/config:/config'# Directory for sqlite database & .env
- './data/ssl/web:/etc/ssl/web'# Directory for ssl certificates
- 'waky-storage:/var/www/html/storage'image: 'ghcr.io/quadrubo/waky:latest'network_mode: hostrestart: unless-stoppedvolumes:
waky-storage:

Note: You should change the image version from latest to the one currently available so you don't get surprised by a new major version. Note that you have to update waky by changing the tag.
Example: image: 'ghcr.io/quadrubo/waky:v0.2.0'.

Run docker compose up to start the application.

You can now login to your instance with the user below. Once authenticated, it is recommended to change your email and password.

UsernamePassword
admin@example.compassword

Warning: This account will be recreated if there are no users in the system.

Contributing

These instructions will give you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on deploying the project on a live system.

Prerequisites

These instructions are focused on running the project with Docker. Docker and Docker Compose need to be installed on your system to proceed. This project assumes you will be using Laravel Sail as your development environment.

I also assume that you configured the sail alias. If not, just replace sail with ./vendor/bin/sail while installing.

Installing

First clone the project to your local system.

git clone https://github.com/Quadrubo/waky

Install the composer dependencies using Laravel Sail.

Copy the environment file.

cp .env.sail.example .env

Start the container.

sail up

Generate the app key.

sail artisan key:generate

Run the database migrations.

sail artisan migrate

Seed the database.

sail artisan db:seed --class DevelopmentSeeder

Running the scheduler.
The scheduler is responsible for starting the jobs in regular intervals.

sail artisan schedule:work

Running the websocket server. The websocket server is responsible for providing realtime notifications.

sail artisan websockets:serve

Running the queue.
The queue is responsilbe for executing the jobs like pinging the computers.

sail artisan queue:work
sail artisan queue:work --queue notifications

Install the npm dependencies.

sail npm install

Start the vite development environment.

sail npm run dev

You should now be able to access the site on http://localhost. 2 test users have been created for you.

UsernameE-MailPassword
adminadmin@admin.adminadmin123
useruser@user.useruser1234

The admin user has access to the admin panel and can create computers. The user user has no specific permissions.

You can access the admin panel at /admin.

Project Structure

The project is a pretty simple Laravel app, built using Filament.

Usage

Discord Webhook Notifications

Discord Webhook Notification support is build in. Just create a webhook on your discord server and set the DISCORD_WEBHOOK_URL variable in your .env file.
This sends you notifications when a computer switches from no to one or one to no users.

Running the tests

sail test

Built With

Contributing

All contributions are welcome! Just fork the project. Setup the development environment and create a branch for your fix or feature :)

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the GNU Affero General Public License v3.0.

About

A web based Wake-on-LAN Server for managing servers in your home network

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - Quadrubo/waky: A web based Wake-on-LAN Server for managing servers in your home network · GitHub
Skip to content

Latest commit

History

102 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Waky

Introduction

A web based Wake-on-LAN Server for managing servers in your home network!

Why would I use this?

The main use for Waky is to be able to manage computers/servers in your home.

Collaboration

I manage a shared server which a few other people, including myself, use. To make sure the server doesn't waste electricity, one can "use" the server to block others from shutting it down. The last person to have the server in use can then shutdown the server once they're finished.

Getting Started

To install Waky you can use the provided Docker images.

Install with Docker Compose

version: '3'services:
waky:
container_name: wakyenvironment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin# Change if you access on a different URL
- APP_URL=http://localhost
- PUSHER_HOST=localhost# Uncomment if you want to use ports other than 80 & 443# - HTTP_PORT=8080# - HTTPS_PORT=8443volumes:
- '/etc/localtime:/etc/localtime:ro'
- './data/config:/config'# Directory for sqlite database & .env
- './data/ssl/web:/etc/ssl/web'# Directory for ssl certificates
- 'waky-storage:/var/www/html/storage'image: 'ghcr.io/quadrubo/waky:latest'network_mode: hostrestart: unless-stoppedvolumes:
waky-storage:

Note: You should change the image version from latest to the one currently available so you don't get surprised by a new major version. Note that you have to update waky by changing the tag.
Example: image: 'ghcr.io/quadrubo/waky:v0.2.0'.

Run docker compose up to start the application.

You can now login to your instance with the user below. Once authenticated, it is recommended to change your email and password.

UsernamePassword
admin@example.compassword

Warning: This account will be recreated if there are no users in the system.

Contributing

These instructions will give you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on deploying the project on a live system.

Prerequisites

These instructions are focused on running the project with Docker. Docker and Docker Compose need to be installed on your system to proceed. This project assumes you will be using Laravel Sail as your development environment.

I also assume that you configured the sail alias. If not, just replace sail with ./vendor/bin/sail while installing.

Installing

First clone the project to your local system.

git clone https://github.com/Quadrubo/waky

Install the composer dependencies using Laravel Sail.

Copy the environment file.

cp .env.sail.example .env

Start the container.

sail up

Generate the app key.

sail artisan key:generate

Run the database migrations.

sail artisan migrate

Seed the database.

sail artisan db:seed --class DevelopmentSeeder

Running the scheduler.
The scheduler is responsible for starting the jobs in regular intervals.

sail artisan schedule:work

Running the websocket server. The websocket server is responsible for providing realtime notifications.

sail artisan websockets:serve

Running the queue.
The queue is responsilbe for executing the jobs like pinging the computers.

sail artisan queue:work
sail artisan queue:work --queue notifications

Install the npm dependencies.

sail npm install

Start the vite development environment.

sail npm run dev

You should now be able to access the site on http://localhost. 2 test users have been created for you.

UsernameE-MailPassword
adminadmin@admin.adminadmin123
useruser@user.useruser1234

The admin user has access to the admin panel and can create computers. The user user has no specific permissions.

You can access the admin panel at /admin.

Project Structure

The project is a pretty simple Laravel app, built using Filament.

Usage

Discord Webhook Notifications

Discord Webhook Notification support is build in. Just create a webhook on your discord server and set the DISCORD_WEBHOOK_URL variable in your .env file.
This sends you notifications when a computer switches from no to one or one to no users.

Running the tests

sail test

Built With

Contributing

All contributions are welcome! Just fork the project. Setup the development environment and create a branch for your fix or feature :)

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the GNU Affero General Public License v3.0.

About

A web based Wake-on-LAN Server for managing servers in your home network

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Quadrubo/waky: A web based Wake-on-LAN Server for managing servers in your home network · GitHub
Skip to content

Latest commit

History

102 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Waky

Introduction

A web based Wake-on-LAN Server for managing servers in your home network!

Why would I use this?

The main use for Waky is to be able to manage computers/servers in your home.

Collaboration

I manage a shared server which a few other people, including myself, use. To make sure the server doesn't waste electricity, one can "use" the server to block others from shutting it down. The last person to have the server in use can then shutdown the server once they're finished.

Getting Started

To install Waky you can use the provided Docker images.

Install with Docker Compose

version: '3'services:
waky:
container_name: wakyenvironment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin# Change if you access on a different URL
- APP_URL=http://localhost
- PUSHER_HOST=localhost# Uncomment if you want to use ports other than 80 & 443# - HTTP_PORT=8080# - HTTPS_PORT=8443volumes:
- '/etc/localtime:/etc/localtime:ro'
- './data/config:/config'# Directory for sqlite database & .env
- './data/ssl/web:/etc/ssl/web'# Directory for ssl certificates
- 'waky-storage:/var/www/html/storage'image: 'ghcr.io/quadrubo/waky:latest'network_mode: hostrestart: unless-stoppedvolumes:
waky-storage:

Note: You should change the image version from latest to the one currently available so you don't get surprised by a new major version. Note that you have to update waky by changing the tag.
Example: image: 'ghcr.io/quadrubo/waky:v0.2.0'.

Run docker compose up to start the application.

You can now login to your instance with the user below. Once authenticated, it is recommended to change your email and password.

UsernamePassword
admin@example.compassword

Warning: This account will be recreated if there are no users in the system.

Contributing

These instructions will give you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on deploying the project on a live system.

Prerequisites

These instructions are focused on running the project with Docker. Docker and Docker Compose need to be installed on your system to proceed. This project assumes you will be using Laravel Sail as your development environment.

I also assume that you configured the sail alias. If not, just replace sail with ./vendor/bin/sail while installing.

Installing

First clone the project to your local system.

git clone https://github.com/Quadrubo/waky

Install the composer dependencies using Laravel Sail.

Copy the environment file.

cp .env.sail.example .env

Start the container.

sail up

Generate the app key.

sail artisan key:generate

Run the database migrations.

sail artisan migrate

Seed the database.

sail artisan db:seed --class DevelopmentSeeder

Running the scheduler.
The scheduler is responsible for starting the jobs in regular intervals.

sail artisan schedule:work

Running the websocket server. The websocket server is responsible for providing realtime notifications.

sail artisan websockets:serve

Running the queue.
The queue is responsilbe for executing the jobs like pinging the computers.

sail artisan queue:work
sail artisan queue:work --queue notifications

Install the npm dependencies.

sail npm install

Start the vite development environment.

sail npm run dev

You should now be able to access the site on http://localhost. 2 test users have been created for you.

UsernameE-MailPassword
adminadmin@admin.adminadmin123
useruser@user.useruser1234

The admin user has access to the admin panel and can create computers. The user user has no specific permissions.

You can access the admin panel at /admin.

Project Structure

The project is a pretty simple Laravel app, built using Filament.

Usage

Discord Webhook Notifications

Discord Webhook Notification support is build in. Just create a webhook on your discord server and set the DISCORD_WEBHOOK_URL variable in your .env file.
This sends you notifications when a computer switches from no to one or one to no users.

Running the tests

sail test

Built With

Contributing

All contributions are welcome! Just fork the project. Setup the development environment and create a branch for your fix or feature :)

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the GNU Affero General Public License v3.0.

About

A web based Wake-on-LAN Server for managing servers in your home network

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Quadrubo/waky: A web based Wake-on-LAN Server for managing servers in your home network · GitHub
Skip to content

Latest commit

History

102 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Waky

Introduction

A web based Wake-on-LAN Server for managing servers in your home network!

Why would I use this?

The main use for Waky is to be able to manage computers/servers in your home.

Collaboration

I manage a shared server which a few other people, including myself, use. To make sure the server doesn't waste electricity, one can "use" the server to block others from shutting it down. The last person to have the server in use can then shutdown the server once they're finished.

Getting Started

To install Waky you can use the provided Docker images.

Install with Docker Compose

version: '3'services:
waky:
container_name: wakyenvironment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin# Change if you access on a different URL
- APP_URL=http://localhost
- PUSHER_HOST=localhost# Uncomment if you want to use ports other than 80 & 443# - HTTP_PORT=8080# - HTTPS_PORT=8443volumes:
- '/etc/localtime:/etc/localtime:ro'
- './data/config:/config'# Directory for sqlite database & .env
- './data/ssl/web:/etc/ssl/web'# Directory for ssl certificates
- 'waky-storage:/var/www/html/storage'image: 'ghcr.io/quadrubo/waky:latest'network_mode: hostrestart: unless-stoppedvolumes:
waky-storage:

Note: You should change the image version from latest to the one currently available so you don't get surprised by a new major version. Note that you have to update waky by changing the tag.
Example: image: 'ghcr.io/quadrubo/waky:v0.2.0'.

Run docker compose up to start the application.

You can now login to your instance with the user below. Once authenticated, it is recommended to change your email and password.

UsernamePassword
admin@example.compassword

Warning: This account will be recreated if there are no users in the system.

Contributing

These instructions will give you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on deploying the project on a live system.

Prerequisites

These instructions are focused on running the project with Docker. Docker and Docker Compose need to be installed on your system to proceed. This project assumes you will be using Laravel Sail as your development environment.

I also assume that you configured the sail alias. If not, just replace sail with ./vendor/bin/sail while installing.

Installing

First clone the project to your local system.

git clone https://github.com/Quadrubo/waky

Install the composer dependencies using Laravel Sail.

Copy the environment file.

cp .env.sail.example .env

Start the container.

sail up

Generate the app key.

sail artisan key:generate

Run the database migrations.

sail artisan migrate

Seed the database.

sail artisan db:seed --class DevelopmentSeeder

Running the scheduler.
The scheduler is responsible for starting the jobs in regular intervals.

sail artisan schedule:work

Running the websocket server. The websocket server is responsible for providing realtime notifications.

sail artisan websockets:serve

Running the queue.
The queue is responsilbe for executing the jobs like pinging the computers.

sail artisan queue:work
sail artisan queue:work --queue notifications

Install the npm dependencies.

sail npm install

Start the vite development environment.

sail npm run dev

You should now be able to access the site on http://localhost. 2 test users have been created for you.

UsernameE-MailPassword
adminadmin@admin.adminadmin123
useruser@user.useruser1234

The admin user has access to the admin panel and can create computers. The user user has no specific permissions.

You can access the admin panel at /admin.

Project Structure

The project is a pretty simple Laravel app, built using Filament.

Usage

Discord Webhook Notifications

Discord Webhook Notification support is build in. Just create a webhook on your discord server and set the DISCORD_WEBHOOK_URL variable in your .env file.
This sends you notifications when a computer switches from no to one or one to no users.

Running the tests

sail test

Built With

Contributing

All contributions are welcome! Just fork the project. Setup the development environment and create a branch for your fix or feature :)

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the GNU Affero General Public License v3.0.

About

A web based Wake-on-LAN Server for managing servers in your home network

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - Quadrubo/waky: A web based Wake-on-LAN Server for managing servers in your home network · GitHub
Skip to content

Latest commit

History

102 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Waky

Introduction

A web based Wake-on-LAN Server for managing servers in your home network!

Why would I use this?

The main use for Waky is to be able to manage computers/servers in your home.

Collaboration

I manage a shared server which a few other people, including myself, use. To make sure the server doesn't waste electricity, one can "use" the server to block others from shutting it down. The last person to have the server in use can then shutdown the server once they're finished.

Getting Started

To install Waky you can use the provided Docker images.

Install with Docker Compose

version: '3'services:
waky:
container_name: wakyenvironment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin# Change if you access on a different URL
- APP_URL=http://localhost
- PUSHER_HOST=localhost# Uncomment if you want to use ports other than 80 & 443# - HTTP_PORT=8080# - HTTPS_PORT=8443volumes:
- '/etc/localtime:/etc/localtime:ro'
- './data/config:/config'# Directory for sqlite database & .env
- './data/ssl/web:/etc/ssl/web'# Directory for ssl certificates
- 'waky-storage:/var/www/html/storage'image: 'ghcr.io/quadrubo/waky:latest'network_mode: hostrestart: unless-stoppedvolumes:
waky-storage:

Note: You should change the image version from latest to the one currently available so you don't get surprised by a new major version. Note that you have to update waky by changing the tag.
Example: image: 'ghcr.io/quadrubo/waky:v0.2.0'.

Run docker compose up to start the application.

You can now login to your instance with the user below. Once authenticated, it is recommended to change your email and password.

UsernamePassword
admin@example.compassword

Warning: This account will be recreated if there are no users in the system.

Contributing

These instructions will give you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on deploying the project on a live system.

Prerequisites

These instructions are focused on running the project with Docker. Docker and Docker Compose need to be installed on your system to proceed. This project assumes you will be using Laravel Sail as your development environment.

I also assume that you configured the sail alias. If not, just replace sail with ./vendor/bin/sail while installing.

Installing

First clone the project to your local system.

git clone https://github.com/Quadrubo/waky

Install the composer dependencies using Laravel Sail.

Copy the environment file.

cp .env.sail.example .env

Start the container.

sail up

Generate the app key.

sail artisan key:generate

Run the database migrations.

sail artisan migrate

Seed the database.

sail artisan db:seed --class DevelopmentSeeder

Running the scheduler.
The scheduler is responsible for starting the jobs in regular intervals.

sail artisan schedule:work

Running the websocket server. The websocket server is responsible for providing realtime notifications.

sail artisan websockets:serve

Running the queue.
The queue is responsilbe for executing the jobs like pinging the computers.

sail artisan queue:work
sail artisan queue:work --queue notifications

Install the npm dependencies.

sail npm install

Start the vite development environment.

sail npm run dev

You should now be able to access the site on http://localhost. 2 test users have been created for you.

UsernameE-MailPassword
adminadmin@admin.adminadmin123
useruser@user.useruser1234

The admin user has access to the admin panel and can create computers. The user user has no specific permissions.

You can access the admin panel at /admin.

Project Structure

The project is a pretty simple Laravel app, built using Filament.

Usage

Discord Webhook Notifications

Discord Webhook Notification support is build in. Just create a webhook on your discord server and set the DISCORD_WEBHOOK_URL variable in your .env file.
This sends you notifications when a computer switches from no to one or one to no users.

Running the tests

sail test

Built With

Contributing

All contributions are welcome! Just fork the project. Setup the development environment and create a branch for your fix or feature :)

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the GNU Affero General Public License v3.0.

About

A web based Wake-on-LAN Server for managing servers in your home network

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages