Deploying Monica CRM with Nginx via Portainer
In this tutorial, we’ll walk through the process of deploying Monica CRM using Nginx, all managed via Portainer. From setting up the Monica docker container to configuring Nginx for SSL, we’ve got you covered. Follow the steps below to get started!
Monica Docker Container Setup:
Copy the Monica docker compose file from below.
Generate a 32-character encryption key using a password generator.
Update the APP_KEY, DB_PASSWORD, and APP_URL in the docker compose config.
Deploy the stack in Portainer.
Wait for the containers to launch and the database to initialize.
NGINX Proxy Docker Container Setup:
Ensure ports 80 and 443 are forwarded in your router or firewall.
Copy the nginx docker compose file from below.
Deploy the nginx stack in Portainer.
Access the nginx interface on port 81 and set up your proxy host.
Request an SSL certificate for secure access.
Monica Docker Compose:
GitHub.com/monicahq/docker
version: “3.4”
services:
app:
image: monica
depends_on:
– db
ports:
– 8080:80
environment:
– APP_KEY=
– DB_HOST=db
– DB_USERNAME=monicadb
– DB_PASSWORD=DBPASSWORD
– APP_URL=https://YOURURLHERE
– APP_ENV=production
volumes:
– data:/var/www/html/storage
restart: always
db:
image: mysql:5.7
environment:
– MYSQL_RANDOM_ROOT_PASSWORD=true
– MYSQL_DATABASE=monica
– MYSQL_USER=monicadb
– MYSQL_PASSWORD=DBPASSWORD
volumes:
– mysql:/var/lib/mysql
restart: always
volumes:
data:
name: data
mysql:
name: mysql
Nginx Docker Compose:
version: “2.2”
services:
proxy-manager:
image: jc21/nginx-proxy-manager:latest
restart: unless-stopped
ports:
– 80:80
– 81:81
– 443:443
volumes:
– nginxdata:/data
– nginxssl:/etc/letsencrypt
volumes:
nginxdata:
name: nginxdata
nginxssl:
name: nginxssl
#MonicaCRMSetup
#NginxDockerTutorial
#PortainerGuide
#SelfHostedCRM
#StevesTechStuff