FuelTech HomeOS is a Docker-based homelab platform running primarily on the Ubuntu server named octane.
The project follows these standards:
/srv/docker.Plex on Kerosene (192.168.10.173) has automatic crash recovery. A local watchdog checks it every minute, restarts it after three failed checks, and verifies recovery. Attempts are limited to two per hour, at least fifteen minutes apart.
See Plex Automatic Recovery on Kerosene for status checks, maintenance pause/resume commands, logs, and removal instructions.
fuelproxoctane7.0.0-28-genericeno1192.168.10.135/24CasaOS currently hosts Uptime Kuma.
Uptime Kuma will remain on CasaOS until the future Unraid server is deployed.
The Raspberry Pi currently provides reverse-proxy services using:
fueltech.laNew services will be added to Caddy and Cloudflare together when they are ready to be published.
Completed work:
octane7.0.0-28-genericen_US.UTF-8Installed administrative tools include:
Docker Engine was installed from Docker's official Ubuntu repository.
Installed components:
The user bmgaspard is a member of the Docker group and can manage Docker without sudo.
/srv/docker
├── backups
├── configs
├── scripts
├── secrets
├── stacks
└── volumes
Docker was tested with the hello-world container.
Docker Compose was tested with a temporary Nginx container.
The test confirmed:
Repository location:
/home/bmgaspard/FuelTech-HomeOS
Default branch:
main
Repository structure:
FuelTech-HomeOS
├── compose
├── docs
├── inventory
├── scripts
├── templates
├── README.md
├── CHANGELOG.md
└── .gitignore
Git stores:
Git does not store:
Purpose:
Container name:
forgejo
Image:
codeberg.org/forgejo/forgejo:16
LAN address:
http://192.168.10.135:3002
Git over SSH port:
2222
Persistent data:
/srv/docker/volumes/forgejo
Compose file:
compose/forgejo/compose.yaml
Repository:
bmgaspard/FuelTech-HomeOS
The local repository uses Forgejo as its origin remote.
The main branch tracks:
origin/main
The Forgejo repository is private.
A shared external Docker bridge network named fueltech was created.
Containers currently attached include:
This network allows containers in separate Compose projects to communicate through Docker DNS.
Purpose:
Container name:
portainer
Image:
portainer/portainer-ce:lts
LAN address:
https://192.168.10.135:9443
Persistent data:
/srv/docker/volumes/portainer
Compose file:
compose/portainer/compose.yaml
Portainer currently remains LAN-only.
Compose files stored in Git remain the deployment source of truth.
Purpose:
Container name:
homepage
Image:
ghcr.io/gethomepage/homepage:latest
LAN address:
http://192.168.10.135:3000
Configuration directory:
/srv/docker/configs/homepage
Compose file:
compose/homepage/compose.yaml
Tracked templates:
templates/homepage/services.yaml
templates/homepage/docker.yaml
Current dashboard cards:
The Octane icon uses:
icon: si-ubuntu
Homepage displays live Docker status for:
Purpose:
Container name:
dockerproxy
Image:
ghcr.io/tecnativa/docker-socket-proxy:latest
Compose file:
compose/docker-socket-proxy/compose.yaml
Docker socket mount:
/var/run/docker.sock:/var/run/docker.sock:ro
Enabled access:
CONTAINERS=1
Disabled write access:
POST=0
No host port is published.
Homepage connects using:
octane:
host: dockerproxy
port: 2375
The Docker Socket Proxy must never be exposed through Caddy, Cloudflare, or a host port.
Purpose:
Container name:
wikijs
Image:
ghcr.io/requarks/wiki:2
LAN address:
http://192.168.10.135:3003
Database container:
wikijs-db
Database image:
postgres:17-alpine
Database storage:
/srv/docker/volumes/wikijs/db
Secrets file:
/srv/docker/secrets/wikijs.env
Compose file:
compose/wikijs/compose.yaml
Wiki.js is connected to PostgreSQL over the shared fueltech Docker network.
The initial home page was created using the Markdown document:
docs/FuelTech-HomeOS-Current-State.md
The current Site URL is:
http://192.168.10.135:3003
It will be changed later when the service is published through Caddy and Cloudflare.
| Service | Host | Status | Access |
|---|---|---|---|
| Ubuntu Server | Octane | Operational | SSH |
| Docker Engine | Octane | Operational | Local administration |
| Forgejo | Octane | Operational | LAN |
| Portainer | Octane | Operational | LAN |
| Homepage | Octane | Operational | LAN |
| Wiki.js | Octane | Operational | LAN |
| Wiki.js PostgreSQL | Octane | Operational | Docker network only |
| Docker Socket Proxy | Octane | Operational | Docker network only |
| Uptime Kuma | CasaOS | Operational | Existing environment |
| Caddy | Raspberry Pi | Operational | Reverse proxy |
| Cloudflare | External | Operational | DNS and external access |
fueltech.la remain the external-access platform./srv/docker.Future services include:
Current foundation includes:
FuelTech HomeOS documentation is maintained in a dedicated Git repository:
/home/bmgaspard/FuelTech-HomeOS-Wiki
The remote repository is hosted in Forgejo:
bmgaspard/FuelTech-HomeOS-Wiki
Wiki.js connects to Forgejo through a read-only SSH deploy key and pulls content from the main branch.
Documentation workflow:
Current synchronization direction:
Forgejo → Wiki.js
Git remains the source of truth. Wiki.js should not be used to save competing edits.
FuelTech-HomeOS-Wiki
├── home.md
├── manuals
│ ├── base-ubuntu-server-build.md
│ └── git-to-wikijs-sync.md
└── assets
├── diagrams
└── screenshots
├── git-wikijs
└── ubuntu
Future manuals will include:
Sensitive information must be removed before screenshots are committed to Git.