diff --git a/CONTAINER.md b/CONTAINER.md new file mode 100644 index 0000000..60dc445 --- /dev/null +++ b/CONTAINER.md @@ -0,0 +1,20 @@ +# Maintainer instructions on how to update the docker container + +Build the container + +`docker build .` + +Find the line in the output after the prod container has been built (it's the middle one after build and before dev), grab it's sha. +You can run `docker images` to check that it matches. + +Tag the image + +`docker tag codeberg.org/boxedtoast/slidgevoipms:latest ` + +Login to codeberg (if you haven't already) + +`docker login codeberg.org` + +Push the image + +`docker push codeberg.org/boxedtoast/slidgevoipms:latest` diff --git a/README.md b/README.md index bb35eb3..1e8da00 100644 --- a/README.md +++ b/README.md @@ -11,5 +11,4 @@ for general info on how to set up an XMPP server component. ### Containers -Containers are not available on docker.io yet, but can be built locally from the Dockerfile. -The docker-compose.yml will bring up a development instance of slidge and prosody. \ No newline at end of file +The container is available on codeberg. See the `docker-compose-prod.yml` for an example of how to pull it in. diff --git a/docker-compose.yml b/docker-compose-dev.yml similarity index 100% rename from docker-compose.yml rename to docker-compose-dev.yml diff --git a/docker-compose-prod.yml b/docker-compose-prod.yml new file mode 100644 index 0000000..541d0b4 --- /dev/null +++ b/docker-compose-prod.yml @@ -0,0 +1,11 @@ + slidgevoipms: + image: codeberg.org/boxedtoast/slidgevoipms:latest + container_name: slidgevoipms + restart: unless-stopped + networks: + - xmpp # should be the same one as your XMPP server + volumes: + - ./slidgevoipms.conf:/etc/slidge/conf.d/slidgevoipms.conf:ro + - ./slidgevoipmsattachments:/slidge-web # attachment directory + - ./slidgevoipmsdata:/var/lib/slidge:rw # slidge databases + diff --git a/slidgevoipms/gateway.py b/slidgevoipms/gateway.py index 76fa063..646f55b 100644 --- a/slidgevoipms/gateway.py +++ b/slidgevoipms/gateway.py @@ -57,7 +57,9 @@ class Gateway(BaseGateway): 'method': 'getDIDsInfo', 'content_type': 'json', }) as response: - json = await response.json() + # For whatever cursed reason, this call sometimes returns with + # text/html as the content type, so we disable the check + json = await response.json(content_type=None) if json['status'] == 'success': return else: