Regardless of what stack you use (Docker Compose, Kubernetes, etc.), downloading Canasta will clone the appropriate Docker images (for CanastaBase and Canasta), which are pre-built, not the original code repositories. The source code for these Docker images could technically be used to build them locally, but there is no benefit to doing that - unless you are planning to do development on that code.
Canasta (really, CanastaBase) uses Apache because the Wikimedia Foundation uses Apache to run Wikipedia and its other projects. Sticking as close to the Wikimedia Foundation's technology stack as possible gives the best chance of running MediaWiki without bugs, now and in the future.
At the moment, the CanastaBase image does not offer an Nginx flavor. However, anyone is welcome to make a derivative image of Canasta (instructions to do this are on another page) and replace Apache with Nginx as desired.
docker-compose
doesn't work because it says Docker isn't running.If you are using Ubuntu, you need to add sudo
before all docker
and docker-compose
commands.
This is an error that Varnish returns. In this case, it is most likely because it cannot access the Canasta container (containing Apache, PHP, MediaWiki, etc.) Wait a few minutes for it to go away. If after 10 minutes it does not go away, try to restart your Canasta stack (docker-compose down && docker-compose up -d
).
This probably means your .env
file doesn't exist. Use .env.example
as a starting point and change things as necessary.
You may see an error message like this:
ERROR: for db Cannot start service db: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:76: mounting "/home/ubuntu/Canasta-DockerCompose/_initdb" to rootfs at "/docker-entrypoint-initdb.d" caused: mount through procfd: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
This probably means your _initdb
directory either doesn't exist or you named your SQL dump _initdb
rather than putting it into a directory called _initdb
. Delete whatever you had, (re)create the _initdb
directory, add your SQL dump into it, and delete all volumes created. Run docker volume ls
and use docker volume rm
to delete those volumes.
_initdb
?You likely initialized Canasta already by starting it with docker-compose up -d
, then placed the SQL file in _initdb
. Please delete your MySQL data volume and place the SQL file in _initdb
before trying to start Canasta again. Run docker volume ls
and use docker volume rm
to delete those volumes.