add docker build and compose
This commit is contained in:
1 parent
b958678f11
commit
ebd18dd234
11 files changed
+511
-12
No files matched your search
+65
@@ -0,0 +1,65 @@
|
||||
FROM python:3.13-slim-trixie
|
||||
|
||||
ENV LANG C.UTF-8
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
|
||||
LABEL \
|
||||
org.opencontainers.image.authors="Open Home Foundation" \
|
||||
org.opencontainers.image.description="Voice assistant for Home Assistant" \
|
||||
org.opencontainers.image.documentation="https://github.com/OHF-Voice/linux-voice-assistant/blob/main/README.md" \
|
||||
org.opencontainers.image.licenses="Apache-2.0" \
|
||||
org.opencontainers.image.source="https://github.com/OHF-Voice/linux-voice-assistant" \
|
||||
org.opencontainers.image.title="Linux-Voice-Assistant" \
|
||||
org.opencontainers.image.url="https://github.com/OHF-Voice/linux-voice-assistant"
|
||||
|
||||
### Install packages:
|
||||
# - avahi-utils: For zeroconf/mDNS discovery by Home Assistant
|
||||
# - pulseaudio-utils: Required by soundcard library for audio I/O
|
||||
# - alsa-utils: ALSA tools for audio device management
|
||||
# - pipewire-bin: Required for pipewire support
|
||||
# - pipewire-alsa: Required for pipewire support
|
||||
# - pipewire-pulse: Required for pipewire support
|
||||
# - build-essential: Required to compile pymicro-features
|
||||
# - libmpv-dev: Required by python-mpv for audio playback
|
||||
# - libasound2-plugins: Required by python-mpv for audio playback
|
||||
# - ca-certificates: For encrypted connections
|
||||
# - iproute2: For ss command in entrypoint (port check)
|
||||
# - procps: For pgrep in healthcheck
|
||||
RUN apt-get update && \
|
||||
apt-get install --yes --no-install-recommends \
|
||||
avahi-utils \
|
||||
pulseaudio-utils \
|
||||
alsa-utils \
|
||||
pipewire-bin \
|
||||
pipewire-alsa \
|
||||
pipewire-pulse \
|
||||
build-essential \
|
||||
libmpv-dev \
|
||||
libasound2-plugins \
|
||||
ca-certificates \
|
||||
iproute2 \
|
||||
procps && \
|
||||
apt-get clean
|
||||
|
||||
### Set workdir:
|
||||
WORKDIR /app
|
||||
|
||||
### Copy all application files:
|
||||
COPY script/ ./script/
|
||||
COPY pyproject.toml ./
|
||||
COPY setup.cfg ./
|
||||
COPY sounds/ ./sounds/
|
||||
COPY ../wakewords/ ./wakewords/
|
||||
COPY linux_voice_assistant/ ./linux_voice_assistant/
|
||||
COPY docker-entrypoint.sh ./
|
||||
|
||||
### Run installation:
|
||||
RUN chmod +x docker-entrypoint.sh
|
||||
RUN ./script/setup
|
||||
|
||||
### Set ports for ESPHome API:
|
||||
EXPOSE 6053
|
||||
|
||||
### Set start script:
|
||||
ENTRYPOINT ["./docker-entrypoint.sh"]
|
||||
Reference in new issue
Block a user