Skip to content

Commit 0d335af

Browse files
committed
chore: add appjail director support & regen docs
1 parent 85d2ce5 commit 0d335af

3 files changed

Lines changed: 96 additions & 20 deletions

File tree

Containerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ ENV HEALTHCHECK_URL="${HEALTHCHECK_ENDPOINT}"
105105

106106
# --- Metadata (Injected by Generator) ---
107107
LABEL org.opencontainers.image.title="Immich Server" \
108-
org.opencontainers.image.description="Immich photo management server on FreeBSD." \
108+
org.opencontainers.image.description="Self-hosted photo and video backup and management server with web UI, mobile sync, and shared albums." \
109109
org.opencontainers.image.source="https://github.com/daemonless/immich-server" \
110110
org.opencontainers.image.url="https://immich.app/" \
111111
org.opencontainers.image.version="latest" \

README.md

Lines changed: 93 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,28 @@ Source: dbuild templates
55

66
# Immich Server
77

8-
Immich photo management server on FreeBSD.
8+
[![Build Status](https://img.shields.io/github/actions/workflow/status/daemonless/immich-server/build.yaml?style=flat-square&label=Build&color=green)](https://github.com/daemonless/immich-server/actions)
9+
[![Last Commit](https://img.shields.io/github/last-commit/daemonless/immich-server?style=flat-square&label=Last+Commit&color=blue)](https://github.com/daemonless/immich-server/commits)
10+
11+
Self-hosted photo and video backup and management server with web UI, mobile sync, and shared albums.
912

1013
| | |
1114
|---|---|
1215
| **Port** | 2283 |
1316
| **Registry** | `ghcr.io/daemonless/immich-server` |
14-
| **Docs** | [daemonless.io/images/immich-server](https://daemonless.io/images/immich-server/) |
1517
| **Source** | [https://github.com/immich-app/immich](https://github.com/immich-app/immich) |
1618
| **Website** | [https://immich.app/](https://immich.app/) |
1719

20+
## Version Tags
21+
22+
| Tag | Description | Best For |
23+
| :--- | :--- | :--- |
24+
| `latest` | **Upstream Binary**. Built from official release. | Most users. Matches Linux Docker behavior. |
25+
26+
## Prerequisites
27+
28+
Before deploying, ensure your host environment is ready. See the [Quick Start Guide](https://daemonless.io/guides/quick-start) for host setup instructions.
29+
1830
## Deployment
1931

2032
### Podman Compose
@@ -34,13 +46,70 @@ services:
3446
- PGID=1000
3547
- TZ=UTC
3648
volumes:
37-
- /path/to/containers/immich-server:/config
38-
- /path/to/data:/data
49+
- "/path/to/containers/immich-server:/config"
50+
- "/path/to/containers/immich-server/data:/data"
3951
ports:
4052
- 2283:2283
4153
restart: unless-stopped
4254
```
4355
56+
### AppJail Director
57+
58+
**.env**:
59+
60+
```
61+
DIRECTOR_PROJECT=immich-server
62+
DB_HOSTNAME=immich-postgres
63+
DB_USERNAME=postgres
64+
DB_PASSWORD=postgres
65+
DB_DATABASE_NAME=immich
66+
REDIS_HOSTNAME=immich-redis
67+
PUID=1000
68+
PGID=1000
69+
TZ=UTC
70+
```
71+
72+
**appjail-director.yml**:
73+
74+
```yaml
75+
options:
76+
- virtualnet: ':<random> default'
77+
- nat:
78+
services:
79+
immich-server:
80+
name: immich_server
81+
options:
82+
- container: 'boot args:--pull'
83+
oci:
84+
user: root
85+
environment:
86+
- DB_HOSTNAME: !ENV '${DB_HOSTNAME}'
87+
- DB_USERNAME: !ENV '${DB_USERNAME}'
88+
- DB_PASSWORD: !ENV '${DB_PASSWORD}'
89+
- DB_DATABASE_NAME: !ENV '${DB_DATABASE_NAME}'
90+
- REDIS_HOSTNAME: !ENV '${REDIS_HOSTNAME}'
91+
- PUID: !ENV '${PUID}'
92+
- PGID: !ENV '${PGID}'
93+
- TZ: !ENV '${TZ}'
94+
volumes:
95+
- immich-server: /config
96+
- immich-server_data: /data
97+
volumes:
98+
immich-server:
99+
device: '/path/to/containers/immich-server'
100+
immich-server_data:
101+
device: '/path/to/containers/immich-server/data'
102+
```
103+
104+
**Makejail**:
105+
106+
```
107+
ARG tag=latest
108+
109+
OPTION overwrite=force
110+
OPTION from=ghcr.io/daemonless/immich-server:${tag}
111+
```
112+
44113
### Podman CLI
45114

46115
```bash
@@ -51,14 +120,13 @@ podman run -d --name immich-server \
51120
-e DB_PASSWORD=postgres \
52121
-e DB_DATABASE_NAME=immich \
53122
-e REDIS_HOSTNAME=immich-redis \
54-
-e PUID=@PUID@ \
55-
-e PGID=@PGID@ \
56-
-e TZ=@TZ@ \
123+
-e PUID=1000 \
124+
-e PGID=1000 \
125+
-e TZ=UTC \
57126
-v /path/to/containers/immich-server:/config \
58-
-v /path/to/data:/data \
127+
-v /path/to/containers/immich-server/data:/data \
59128
ghcr.io/daemonless/immich-server:latest
60129
```
61-
Access at: `http://localhost:2283`
62130

63131
### Ansible
64132

@@ -75,17 +143,20 @@ Access at: `http://localhost:2283`
75143
DB_PASSWORD: "postgres"
76144
DB_DATABASE_NAME: "immich"
77145
REDIS_HOSTNAME: "immich-redis"
78-
PUID: "@PUID@"
79-
PGID: "@PGID@"
80-
TZ: "@TZ@"
146+
PUID: "1000"
147+
PGID: "1000"
148+
TZ: "UTC"
81149
ports:
82150
- "2283:2283"
83151
volumes:
84152
- "/path/to/containers/immich-server:/config"
85-
- "/path/to/data:/data"
153+
- "/path/to/containers/immich-server/data:/data"
86154
```
87155
88-
## Configuration
156+
Access at: `http://localhost:2283`
157+
158+
## Parameters
159+
89160
### Environment Variables
90161

91162
| Variable | Default | Description |
@@ -98,12 +169,14 @@ Access at: `http://localhost:2283`
98169
| `PUID` | `1000` | User ID for the application process |
99170
| `PGID` | `1000` | Group ID for the application process |
100171
| `TZ` | `UTC` | Timezone for the container |
172+
101173
### Volumes
102174

103175
| Path | Description |
104176
|------|-------------|
105177
| `/config` | Configuration directory (unused but mounted) |
106178
| `/data` | Media storage (photos, videos, thumbnails) |
179+
107180
### Ports
108181

109182
| Port | Protocol | Description |
@@ -112,8 +185,10 @@ Access at: `http://localhost:2283`
112185

113186
This image is part of the [Immich Stack](https://daemonless.io/images/immich).
114187

115-
## Notes
188+
**Architectures:** amd64
189+
**User:** `bsd` (UID/GID via PUID/PGID, defaults to 1000:1000)
190+
**Base:** FreeBSD 15.0
191+
192+
---
116193

117-
- **Architectures:** amd64
118-
- **User:** `bsd` (UID/GID set via PUID/PGID)
119-
- **Base:** Built on `ghcr.io/daemonless/base` (FreeBSD)
194+
Need help? Join our [Discord](https://discord.gg/Kb9tkhecZT) community.

compose.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@ x-daemonless:
44
title: "Immich Server"
55
icon: ":material-server:"
66
category: "Photos & Media"
7-
description: "Immich photo management server on FreeBSD."
7+
description: "Self-hosted photo and video backup and management server with web UI, mobile sync, and shared albums."
88
upstream_url: "https://github.com/immich-app/immich"
99
web_url: "https://immich.app/"
1010
freshports_url: ""
1111
user: "bsd"
1212
mlock: false
1313
upstream_binary: true
14+
appjail: true
1415
notes: "This image is part of the [Immich Stack](https://daemonless.io/images/immich)."
1516

1617
docs:

0 commit comments

Comments
 (0)