|Charles Reid 2d2d3bac19 update nginx submodule gitignore||2 weeks ago|
|d-gitea @ c13c31ea73||4 weeks ago|
|d-mediawiki @ bdc99600b9||2 weeks ago|
|d-mysql @ 4bd88e74c1||7 months ago|
|d-nginx-charlesreid1 @ d8ee0555ed||2 weeks ago|
|d-phpmyadmin @ e84de96196||7 months ago|
|d-python-files @ 473b497e28||7 months ago|
|docs||4 weeks ago|
|mkdocs-material @ b0c6890853||8 months ago|
|scripts||3 weeks ago|
|utils-backup||2 months ago|
|utils-gitea||2 months ago|
|utils-mw||2 months ago|
|utils-mysql||2 months ago|
|.gitignore||1 year ago|
|.gitmodules||11 months ago|
|LICENSE||1 year ago|
|README.md||4 weeks ago|
|TODO.md||1 year ago|
|docker-compose.fixme.yml||1 month ago|
|docker-compose.yml.j2||3 weeks ago|
|mkdocs.yml||7 months ago|
|update_submodules.sh||11 months ago|
This repo contains a docker compose file for running the charlesreid1.com site.
The services available through pod-charlesreid1 are:
See the documentation site here: https://pages.charlesreid1.com/pod-charlesreid1
Source code on git.charlesreid1.com: https://git.charlesreid1.com/docker/pod-charlesreid1
Source code on github.com: https://github.com/charlesreid1-docker/pod-charlesreid1
From your project directory, start up the pod:
$ docker-compose up
If you want to rebuild the images (if you changed the Dockerfile),
$ docker-compose up --build
If you only want to rebuild the images without starting the Docker pod, use the build verb:
$ docker-compose build
And finally, if you want to rebuild every container from scratch,
rather than using cached data (note that this may take a while),
$ docker-compose build --no-cache
See Running.md for info about running this docker pod:
See Volumes.md for info about data and volumes used by this docker pod:
There are a number of directories containing utility scripts - these are mostly dedicated to creating backups of any non-version-controlled data inside the container.
See Backups.md for coverage of backup and utility scripts.
utils-backups - backup utilities (for cron jobs)
utils-mw - mediawiki backup utilities
utils-mysql mysql backup utilities
See Domains and Ports.md for info about top-level domain names and ports used by this docker pod.
The domains ports document covers:
The apache-mediawiki combination is running an apache service listening on port 8989.
This can be adjusted, but should be adjusted in the Dockerfile,
The apache service listens on all interfaces (hence
*:8989 in the apache conf file),
but there is no port mapping specified in
docker-compose.yml so it does not listen
on any public interfaces.
Thus, the wiki is not publicly accessible via port 8989, but the wiki is available via port 8989 to any container linked to, or connected to the same network as, the mediawiki apache container.
Meanwhile, the nginx container has a public interface listening on port 80
and another listening on port 443. nginx listens for requests going to
the wiki, detected via the url resource prefix being
and acts as a reverse proxy, forwarding the requests to Apache.
The user transparently sees everything happening via port 80 or (preferrably) 443, but on the backend nginx is passing along the URL request and returning the result.
Subdomains are served via reverse proxy on port 7777+.
The webhook server is a flask server listening on port 50000.
See Secrets.md for more info about getting secrets like passwords and sensitive files into various containers in the pod.
The important bit: we use
root.password to store the password, and pass it
into containers as an environment variable. Only this top-level pod-charlesreid1
repo should use the file
Details covered on the secrets page:
Each container has a different way of getting configuration files into the container. In the following documents we cover the specifics of each container.
docker compose documentation: