A locally hosted 'helpdesk' i've build to track home tasks with email notifications
Prerequisites:
- A Raspberry Pi running Debian/Raspbian, connected to your local network
- A working iCloud account with Two-Factor Authentication and an App-Specific Password
- (Optional) A custom domain for your helpdesk email address
- Basic familiarity with SSH, nano (or your editor), and the command line
Overall - pretty easy to get up and running if you follow the below steps:
-
System Update & Install Essentials sudo apt update && sudo apt upgrade -y sudo apt install python3-pip python3-venv nginx -y
-
Create Project Directory & Python Virtualenv mkdir -p ~/household-helpdesk cd ~/household-helpdesk python3 -m venv ~/flaskenv source ~/flaskenv/bin/activate pip install flask
-
Project Structure
-
Create the Data File echo '{"active":[],"completed":[],"deleted":[]}' > tickets.json
-
app.py Path: ~/household-helpdesk/app.py Contents (replace placeholders with your real SMTP settings):
-
Templates templates/create.html templates/edit.html templates/index.html templates/dashboard.html
-
Favicon Create static/ and add your icon: mkdir -p ~/household-helpdesk/static
- systemd Service Path: /etc/systemd/system/household-helpdesk.service [Unit] Description=Home Helpdesk Flask App After=network.target
[Service] User=admin WorkingDirectory=/home/admin/household-helpdesk ExecStart=/home/admin/flaskenv/bin/python /home/admin/household-helpdesk/app.py Restart=always
[Install] WantedBy=multi-user.target
Enable & start: sudo systemctl daemon-reload sudo systemctl enable household-helpdesk.service sudo systemctl start household-helpdesk.service
- Test & Access Create ticket: http://:5080/create
View tickets: http://:5080/
Dashboard: http://:5080/dashboard