♻️ Move Dockerfile and rootfs to repo root per AI.md ♻️
CI / Build image (push) Failing after 1h40m8s

- Dockerfile: moved from docker/Dockerfile; COPY paths now rootfs/ and Dockerfile
- rootfs/usr/local/bin/entrypoint.sh, healthcheck.sh: moved from docker/rootfs/
- rootfs/usr/local/share/prosody-plugins/: moved from docker/rootfs/ (mod_auth_openfire_hybrid, mod_user_api)
- docker/compose.yml: removed; the example now lives in the README compose section
- .github/workflows/ci.yml, release.yml: build file is now Dockerfile
- .github/CODEOWNERS: drop the docker/ entry
- .gitignore, .dockerignore: drop docker/volumes/
- README.md: compose section replaced with the current example
This commit is contained in:
casjay committed 2026-11-08 10:36:07 -05:00
1 parent 160c552809
commit 93bbb705cc
12 files changed
+59 -78

No files matched your search

-1
View File
@@ -17,7 +17,6 @@ releases/
# runtime volume data (never in image) # runtime volume data (never in image)
volumes/ volumes/
docker/volumes/
# OS files # OS files
.DS_Store .DS_Store
-3
View File
@@ -3,6 +3,3 @@
# Workflow changes require maintainer sign-off # Workflow changes require maintainer sign-off
.github/ @casjaysdevdocker .github/ @casjaysdevdocker
# Docker assets
docker/ @casjaysdevdocker
+1 -1
View File
@@ -48,7 +48,7 @@ jobs:
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0 - uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
with: with:
context: . context: .
file: docker/Dockerfile file: Dockerfile
push: ${{ github.event_name != 'pull_request' }} push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}
annotations: ${{ steps.meta.outputs.annotations }} annotations: ${{ steps.meta.outputs.annotations }}
+1 -1
View File
@@ -51,7 +51,7 @@ jobs:
- uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0 - uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
with: with:
context: . context: .
file: docker/Dockerfile file: Dockerfile
push: true push: true
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}
annotations: ${{ steps.meta.outputs.annotations }} annotations: ${{ steps.meta.outputs.annotations }}
-1
View File
@@ -56,7 +56,6 @@ default.env
# runtime volume data — never committed # runtime volume data — never committed
volumes/ volumes/
docker/volumes/
# Claude Code runtime files # Claude Code runtime files
.claude/settings.local.json .claude/settings.local.json
+2 -2
View File
@@ -49,10 +49,10 @@ COPY --from=jitsi-source /prosody-plugins-contrib /prosody-plugins-contrib
COPY --from=jitsi-source /usr/local/share/lua/5.4 /usr/local/share/lua/5.4 COPY --from=jitsi-source /usr/local/share/lua/5.4 /usr/local/share/lua/5.4
# Copy rootfs overlay (mirrors Linux FHS) # Copy rootfs overlay (mirrors Linux FHS)
COPY docker/rootfs/ / COPY rootfs/ /
# Copy Dockerfile into image for reference # Copy Dockerfile into image for reference
COPY docker/Dockerfile /root/Dockerfile COPY Dockerfile /root/Dockerfile
# Set ownership and permissions # Set ownership and permissions
RUN chown -R prosody:prosody /config /prosody-plugins-custom /prosody-plugins-contrib && \ RUN chown -R prosody:prosody /config /prosody-plugins-custom /prosody-plugins-contrib && \
+55 -12
View File
@@ -38,20 +38,63 @@ casjaysdevdocker/prosody:latest
## via docker-compose ## via docker-compose
```yaml ```yaml
version: "2" # nginx proxy address - http://172.17.0.1:5280
name: prosody
x-logging: &logging
driver: json-file
options:
max-size: 10m
max-file: "3"
services: services:
ProjectName: prosody:
image: casjaysdevdocker/prosody image: ghcr.io/casjaysdevdocker/prosody:latest
container_name: casjaysdevdocker-prosody pull_policy: always
environment:
- TZ=America/New_York
- HOSTNAME=prosody
volumes:
- "/srv/$USER/docker/casjaysdevdocker/prosody/prosody/latest/volumes/data:/data:z"
- "/srv/$USER/docker/casjaysdevdocker/prosody/prosody/latest/volumes/config:/config:z"
ports:
- 80:80
restart: always restart: always
logging: *logging
environment:
XMPP_DOMAIN: meet.jitsi
XMPP_AUTH_DOMAIN: auth.meet.jitsi
XMPP_GUEST_DOMAIN: guest.meet.jitsi
XMPP_MUC_DOMAIN: muc.meet.jitsi
XMPP_INTERNAL_MUC_DOMAIN: internal-muc.meet.jitsi
XMPP_HIDDEN_DOMAIN: hidden.meet.jitsi
JICOFO_AUTH_PASSWORD: ${JICOFO_AUTH_PASSWORD:?set in .env}
JVB_AUTH_PASSWORD: ${JVB_AUTH_PASSWORD:?set in .env}
ENABLE_AUTH: "0"
ENABLE_GUESTS: "0"
ENABLE_XMPP_WEBSOCKET: "1"
LOG_LEVEL: info
# internal = local accounts only; openfire = also accept Openfire accounts
ENABLE_REGISTRATION: "0"
AUTH_TYPE: internal
OPENFIRE_AUTH_ENABLED: "0"
OPENFIRE_AUTH_HOST: 172.17.0.1
OPENFIRE_AUTH_PORT: "5223"
OPENFIRE_AUTH_DOMAIN: ""
OPENFIRE_AUTH_EXCLUDE: focus,jvb,jibri,recorder
volumes:
- ./volumes/config:/config
ports:
- "5222:5222"
- "5280:5280"
- "5347:5347"
networks:
- prosody
healthcheck:
test: ["CMD", "/usr/local/bin/healthcheck.sh"]
interval: 30s
timeout: 10s
retries: 3
networks:
prosody:
driver: bridge
enable_ipv6: true
ipam:
config:
- subnet: fd00:5a:30::/64
``` ```
## Get source files ## Get source files
-57
View File
@@ -1,57 +0,0 @@
# nginx proxy address - http://172.17.0.1:5280
name: prosody
x-logging: &logging
driver: json-file
options:
max-size: 10m
max-file: "3"
services:
prosody:
image: ghcr.io/casjaysdevdocker/prosody:latest
pull_policy: always
restart: always
logging: *logging
environment:
XMPP_DOMAIN: meet.jitsi
XMPP_AUTH_DOMAIN: auth.meet.jitsi
XMPP_GUEST_DOMAIN: guest.meet.jitsi
XMPP_MUC_DOMAIN: muc.meet.jitsi
XMPP_INTERNAL_MUC_DOMAIN: internal-muc.meet.jitsi
XMPP_HIDDEN_DOMAIN: hidden.meet.jitsi
JICOFO_AUTH_PASSWORD: ${JICOFO_AUTH_PASSWORD:?set in .env}
JVB_AUTH_PASSWORD: ${JVB_AUTH_PASSWORD:?set in .env}
ENABLE_AUTH: "0"
ENABLE_GUESTS: "0"
ENABLE_XMPP_WEBSOCKET: "1"
LOG_LEVEL: info
# internal = local accounts only; openfire = also accept Openfire accounts
ENABLE_REGISTRATION: "0"
AUTH_TYPE: internal
OPENFIRE_AUTH_ENABLED: "0"
OPENFIRE_AUTH_HOST: 172.17.0.1
OPENFIRE_AUTH_PORT: "5223"
OPENFIRE_AUTH_DOMAIN: ""
OPENFIRE_AUTH_EXCLUDE: focus,jvb,jibri,recorder
volumes:
- ./volumes/config:/config
ports:
- "5222:5222"
- "5280:5280"
- "5347:5347"
networks:
- prosody
healthcheck:
test: ["CMD", "/usr/local/bin/healthcheck.sh"]
interval: 30s
timeout: 10s
retries: 3
networks:
prosody:
driver: bridge
enable_ipv6: true
ipam:
config:
- subnet: fd00:5a:30::/64
File renamed without changes.