ATLAS A directory of every tough.services project

Small services, run from a small island.

A family of self-hosted projects operated from Guernsey in the Channel Islands — live environmental data, radio reception, and a personal AI platform, all served from local hardware.

Projects

FORGE
studio.tough.services
Private

An advanced website factory: build from templates or generate with AI, edit block-by-block, publish with instant rollback, attach custom domains with automatic DNS & certificates, and run customers, invoices and analytics.

Running
BRIEF
today.tough.services
Public

The whole estate on one page: live weather and the SAGE forecast, tide state with countdowns, tonight's best satellite pass, sun and moon, and service health — a browser start page.

Checking…
GUST
weather.tough.services
Public

A private weather station reporting live conditions every minute — temperature, wind, rainfall and pressure trends, with charts, records and AI-written forecasts.

Live conditions…
ORBIT
weathersat.tough.services
Public

An automated ground station receiving METEOR-M satellite imagery on 137.9 MHz — pass predictions, reception statistics and decoded pictures of Europe from orbit.

Pass schedule…
RADAR
adsb.tough.services
Public

Live aircraft tracking over the Channel Islands and beyond, received directly from transponders at 1090 MHz and plotted on an interactive map.

Live map & archive
SAGE
sage.tough.services
Private

A personal AI agent platform. SAGE also works behind the scenes here — writing the daily forecasts on GUST and the reception briefings on ORBIT.

Running
TIDE
tides.tough.services
Public

Tide times and heights for St Peter Port — live tide clock, today's curve, a 7-day high and low water table, sea state, and wind straight from the weather station.

Checking…
NOVA
sky.tough.services
Public

What to look for tonight: visible ISS and satellite passes with sky tracks, darkness times, moonlight, cloud outlook, aurora chances and meteor showers — computed on our own server.

Checking…
ALERT
ntfy.tough.services
Private

Self-hosted push notifications (ntfy). Weather warnings, receiver events and server alerts are delivered from here to the phone — no third party in the loop.

Running
CODEX
docs.tough.services
Private

Runbooks and reference for the whole estate — how each site is built, deployed and monitored — rendered from a git repo, with search and a documentation-grounded SAGE assistant.

Running
DASH
speed.tough.services
Public

Browser speed test straight to this server in Guernsey — latency, jitter, download and upload with live gauges. Self-hosted LibreSpeed engine; nothing stored, no third parties.

Ready
NEXUS
net.tough.services
Public

Network toolbox: your public IP, network and TLS details as seen from Guernsey (with curl-friendly endpoints), plus private diagnostics and a LAN monitor for the operator.

Checking…
VAULT
git.tough.services
Private

Source code for every project on this page, hosted on our own Forgejo — repositories, history and the infrastructure configs that run the box.

Running
CORE
tough.services/panel
Private

The operator dashboard: server metrics, service restarts, network and LAN monitoring, alerting and the SAGE ops assistant.

Running
PATCH
roadworks.tough.services
Public

A clearer Guernsey roadworks map — live closures, diversions and works on an interactive map with a searchable, filterable list. Reformatted from the States of Guernsey data.

Checking…
SCALE
prices.tough.services
Public

Guernsey inflation, tracked and charted — RPI and RPIX from 2000 to today, quarterly changes, group-by-group price moves and UK/Jersey comparisons from official bulletins.

Checking…
AGENDA
states.tough.services
Public

The States of Guernsey Assembly, tracked — upcoming sittings and billets, lodged propositions, written questions and answers, Hansard records and every serving deputy.

Checking…
SHORE
beaches.tough.services
Public

Guernsey beach conditions in one place — official bathing-water grades for every monitored bay, live sea temperature and waves, UV, air quality and pollen.

Checking…
CHART
chart.tough.services
Public

Estate analytics — daily visitors, page views, countries, devices and top pages for every site here, aggregated from server logs with no cookies or trackers.

Checking…
DROP
drop.tough.services
Private

Self-hosted file and snippet sharing — drag in a file or paste text, get a short unlisted link with optional password and expiry. Files never leave this box.

Running
LOOP
loop.tough.services
Public

A wall-display mode for the whole estate — full-screen rotating slides of weather, tides, status, roadworks, beaches, satellites and more. Press F on a spare screen and leave it running.

Running
WINGS
flights.tough.services
Public

Guernsey Airport arrivals and departures, live — a clean, fast flight board with delay and cancellation highlighting, straight from the official airport feed.

Checking…
HOP
go.tough.services
Private

Short links under go.tough.services — custom or random codes, QR codes, pause/enable, and per-day click stats. Links are public; managing them isn't.

Running
PLANS
plans.tough.services
Public

Guernsey planning applications on a map — every current application with its site outline, status colouring and a link to the official record, searchable and filterable.

Checking…
STORM
storm.tough.services
Public

Official Bailiwick weather warnings, the Jersey Met 6-day written forecast, live rain radar, satellite and sea-state charts — the severe-weather view of the islands.

Checking…
ROUTE
buses.tough.services
Public

Guernsey buses live — every bus on the island on a map, real-time departures at any stop, full timetables for all 61 routes and service alerts.

Checking…
FERRY
ferry.tough.services
Public

Condor sailings via Guernsey for today and the next two days — delays and cancellations as they are announced, and a running reliability ledger by ship and route.

Checking…
SCOUT
scout.tough.services
Public

A self-tracking satellite ground station — a catalogue of every satellite it can hear, every pass predicted and scored, the antenna pointed automatically and the results briefed by SAGE. Receive only.

Checking…
GLOW
glow.tough.services
Public

An Android aurora app that answers whether the aurora is actually visible from where you are, rather than just reporting a Kp number — and the page recruiting testers for it. Built on NOAA space-weather data.

Android app
BUILD
builds.tough.services
Private

The release shelf for the tough.services Android apps: every signed build kept with its version, checksum and the commit it was cut from, downloadable straight to a phone. Privacy policies are served publicly for the Play Store.

Running
DOSE
dose.tough.services
Public

Type a medicine — brand or generic, UK or US name — and see what's in it, what it does, how it's taken, what it looks like, side effects and warnings, straight from the official product label with a plain-English summary by SAGE.

Checking…
PULSE
status.tough.services
Public

Live health of every site and data feed here — 90-day uptime history, receiver status and an incident log with RSS and JSON feeds. Checked from the server itself every minute.

Checking…

Toolbox

Small self-hosted utilities — copy a line and run it. Everything is served straight from this box; read-only unless tagged.

System

System info

OS, kernel, CPU, memory, disk and load at a glance.

curl -fsSL https://tough.services/sysinfo.sh | bash

Health check

Uptime, load, memory, disk, temperature, services, updates and TLS days.

curl -fsSL https://tough.services/healthcheck.sh | bash

Cleanup root

Non-destructive tidy of logs, caches, temp files and old kernels.

curl -fsSL https://tough.services/cleanup.sh | sudo bash

Disk hogs

Largest files and directories under a path.

curl -fsSL https://tough.services/largest.sh | bash -s -- /var

Open ports

Everything listening on the machine (add sudo for process names).

curl -fsSL https://tough.services/ports.sh | bash

Reboot needed?

Whether a reboot is pending, and which packages need it.

curl -fsSL https://tough.services/reboot-check.sh | bash

Maintenance

Update root

apt update, upgrade and autoremove in one shot.

curl -fsSL https://tough.services/update.sh | sudo bash

Harden root

Firewall (ufw), fail2ban and automatic security updates.

curl -fsSL https://tough.services/harden.sh | sudo bash

Backup root

Dump every database and archive data dirs to /root/backups (keeps 7).

curl -fsSL https://tough.services/backup.sh | sudo bash

Network

My IP

Your public IP, network and country (via NEXUS).

curl -fsSL https://tough.services/myip.sh | bash

Ping test

Latency and packet loss to 1.1.1.1.

curl -fsSL https://tough.services/ping-test.sh | bash

HTTP check

Status, redirects and full timing breakdown for a URL.

curl -fsSL https://tough.services/httpcheck.sh | bash -s -- https://example.com

DNS lookup

A, AAAA, MX, NS and TXT records for a domain.

curl -fsSL https://tough.services/dns.sh | bash -s -- example.com

Speed test

Latency and download speed to the Guernsey server.

curl -fsSL https://tough.services/speedtest.sh | bash

SSL check

Colour-coded certificate expiry for any domains.

curl -fsSL https://tough.services/ssl-check.sh | bash -s -- example.com

Guernsey live

Weather live

Current Guernsey conditions from the GUST weather station.

curl -fsSL https://tough.services/gust.sh | bash

Tides live

St Peter Port tide state and next high/low water.

curl -fsSL https://tough.services/tide.sh | bash

Sky tonight live

The next bright satellite passes overhead, from NOVA.

curl -fsSL https://tough.services/nova.sh | bash

Ferries live

Today's Condor sailings via Guernsey and their status, from FERRY.

curl -fsSL https://tough.services/ferry.sh | bash

Buses live

Buses on the road and the next departures from a stop (Town Terminus by default), from ROUTE.

curl -fsSL https://tough.services/buses.sh | bash

Security

Ban list root

fail2ban jails and currently banned IP addresses.

curl -fsSL https://tough.services/bans.sh | sudo bash

Cert renew (test) root

Dry-run Let’s Encrypt renewal for every certificate.

curl -fsSL https://tough.services/cert-renew.sh | sudo bash

Generators

Passwords

Strong random passwords (length and count optional).

curl -fsSL https://tough.services/pwgen.sh | bash

UUID

Generate v4 UUIDs.

curl -fsSL https://tough.services/uuid.sh | bash

Time now

The time in unix, ISO, UTC and a few zones.

curl -fsSL https://tough.services/now.sh | bash