Documentation site for the daemonless FreeBSD container project.
Built with MkDocs and Material for MkDocs.
pkg install py311-mkdocs py311-mkdocs-materialOr with pip:
pip install mkdocs-materialmkdocs serve -a 0.0.0.0:8000Open http://localhost:8000 - changes auto-reload.
mkdocs buildOutput is in site/ directory.
The site auto-deploys to GitHub Pages on every push to main.
- Push to
mainbranch - GitHub Actions runs
.github/workflows/docs.yml - MkDocs builds the site
- Deploys to GitHub Pages
- Live at https://daemonless.io
Trigger a deploy without pushing:
gh workflow run docs.yml- Create
docs/images/<image-name>.md:
# Image Name
Short description.
| | |
|---|---|
| **Port** | 1234 |
| **Registry** | `ghcr.io/daemonless/<image>` |
| **Tags** | `:latest`, `:pkg`, `:pkg-latest` |
| **Source** | [github.com/daemonless/<image>](https://github.com/daemonless/<image>) |
## Quick Start
\`\`\`bash
podman run -d --name <image> \
-p 1234:1234 \
-e PUID=1000 -e PGID=1000 \
-v /data/config/<image>:/config \
ghcr.io/daemonless/<image>:latest
\`\`\`
## Environment Variables
| Variable | Default | Description |
|----------|---------|-------------|
| `PUID` | `1000` | User ID |
| `PGID` | `1000` | Group ID |
| `TZ` | `UTC` | Timezone |- Add to
mkdocs.ymlnav section:
nav:
- Images:
- <Category>:
- Image Name: images/<image-name>.md- Push to
main
- Create
docs/guides/<guide-name>.md - Add to
mkdocs.ymlnav under Guides - Push to
main
.
├── mkdocs.yml # Site configuration
├── docs/
│ ├── index.md # Homepage
│ ├── quick-start.md # Getting started
│ ├── generator.md # Command generator embed
│ ├── CNAME # Custom domain
│ ├── images/ # Image documentation
│ │ ├── index.md # Image catalog
│ │ └── <image>.md # Per-image docs
│ └── guides/ # How-to guides
│ ├── permissions.md
│ ├── networking.md
│ └── ...
└── .github/workflows/
└── docs.yml # Deploy workflow
Key settings:
site_name: daemonless
site_url: https://daemonless.io
theme:
name: material
palette:
primary: red # FreeBSD-inspired
features:
- navigation.tabs # Top nav tabs
- content.code.copy # Copy button on code blocks
- search.suggest # Search suggestions
nav:
- Home: index.md
- ... # Define site structure hereThe docs/CNAME file contains daemonless.io.
DNS is configured in Cloudflare with A records pointing to GitHub Pages:
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
!!! note
This is a note.
!!! warning
This is a warning.
!!! tip
This is a tip.```bash
podman run -d --name example ghcr.io/daemonless/example:latest
```| Column 1 | Column 2 |
|----------|----------|
| Value 1 | Value 2 |:material-check: # Checkmark
:material-close: # X
:material-arrow-right: # ArrowSee Material Icons for full list.
# Check Python version
python3 --version # Needs 3.8+
# Reinstall dependencies
pip install --upgrade mkdocs-material- Check Actions tab for error details
- Ensure Pages is set to "GitHub Actions" source in repo settings
- Verify custom domain is configured in Pages settings
- GitHub Pages can cache for a few minutes
- Hard refresh: Ctrl+Shift+R
- Check workflow completed successfully in Actions tab