The stack repo, regardless of which type you choose (Docker Compose, Kubernetes, etc.), will clone the appropriate Docker image, which is pre-built for your convenience and will be pulled when you first start up Canasta. The source code could technically be used to build the Docker image, but that is really not necessary; that would be like building your own binary from source code instead of just downloading the binary provided to you by the developers.
Canasta uses Apache because the Wikimedia Foundation uses Apache to run Wikipedia and its other projects. By sticking as close to the Wikimedia Foundation's technology stack as possible, we get the best chance at running MediaWiki without bugs and in a sustainably maintainable way.
At the moment, the base Canasta 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.