Fix and doc container
All checks were successful
/ test (push) Successful in 5s

This commit is contained in:
phil 2024-12-05 05:41:57 +01:00
parent d669251515
commit 087a343ebc
5 changed files with 19 additions and 15 deletions

View file

@ -3,15 +3,13 @@
Use `podman` or `docker`: Use `podman` or `docker`:
```sh ```sh
podman run tiptop:5000/sms_handler podman run registry.philo.ydns.eu/philo/sms_handler
``` ```
**Note**: the container is not published publicly yet! Parameters are given as environment variables, eg.:
Pass parameters like this:
```sh ```sh
podman run -e SMS_HANDLER_MAIL_SERVER_PORT=8025 -e SMS_HANDLER_MAIL_SENDER=snoopy@peanuts.com SMS_HANDLER_MAIL_TO=snoopy@peanuts.com tiptop:5000/sms_handler podman run -e SMS_HANDLER_MAIL_SERVER_PORT=8025 -e SMS_HANDLER_MAIL_SENDER=snoopy@peanuts.com SMS_HANDLER_MAIL_TO=snoopy@peanuts.com registry.philo.ydns.eu/philo/sms_handler
``` ```
## Container as a systemd service ## Container as a systemd service
@ -20,14 +18,15 @@ Systemd can "orchestrate" containers easily thanks to podman.
### Rootless (as regular user) ### Rootless (as regular user)
For a rootless container, create a file in `.config/containers/systemd/sms-handler.container`: For a rootless container, create a file in `.config/containers/systemd/sms-handler.container`.
The configuration is given as environment variables (email addresses `snoopy@peanuts.com` in this example):
```systemd ```systemd
[Container] [Container]
ContainerName=sms-handler ContainerName=sms-handler
Environment=SMS_HANDLER_MAIL_SENDER=snoopy@peanuts.com Environment=SMS_HANDLER_MAIL_SENDER=snoopy@peanuts.com
Environment=SMS_HANDLER_MAIL_TO=snoopy@peanuts.com Environment=SMS_HANDLER_MAIL_TO=snoopy@peanuts.com
Image=tiptop:5000/sms_handler Image=registry.philo.ydns.eu/philo/sms_handler
Network=podman Network=podman
PublishPort=8025:8025 PublishPort=8025:8025
@ -65,7 +64,7 @@ For a rootless container, create a file in `/etc/containers/systemd/sms-handler.
ContainerName=sms-handler ContainerName=sms-handler
Environment=SMS_HANDLER_MAIL_SENDER=snoopy@peanuts.com Environment=SMS_HANDLER_MAIL_SENDER=snoopy@peanuts.com
Environment=SMS_HANDLER_MAIL_TO=snoopy@peanuts.com Environment=SMS_HANDLER_MAIL_TO=snoopy@peanuts.com
Image=tiptop:5000/sms_handler Image=registry.philo.ydns.eu/philo/sms_handler
Network=podman Network=podman
PublishPort=8025:8025 PublishPort=8025:8025
@ -87,4 +86,3 @@ Start the container as a service:
```sh ```sh
sudo systemctl start sms-handler.service sudo systemctl start sms-handler.service
``` ```

View file

@ -1,4 +1,4 @@
# Build: podman build -t sms-handler -f Containerfile # Build: podman build -t registry.philo.ydns.eu/philo/sms_handler -f Containerfile
FROM docker.io/python:3.12-alpine FROM docker.io/python:3.12-alpine
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/ COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/
@ -9,6 +9,6 @@ ENV SMS_HANDLER_MAIL_SERVER=host.containers.internal
COPY . /src COPY . /src
WORKDIR /src WORKDIR /src
RUN uv sync --frozen --no-cache RUN uv sync --frozen --no-cache && uv pip install --system .
CMD .venv/bin/fastapi run server.py --port ${PORT} --host ${LISTEN_ADDR} CMD sms-handler --port ${PORT} --host ${LISTEN_ADDR}

View file

@ -108,6 +108,13 @@ Restart=on-failure
WantedBy=default.target WantedBy=default.target
``` ```
### Run in a container
*Sms-handler* is also packaged as a container for running with *docker*,
*podman*, or *Kunernetes*.
See `CONTAINER.md` for the details.
## Run behind a reverse proxy ## Run behind a reverse proxy
*sms-handler* can run behind a reverse proxy (Nginx, Apache, Lighttpd, HAProxy, Caddy, Traefik, etc), *sms-handler* can run behind a reverse proxy (Nginx, Apache, Lighttpd, HAProxy, Caddy, Traefik, etc),
@ -163,4 +170,3 @@ for notification on various devices and automation.
*sms-handler* is BSD licensed. Suggestions and contributions are welcome. *sms-handler* is BSD licensed. Suggestions and contributions are welcome.
<a href="https://liberapay.com/Philo/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a> <a href="https://liberapay.com/Philo/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a>

View file

@ -1,6 +1,6 @@
[project] [project]
name = "sms_handler" name = "sms_handler"
version = "0.0.4" version = "0.0.5"
#dynamic = ["version"] #dynamic = ["version"]
description = "Listen to messages from the SMS Forwarder app on Android and send mail" description = "Listen to messages from the SMS Forwarder app on Android and send mail"
readme = "README.md" readme = "README.md"

2
uv.lock generated
View file

@ -255,7 +255,7 @@ wheels = [
[[package]] [[package]]
name = "sms-handler" name = "sms-handler"
version = "0.0.1" version = "0.0.4"
source = { editable = "." } source = { editable = "." }
dependencies = [ dependencies = [
{ name = "aiosmtplib" }, { name = "aiosmtplib" },