Install AdminerEvo with Docker – Custom Image with Nginx Basic Auth and Logo Link Fix

Learn how to install AdminerEvo using Docker, add Nginx Basic Auth for secure access, and fix the logo link issue with a custom Docker image for a smoother and safer database management experience.

Install AdminerEvo with Docker – Custom Image with Nginx Basic Auth and Logo Link Fix

1. What Is AdminerEvo?

AdminerEvo is a community-driven enhanced version of the popular database management tool Adminer.
It’s a lightweight PHP-based web application that allows you to easily manage databases such as MySQL, PostgreSQL, SQLite, and more through an intuitive web interface.

While the original Adminer gained fame for being a single PHP file—making deployment extremely simple—AdminerEvo extends that philosophy with improved UI, plugin support, theme customization, and stronger security features.

However, the default Docker image for AdminerEvo lacks one crucial component: Basic Authentication (Basic Auth).
This means anyone who knows the endpoint URL can access the login screen, posing a significant security risk in production environments.

To solve this, I created a custom Docker image that includes Basic Auth support and a fixed logo link, ensuring that your setup is both secure and user-friendly.


2. Why Was a Custom Version Needed?

When you first deploy AdminerEvo, you’ll notice a few inconvenient issues:

  1. No Built-in Authentication
    By default, AdminerEvo doesn’t restrict access before the login page.
    This is fine for local or internal use but dangerous when exposed to the internet.
  2. Broken Logo Link
    The default logo link doesn’t take you back to your AdminerEvo home page.
    For example, if you’re hosting AdminerEvo at adminerevo.codr.kr, you might expect the logo to return you to the home page,
    but instead, it may redirect to the official AdminerEvo site or a random relative path.

To address these issues, I created and published a custom Docker image with these fixes included.

👉 Docker Hub Repository: https://hub.docker.com/r/wodykr/adminerevo


3. Custom Docker Image Overview

The custom AdminerEvo image includes two major improvements that make it more practical for production use:

  • Nginx Basic Auth Support
    When the environment variables AUTH_USER and AUTH_PASSWORD are set,
    Basic Authentication is automatically enabled to protect the interface.
  • Logo Link Fix
    The ADMINEREVO_URL environment variable lets you define a custom URL that the AdminerEvo logo will redirect to.
    This ensures your users return to the intended home page instead of an incorrect external link.

These two additions significantly enhance both security and usability for everyday operations.


4. Example Folder Structure

Here’s an example of a clean and organized folder layout for your AdminerEvo setup:

adminerevo-setup/
├── docker-compose.yaml
├── plugins/
└── themes/

By mounting the plugins and themes directories,
you can easily add or modify your own plugins and design themes without changing the core container.


5. docker-compose.yaml Configuration

Now let’s set up a working Docker Compose configuration to run AdminerEvo with authentication and logo fix support.

services:
  adminerevo:
    image: wodykr/adminerevo:v4.8.4   # or use :latest
    container_name: adminerevo
    restart: unless-stopped
    environment:
      TZ: Asia/Seoul   # Timezone configuration
      AUTH_USER: "wody"                   # Basic Auth username
      AUTH_PASSWORD: "StrongPass123!"     # Basic Auth password
      ADMINEREVO_URL: "https://wody.kr"   # Logo redirect URL
    volumes:
      - ./plugins:/var/www/html/plugins:ro
      - ./themes:/var/www/html/designs:ro
    ports:
      - "8080:80"

Key Points

  • restart: unless-stopped
    Ensures the container automatically restarts if it stops unexpectedly.
  • AUTH_USER / AUTH_PASSWORD
    Both variables must be set for Basic Auth to activate.
    For added security, consider moving sensitive credentials into a .env file.
  • ADMINEREVO_URL
    Specifies the destination URL for the AdminerEvo logo link.
    Be sure to include the full protocol (http:// or https://).

6. Optional: Nginx Reverse Proxy Setup

If you don’t want to expose AdminerEvo directly to the public internet,
it’s a good idea to place it behind an Nginx reverse proxy for enhanced security and better control.

Here’s an example Nginx configuration:

server {
    server_name adminerevo.example.com;

    location / {
        proxy_pass http://adminerevo:80;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # Optional: Enable HTTPS with Let's Encrypt
    listen 443 ssl;
    ssl_certificate /etc/letsencrypt/live/adminerevo.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/adminerevo.example.com/privkey.pem;
}

If you use Nginx Proxy Manager (NPM), you can set this up through a simple UI.
In that case, you can omit the ports mapping in Docker Compose and instead connect the container to the same external network as NPM (for example: edge: external: true).


7. Deployment and Execution

Once everything is configured, simply run:

docker-compose up -d

After deployment, open your browser and visit:

https://example.com:8080

Or after Nginx Proxy Manager setting:

https://adminerevo.example.com

You’ll first see a Basic Auth login screen.
After entering your credentials, the AdminerEvo interface will appear, and clicking the logo will return you to the correct homepage as intended.


8. Security Best Practices

Here are a few additional recommendations for maintaining a secure and stable AdminerEvo deployment:

  • Hide Credentials with Environment Variables
    Store your passwords safely in a .env file instead of hardcoding them in docker-compose.yaml.
  • Use HTTPS (TLS)
    Implement HTTPS using Nginx or Cloudflare to encrypt all traffic and protect sensitive database credentials.
  • Restrict IP Access
    If AdminerEvo is meant for internal use, restrict access by allowing only trusted IPs in your Nginx configuration.

9. Extending with Plugins and Themes

One of AdminerEvo’s strengths lies in its extensibility.
By placing custom PHP files in the plugins/ directory, you can enhance functionality easily.

Recommended Plugins:

  • Tables Filter – Add advanced table search and filtering capabilities
  • SQL Highlight – Syntax highlighting for SQL queries
  • Dark Theme – A visually comfortable dark interface for late-night database work

Themes can be customized as well by editing files in the themes/ (or designs/) directory.


10. Conclusion

The custom image wodykr/adminerevo enhances the simplicity of AdminerEvo while adding essential features for real-world usage—authentication and logo link customization.

With just one Docker Compose file, you can now achieve:

  • Improved security through Basic Auth
  • Convenient branding via custom logo redirection
  • Easy maintenance with volume-mounted plugins and themes

If you’re already using AdminerEvo, switching to this image can make your environment much safer and more professional without sacrificing its lightweight nature.


Frequently Asked Questions (FAQ)

Q1. Does Basic Auth work if I only set AUTH_USER?
A1. No. Both AUTH_USER and AUTH_PASSWORD must be defined for Basic Auth to activate.

Q2. How can I enable HTTPS?
A2. Configure an Nginx reverse proxy and integrate Let’s Encrypt SSL certificates for free HTTPS encryption.

Q3. Can I redirect the logo to a subpath or internal page?
A3. Yes. Simply set the ADMINEREVO_URL environment variable to an absolute path or internal route.

Q4. Can I run AdminerEvo without Docker Compose?
A4. Yes, here’s a one-line Docker command to start it:

docker run -d -p 8080:80 -e AUTH_USER=wody -e AUTH_PASSWORD=StrongPass123! wodykr/adminerevo:latest

Q5. What happens if I don’t mount the plugins folder?
A5. Only the default built-in plugins will load.
Custom plugins won’t be detected unless mounted.

Q6. How do I update AdminerEvo to the latest version?
A6. Pull the latest image and restart the container:

docker pull wodykr/adminerevo:latest
docker-compose up -d

Reference:
👉 Official AdminerEvo GitHub Repository