Added Docker setup for pyfiche services
Introduced a Dockerfile to containerize pyfiche alongside its dependencies. The setup includes the latest Python, installs pyfiche from a Git repository, and utilizes Supervisord for process management. Supervisord is configured to manage three pyfiche services: server, recup, and lines, ensuring they start on boot and restart on failure. Exposed ports allow external access, and a persistent data volume ensures data continuity. This encapsulates the pyfiche environment, providing a robust and consistent deployment method.
This commit is contained in:
parent
debe84737d
commit
23071d36f2
2 changed files with 42 additions and 0 deletions
25
Dockerfile
Normal file
25
Dockerfile
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
FROM python:3.11
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
|
# Install pyfiche from the git repository
|
||||||
|
RUN pip install -U git+https://kumig.it/PrivateCoffee/pyfiche.git
|
||||||
|
|
||||||
|
# Install supervisord
|
||||||
|
RUN pip install supervisor
|
||||||
|
|
||||||
|
# Create a directory where pyfiche will store its data
|
||||||
|
RUN mkdir data
|
||||||
|
|
||||||
|
# Copy the supervisord configuration file into the container
|
||||||
|
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
|
||||||
|
|
||||||
|
# Expose the ports that pyfiche, recup, and lines will run on
|
||||||
|
EXPOSE 9999
|
||||||
|
EXPOSE 9998
|
||||||
|
EXPOSE 9997
|
||||||
|
|
||||||
|
# Use VOLUME to allow data persistence
|
||||||
|
VOLUME ["/usr/src/app/data"]
|
||||||
|
|
||||||
|
# Run supervisord to manage the services
|
||||||
|
CMD ["/usr/local/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]
|
17
supervisord.conf
Normal file
17
supervisord.conf
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
[supervisord]
|
||||||
|
nodaemon=true
|
||||||
|
|
||||||
|
[program:pyfiche-server]
|
||||||
|
command=pyfiche-server -o /usr/src/app/data
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
|
||||||
|
[program:pyfiche-recup]
|
||||||
|
command=pyfiche-recup -o /usr/src/app/data
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
|
||||||
|
[program:pyfiche-lines]
|
||||||
|
command=pyfiche-lines -o /usr/src/app/data
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
Loading…
Reference in a new issue