Skip to content

Commit fb83247

Browse files
committed
refactor: rename yml to yaml, standardize pkg templates, add Base category
1 parent 0a22d46 commit fb83247

5 files changed

Lines changed: 47 additions & 37 deletions

File tree

File renamed without changes.

15/Containerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ LABEL org.opencontainers.image.title="base" \
1414
org.opencontainers.image.vendor="daemonless" \
1515
org.opencontainers.image.authors="daemonless" \
1616
io.daemonless.type="base" \
17+
io.daemonless.category="Base" \
1718
io.daemonless.packages="${PACKAGES}"
1819

1920
ENV ASSUME_ALWAYS_YES=yes

README.md

Lines changed: 46 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,63 @@
1-
# base-image
1+
# Base
22

3-
The core base image for all native FreeBSD OCI containers in the Daemonless project.
43

5-
## Overview
64

7-
This image provides a minimal FreeBSD environment optimized for containers. It includes a custom initialization system based on **s6** to manage process lifecycle and environment configuration.
5+
| | |
6+
|---|---|
7+
| **Registry** | `ghcr.io/daemonless/base` |
8+
| **Source** | []() |
89

9-
## Features
10+
## Deployment
1011

11-
- **s6 Supervision**: Standardized process management and reaping.
12-
- **PUID/PGID Support**: Map the internal `bsd` user to your host user IDs for seamless volume permissions.
13-
- **VNET Ready**: Configured to work with Virtual Network stacks.
14-
- **Multiple OS Support**: Variants available for FreeBSD 14 and 15.
15-
- **Package Selection**: Supports both `latest` and `quarterly` FreeBSD package branches.
12+
### Podman Compose
1613

17-
## Environment Variables
14+
```yaml
15+
services:
16+
base:
17+
image: ghcr.io/daemonless/base:latest
18+
container_name: base
19+
environment:
20+
volumes:
21+
ports:
22+
restart: unless-stopped
23+
```
1824
19-
| Variable | Default | Description |
20-
|----------|---------|-------------|
21-
| `PUID` | 1000 | User ID for the `bsd` user. |
22-
| `PGID` | 1000 | Group ID for the `bsd` user. |
23-
| `TZ` | UTC | Container timezone. |
25+
### Podman CLI
26+
27+
```bash
28+
podman run -d --name base \
29+
ghcr.io/daemonless/base:latest
30+
```
2431

25-
## Usage (for Image Developers)
32+
### Ansible
2633

27-
Use this as the base for your own FreeBSD images:
34+
```yaml
35+
- name: Deploy base
36+
containers.podman.podman_container:
37+
name: base
38+
image: ghcr.io/daemonless/base:latest
39+
state: started
40+
restart_policy: always
41+
```
2842
29-
```dockerfile
30-
FROM ghcr.io/daemonless/base-image:15
43+
## Configuration
3144
32-
# Install your app
33-
RUN pkg install -y myapp
45+
### Environment Variables
3446
35-
# Add your init scripts
36-
COPY root/ /
47+
| Variable | Default | Description |
48+
|----------|---------|-------------|
3749
38-
# Enable your service
39-
RUN ln -sf /etc/services.d/myapp/run /run/s6/services/myapp/run
40-
```
50+
### Volumes
51+
52+
| Path | Description |
53+
|------|-------------|
4154
42-
## Directory Structure
55+
### Ports
4356
44-
- `/init`: The main entrypoint script.
45-
- `/etc/cont-init.d/`: Place initialization scripts here (executed once at startup).
46-
- `/etc/services.d/`: Place service definitions here (supervised by s6).
47-
- `/custom-cont-init.d/`: Mount a volume here to run your own startup scripts without rebuilding the image.
57+
| Port | Protocol | Description |
58+
|------|----------|-------------|
4859
49-
## Variants
60+
## Notes
5061
51-
- `ghcr.io/daemonless/base-image:15` (FreeBSD 15.x)
52-
- `ghcr.io/daemonless/base-image:14` (FreeBSD 14.x)
53-
- Suffix `-quarterly` for images using the stable quarterly package branch.
54-
<!-- Trigger build -->
62+
- **User:** `` (UID/GID set via PUID/PGID)
63+
- **Base:** Built on `ghcr.io/daemonless/base` (FreeBSD)

0 commit comments

Comments
 (0)