ProxCP Daemon w/ Docker
From ProxCP Documentation
ProxCP Daemon v1.5 or higher now supports Docker. Docker allows ProxCP Daemon to run in its own container independent of other software. This makes management and updating very simple.
The ProxCP Daemon docker image includes NodeJS, PHP, Apache, MariaDB/MySQL client, and ProxCP Daemon all installed on Debian 10.
Steps
- Install docker engine on the host server (how?)
- Once completed, pull the ProxCP Daemon image with
docker pull proxcp/proxcp-daemon-v16-nodev12
- Confirm you see the new image with
docker images
- Start a new docker container from the ProxCP Daemon image
docker run --name daemon -p 80:80 -p 8000:8000 -d proxcp/proxcp-daemon-v16-nodev12
- You should now see a running container
docker ps
- Enter the container
docker exec -it daemon /bin/bash
- You are now dropped into the container as root in /etc/proxcp. From here, run
./proxcp-daemon
to complete initial ProxCP Daemon configuration - After setup, kill the Daemon with ^C (Ctrl-C) and make it persistent with
forever start -a -l forever.log -e err.log -c /bin/bash RUN.sh
- You can now exit the container and the Daemon will continue running; verify with
docker ps
Notes
- The container includes Apache running on port 80 for Let's Encrypt SSL verification. Apache must always be running for the docker container to remain active.
- Be sure to run the Daemon with
forever
after initial setup to make the process persistent. - The container exposes port 8000 for the Daemon by default. This can be changed if necessary.
- In general, you should use 0.0.0.0 as the public IP address of the Daemon during setup.
- Exposed Container Ports:
- 80: required, not editable, Apache
- 8000: required, editable, Daemon
- Other ports can be added if necessary, such as if you're using SMTP for outbound email from the Daemon