Skip to content

HerrSammyDE/phpmyadmin-mysql-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

phpMyAdmin + MariaDB Docker Setup with SSL

Production-ready Docker setup for phpMyAdmin with MariaDB, Nginx Reverse Proxy and automatic Let's Encrypt SSL certificates.

🚀 Features

  • MariaDB - Latest version
  • phpMyAdmin - Web-based MySQL management
  • Automatic SSL - Let's Encrypt with auto-renewal
  • Nginx Reverse Proxy - With SSL termination
  • 1000MB Upload Limit - For large database imports
  • No Logs - Optimized for performance
  • Persistent Data - Docker volumes

📋 Requirements

  • Docker & Docker Compose installed
  • A domain pointing to your server
  • Ports 80 and 443 must be available

🔧 Installation

1. Clone repository

git clone https://github.com/HerrSammyDE/phpmyadmin-mysql-docker.git
cd phpmyadmin-mysql-docker

2. Configure environment variables

cp .env.example .env
nano .env

Adjust the following values:

MARIADB_ROOT_PASSWORD=YourSuperSecurePassword123!
DOMAIN=your-domain.com

3. Start

docker compose up -d

🌐 Access

After startup, phpMyAdmin is available at:

  • URL: https://your-domain.com
  • Username: root
  • Password: From .env file

The SSL certificate is automatically created and renews every 60 days.

📦 Services

Service Description Port
db MariaDB 3306 (internal)
phpmyadmin phpMyAdmin Web Interface 80 (internal)
nginx-proxy Nginx Reverse Proxy 80, 443
letsencrypt SSL Certificate Manager -

🛠️ Management

View logs

docker compose logs -f

Check status

docker compose ps

Restart containers

docker compose restart

Stop containers

docker compose down

Delete everything (including data!)

docker compose down -v

⚙️ Configuration

Change upload limit

Edit proxy.conf file:

client_max_body_size 2000M;  # Change value as needed

Then restart container:

docker compose restart nginx-proxy

🐛 Troubleshooting

SSL certificate is not created

  • Domain must point correctly to server
  • Ports 80 and 443 must be accessible
  • Check DNS records

Cannot access phpMyAdmin

docker compose logs phpmyadmin
docker compose logs nginx-proxy

Database connection failed

docker compose logs db
docker compose restart db

About

This is a simple docker-compose file to run a phpMyAdmin container and a MySQL container.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published