As a developer tool, monicahq/docker has picked up 259 stars on GitHub (Dockerfile). docker image of Monica
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
You can use Docker and docker-compose to pull or build
and run a Monica image, complete with a self-contained MySQL database.
This has the nice properties that you don't have to install lots of software directly onto your system, and you can be up and running
quickly with a known working environment.
For any help about how to install Docker, see their documentation
Use Monica docker image
There are two versions of the image you may choose from.
The apache tag contains a full Monica installation with an apache webserver. This points to the default latest tag too.
The fpm tag contains a fastCGI-Process that serves the web pages. This image should be combined with a webserver used as a proxy, like apache or nginx.
Using the apache image
This image contains a webserver that exposes port 80. Run the container with:
docker run -d -p 8080:80 monica
Using the fpm image
This image serves a fastCGI server that exposes port 9000. You may need an additional web server that can proxy requests to the fpm port 9000 of the container.
Run this container with:
docker run -d -p 9000:9000 monica:fpm
Persistent data storage
To have a persistent storage for your datas, you may want to create volumes for your db, and for monica you will have to save the /var/www/html/storage directory.
Run a container with this named volume:
docker run -d
-v monica_data:/var/www/html/storage
monica
Connect to a mysql database
Monica needs a database connection, and currently supports mysql/mariadb only. Run these to have a running environment:
If you want to use a mysql installation that already exists, you can pass the database environment variables directly into the docker run command, with DB_HOST indicating the IP address of the MySQL database. Ensure all permissions are granted to the user specified in the enviornment variable DB_USERNAME.
Wait until all migrations are done and then access Monica at http://localhost:8080/ from your host system.
If this looks ok, add your first user account.
Run commands inside the container
Like every Laravel application, the php artisan command is very usefull for Monica.
To run a command inside the container, run
docker exec CONTAINER_ID php artisan COMMAND
or for docker-compose
docker-compose exec monica php artisan COMMAND
where monica is the name of the service in your docker-compose.yml file.
Running the image with docker-compose
See some examples of docker-compose possibilities in the example section.
Apache version
This version will use the apache image and add a mysql container. The volumes are set to keep your data persistent. This setup provides no ssl encryption and is intended to run behind a proxy.
Make sure to pass in values for APP_KEY variable before you run this setup.
Set APP_KEY to a random 32-character string. You can for instance copy and paste the output of echo -n 'base64:'; openssl rand -base64 32.
Set a value for APP_KEY variable before you run this setup. You can for instance copy and paste the output of
echo -n 'base64:'; openssl rand -base64 32
Run
docker-compose up -d
Wait until all migrations are done and then access Monica at http://localhost:8080/ from your host system.
If this looks ok, add your first user account.
When using FPM image, you will need another container with a webserver to proxy http requests. In this example we use nginx with a basic container to do this.
Download nginx.conf and Dockerfile file for nginx image. An example can be found on the example section
Set a value for APP_KEY variable before you run this setup. You can for instance copy and paste the output of
echo -n 'base64:'; openssl rand -base64 32
Run
docker-compose up -d
Wait until all migrations are done and then access Monica at http://localhost:8080/ from your host system.
If this looks ok, add your first user account.
To expose your Monica instance for the internet, it's important to set APP_ENV=production in your .env file or environment variables. In this case https scheme will be mandatory.
Using a proxy webserver on the host
One way to expose your Monica instance is to use a proxy webserver from your host with SSL capabilities. This is possible with a reverse proxy.
Using a proxy webserver container
See some examples of docker-compose possibilities in the example section to show how to a proxy webserver with ssl capabilities.
The most recent commit recorded on monicahq/docker was 1.0 years ago, based on the GitHub push timestamp. The repository has 62 forks — one of the better signals of community interest.
Is monicahq/docker open source?
Yes — monicahq/docker ships under the GPL-2.0 license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/monicahq/docker.
What license does monicahq/docker use?
monicahq/docker is released under the GPL-2.0 license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
What topics is monicahq/docker associated with?
GitHub's repository topics for monicahq/docker: "docker", "docker-image", "docker-images", "dockerhub-image", "monica", "monica-image", "monica-server", "monicahq". TopGit's editorial category is Developer Tools.
Where can I see monicahq/docker in action?
The project maintains a homepage at https://hub.docker.com/_/monica/. The README tab on this page also usually contains screenshots and a quickstart.
Where do I read more about monicahq/docker?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/monicahq/docker is the definitive source.
Read full README in the tab above.
Is docker worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of docker.