mirror of
https://github.com/matrix-org/pantalaimon.git
synced 2025-02-26 01:21:09 -05:00
Merge pull request #22 from matrix-org/travis-docker
Add a simple dockerfile (and other stuff for early bot support)
This commit is contained in:
commit
6b4f958d53
18
Dockerfile
Normal file
18
Dockerfile
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
FROM python:3.7-slim-stretch
|
||||||
|
|
||||||
|
# Many of these dependencies are required to build the app's dependencies, so staging these out doesn't help much
|
||||||
|
RUN mkdir -p /app
|
||||||
|
RUN apt-get update && apt-get install -y git gcc clang cmake pkg-config libdbus-1-dev libglib2.0-dev libcairo2-dev python3-dev libgirepository1.0-dev wget
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
RUN wget https://gitlab.matrix.org/matrix-org/olm/-/archive/master/olm-master.tar.bz2 \
|
||||||
|
&& tar -xvf olm-master.tar.bz2 \
|
||||||
|
&& cd olm-master && make && make PREFIX="/usr" install && cd ../ \
|
||||||
|
&& rm -r olm-master
|
||||||
|
|
||||||
|
COPY . /app
|
||||||
|
RUN pip install . PyGObject && python setup.py install
|
||||||
|
|
||||||
|
VOLUME /data
|
||||||
|
ENTRYPOINT ["pantalaimon"]
|
||||||
|
CMD ["-c", "/data/pantalaimon.conf", "--data-path", "/data"]
|
26
README.md
26
README.md
@ -67,6 +67,32 @@ cd notification-daemon-mac-py
|
|||||||
./notify.py
|
./notify.py
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Docker
|
||||||
|
|
||||||
|
An experimental Docker image can be built for Pantalaimon, primarily for use in bots.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker build -t pantalaimon .
|
||||||
|
# Create a pantalaimon.conf before running. The directory mentioned in the
|
||||||
|
# volume below is for where Pantalaimon should dump some data.
|
||||||
|
docker run -it --rm -v /path/to/pantalaimon/dir:/data -p 8008:8008 pantalaimon
|
||||||
|
```
|
||||||
|
|
||||||
|
An example `pantalaimon.conf` for Docker is:
|
||||||
|
```conf
|
||||||
|
[Default]
|
||||||
|
LogLevel = Debug
|
||||||
|
SSL = True
|
||||||
|
|
||||||
|
[local-matrix]
|
||||||
|
Homeserver = https://matrix.org
|
||||||
|
ListenAddress = 0.0.0.0
|
||||||
|
ListenPort = 8008
|
||||||
|
SSL = False
|
||||||
|
UseKeyring = False
|
||||||
|
IgnoreVerification = True
|
||||||
|
```
|
||||||
|
|
||||||
### Experimental E2E search support.
|
### Experimental E2E search support.
|
||||||
|
|
||||||
Pantalaimon can handle the search endpoint of a Matrix server as well, providing
|
Pantalaimon can handle the search endpoint of a Matrix server as well, providing
|
||||||
|
@ -128,8 +128,9 @@ async def message_router(receive_queue, send_queue, proxies):
|
|||||||
default=None,
|
default=None,
|
||||||
)
|
)
|
||||||
@click.option("-c", "--config", type=click.Path(exists=True))
|
@click.option("-c", "--config", type=click.Path(exists=True))
|
||||||
|
@click.option("--data-path", type=click.Path(exists=True))
|
||||||
@click.pass_context
|
@click.pass_context
|
||||||
def main(context, log_level, config):
|
def main(context, log_level, config, data_path):
|
||||||
loop = asyncio.get_event_loop()
|
loop = asyncio.get_event_loop()
|
||||||
|
|
||||||
conf_dir = user_config_dir("pantalaimon", "")
|
conf_dir = user_config_dir("pantalaimon", "")
|
||||||
@ -137,6 +138,7 @@ def main(context, log_level, config):
|
|||||||
create_dirs(data_dir, conf_dir)
|
create_dirs(data_dir, conf_dir)
|
||||||
|
|
||||||
config = config or os.path.join(conf_dir, "pantalaimon.conf")
|
config = config or os.path.join(conf_dir, "pantalaimon.conf")
|
||||||
|
data_dir = data_path or data_dir
|
||||||
|
|
||||||
if log_level:
|
if log_level:
|
||||||
log_level = parse_log_level(log_level)
|
log_level = parse_log_level(log_level)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user