16 Commits

Author SHA1 Message Date
Matthew Wild 21b5e2d19b Create directory for pidfile (usually created by init script) 2019-01-14 11:43:13 +00:00
Matthew Wild 4de30316aa Add lua5.2 for compatibility with 0.11 packages 2019-01-14 11:42:51 +00:00
Matthew Wild a60be883e9 Fix README to state new distribution base 2019-01-14 11:31:41 +00:00
Matthew Wild 72bf20f29f Update Dockerfile to Debian stretch 2019-01-14 11:28:19 +00:00
Matthew Wild 933be62950 README: Update to clarify intended usage of this repository 2018-04-26 18:24:58 +01:00
Kim Alvefur b186acf8ff Remove redundant LuaExpat package 2017-10-20 03:40:34 +02:00
Kim Alvefur 01bbe56547 Explicitly install some base requirements
These are in the Prosody debian package dependencies.
2017-10-20 03:39:45 +02:00
Kim Alvefur 67de3d1ecc Merge pull request #30 from chrw/fix-ca-certificates
Install ca-certificates package to fix s2s SSL errors.
2017-01-23 14:08:34 +01:00
Christian Wolff df16f5af7e Install ca-certificates package to fix s2s SSL errors. 2016-08-08 12:58:44 +02:00
Matthew Wild b98fdd49f4 build-docker.sh: Some small improvements for parameter handling 2016-03-11 17:37:41 +00:00
Matthew Wild c095ddd323 Dockerfile: chmod 755 the entrypoint, so we don't depend on the permissions of the build system, fixes #27 2016-03-11 15:51:35 +00:00
Matthew Wild 6d139045cf Merge pull request #28 from prosody/27-entrypoint.sh
Make `entrypoint.sh` executable
2016-03-09 11:13:37 +00:00
Lloyd Watkin b31d7c913e Make entrypoint.sh executable
Fixes #27
cc @mwild1
2016-03-09 08:52:23 +00:00
Matthew Wild d346e0912e Install lua-bitop, fixes #24 2016-02-04 19:24:01 +00:00
Matthew Wild 8bbb02e228 entrypoint.sh: If a command is passed to the image, run prosodyctl instead 2016-02-04 19:19:17 +00:00
Matthew Wild bed0d8e598 Run as user 'prosody', and run prosody instead of prosodyctl. Also set __FLUSH_LOG environment variable to tell Prosody it needs to flush its logs after writing. Fixes #23 and fixes #25. 2016-02-04 19:17:11 +00:00
5 changed files with 43 additions and 16 deletions
+19 -5
View File
@@ -3,16 +3,22 @@
# Based on ubuntu
################################################################################
FROM ubuntu:14.04
FROM debian:9
MAINTAINER Lloyd Watkin <lloyd@evilprofessor.co.uk>
MAINTAINER Prosody Developers <developers@prosody.im>
# Some dependencies in stretch are not suitable for Prosody 0.11.x, so add our repo
RUN echo "deb http://packages.prosody.im/debian stretch main" > /etc/apt/sources.list.d/prosody.list
ADD prosody_packages.gpg /etc/apt/trusted.gpg.d/prosody.gpg
# Install dependencies
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
lsb-base \
adduser \
libidn11 \
liblua5.1-expat0 \
libssl1.0.0 \
libssl1.1 \
lua-bitop \
lua-dbi-mysql \
lua-dbi-postgresql \
lua-dbi-sqlite3 \
@@ -23,7 +29,10 @@ RUN apt-get update \
lua-socket \
lua-zlib \
lua5.1 \
lua5.2 \
openssl \
ca-certificates \
ssl-cert \
&& rm -rf /var/lib/apt/lists/*
# Install and configure prosody
@@ -32,8 +41,13 @@ RUN dpkg -i /tmp/prosody.deb \
&& sed -i '1s/^/daemonize = false;\n/' /etc/prosody/prosody.cfg.lua \
&& perl -i -pe 'BEGIN{undef $/;} s/^log = {.*?^}$/log = {\n {levels = {min = "info"}, to = "console"};\n}/smg' /etc/prosody/prosody.cfg.lua
RUN mkdir -p /var/run/prosody && chown prosody:prosody /var/run/prosody
COPY ./entrypoint.sh /entrypoint.sh
RUN chmod 755 /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
EXPOSE 80 443 5222 5269 5347 5280 5281
CMD ["prosodyctl", "start"]
USER prosody
ENV __FLUSH_LOG yes
CMD ["prosody"]
+13 -5
View File
@@ -1,14 +1,22 @@
# Prosody Docker
# Docker build scripts for Prosody build server
This is the Prosody Docker image building repository. Its only really designed to be used on the Prosody build server for pushing to the [Docker registry](https://registry.hub.docker.com).
This is the Prosody Docker image building repository. It is used by our build server to build and publish Docker images for stable releases and nightly builds.
For images please see here: [Prosody on Docker](https://registry.hub.docker.com/u/prosody/prosody/).
**Note:** Using this Dockerfile outside of our build server is not a supported use-case. There are many
alternative Dockerfiles for Prosody available which can be used for this:
It works by coping in a recently built `deb` file and running the install on the system.
- [OpusVL/prosody-docker](https://github.com/OpusVL/prosody-docker/)
- [unclev/prosody-docker-extended](https://github.com/unclev/prosody-docker-extended)
## Published images
For images please see here: [Prosody on Docker](https://hub.docker.com/r/prosody/prosody/).
## Running
Docker images are built off an __Ubuntu 14.04 LTS__ base.
It works by copying in a recently built `deb` file and running the install on the system.
Docker images are built off an __Debian 9 (stretch)__ base.
```bash
docker run -d --name prosody -p 5222:5222 prosody/prosody
+6 -6
View File
@@ -1,4 +1,4 @@
# /bin/bash
#!/bin/bash
if [[ -z "$1" ]]; then
echo "Usage: ./build-docker.sh def_file_name version_number"
@@ -11,18 +11,18 @@ if [[ -z "$2" ]]; then
fi
echo "Starting build..."
cp $1 ./prosody.deb
docker build -t prosody/prosody:$2 .
cp "$1" ./prosody.deb
docker build -t prosody/prosody:"$2" .
for i in "${@:3}"; do
echo "Also building tag $i"
docker build -t prosody/prosody:$i .
docker build -t prosody/prosody:"$i" .
done
docker push prosody/prosody
echo "Cleaning up..."
docker rmi prosody/prosody:$2
docker rmi prosody/prosody:"$2"
for i in "${@:3}"; do
echo "Also cleaning tag $i"
docker rmi prosody/prosody:$i
docker rmi prosody/prosody:"$i"
done
rm ./prosody.deb
+5
View File
@@ -1,6 +1,11 @@
#!/bin/bash
set -e
if [[ "$1" != "prosody" ]]; then
exec prosodyctl $*
exit 0;
fi
if [ "$LOCAL" -a "$PASSWORD" -a "$DOMAIN" ] ; then
prosodyctl register $LOCAL $DOMAIN $PASSWORD
fi
Binary file not shown.