From 33464204d4ccc00877386b392732676fa3ca2e41 Mon Sep 17 00:00:00 2001 From: Nick Yeoman Date: Tue, 14 Jul 2026 23:19:54 -0700 Subject: [PATCH] updated template for gui db --- adminer_dev/README.md | 56 +++++++++++++++++++++++++- adminer_dev/compose.yaml | 25 ++++++++++++ adminer_dev/docker-compose.yml | 13 ------ adminer_dev/sample.env | 11 +++-- phpmyadmin_dev/README.md | 67 ++++++++++++++++++++++++++++--- phpmyadmin_dev/compose.yaml | 26 ++++++++++++ phpmyadmin_dev/docker-compose.yml | 13 ------ phpmyadmin_dev/sample.env | 14 +++---- 8 files changed, 180 insertions(+), 45 deletions(-) create mode 100644 adminer_dev/compose.yaml delete mode 100644 adminer_dev/docker-compose.yml create mode 100644 phpmyadmin_dev/compose.yaml delete mode 100644 phpmyadmin_dev/docker-compose.yml diff --git a/adminer_dev/README.md b/adminer_dev/README.md index 7adeaf6..3f73676 100644 --- a/adminer_dev/README.md +++ b/adminer_dev/README.md @@ -1,4 +1,56 @@ # Adminer -Work in Progress, dockerhub says unmaintained. -Db gui \ No newline at end of file +## Overview + +Adminer is a full-featured database management tool in a single PHP file. This stack runs Adminer with a tmpfs-backed PHP session directory — no persistent storage required. + +## Project Details + +- **Project Repository:** [https://github.com/vrana/adminer](https://github.com/vrana/adminer) +- **Container Image:** [Docker Hub](https://hub.docker.com/_/adminer) +- **Documentation:** [https://www.adminer.org/](https://www.adminer.org/) +- **Reverse Proxy Port:** `8080` + +## Getting Started + +1. Start the container: `docker compose up -d` +2. Open http://localhost:${ADMINER_PORT:-8082} and enter your database credentials + +## Environment Variable Notes + + ADMINER_DEFAULT_SERVER – default database host shown in the login form (default: mariadb) + +## Volume Notes + +No persistent volumes — PHP session data is stored on a tmpfs mount. + +## Network Notes + +Requires the external `proxy` network (Nginx Proxy Manager). An internal bridge network `internal` is available for connecting to database containers. + +## Docker Run + +```bash +docker run -d \ + --name adminer \ + --tmpfs /var/lib/php:rw,noexec,nosuid,size=64M \ + -e ADMINER_DEFAULT_SERVER=mariadb \ + -p 8082:8080 \ + --network proxy \ + adminer:latest +``` + +## Additional Notes / Gotchas + +- Adminer is a single-script PHP app with no config file — all settings are passed via environment variables at runtime. + +## Dockhand Stack, Deploy from Git + +Cookbooks Repository +stackname: ADMINER_DEV +Compose file path: adminer_dev/compose.yaml +Additional env file (optional): adminer_dev/sample.env + +Then "Load" adminer_dev/sample.env into the Environmental variables in dockhand + +Create the Stack diff --git a/adminer_dev/compose.yaml b/adminer_dev/compose.yaml new file mode 100644 index 0000000..cc20f1c --- /dev/null +++ b/adminer_dev/compose.yaml @@ -0,0 +1,25 @@ +# Adminer + +services: + adminer: + image: ${ADMINER_IMAGE:-adminer:latest} + restart: ${ADMINER_RESTART:-unless-stopped} + + tmpfs: + - /var/lib/php:rw,noexec,nosuid,size=64M + + environment: + - ADMINER_DEFAULT_SERVER=${ADMINER_DEFAULT_SERVER:-mariadb} + + ports: + - "${ADMINER_PORT:-8082}:8080" + + networks: + - proxy + - internal + +networks: + proxy: + external: true + internal: + driver: bridge diff --git a/adminer_dev/docker-compose.yml b/adminer_dev/docker-compose.yml deleted file mode 100644 index bf05519..0000000 --- a/adminer_dev/docker-compose.yml +++ /dev/null @@ -1,13 +0,0 @@ -services: - - adminer: - image: adminer:latest - container_name: adminer - environment: - ADMINER_DEFAULT_SERVER: ${ADMINER_DEFAULT_SERVER:-mariadb} - restart: unless-stopped - security_opt: - - no-new-privileges:true - read_only: true - tmpfs: - - /var/lib/php:rw,noexec,nosuid,size=64M diff --git a/adminer_dev/sample.env b/adminer_dev/sample.env index a139f2a..d8786ba 100644 --- a/adminer_dev/sample.env +++ b/adminer_dev/sample.env @@ -1,6 +1,9 @@ -COOKBOOK=/git/docker-compose-cookbooks #HELP: cookbooks -VOL_PATH=./data/ #HELP: volpath -TZ="America/Vancouver" +# ===== Paths ===== +VOL_PATH=/data +VOL_PROJECTS=/data/projects -# ADMINER +# ===== Adminer ===== +ADMINER_IMAGE=adminer:latest +ADMINER_RESTART=unless-stopped +ADMINER_PORT=8082 ADMINER_DEFAULT_SERVER=mariadb diff --git a/phpmyadmin_dev/README.md b/phpmyadmin_dev/README.md index ebffd64..4cc836a 100644 --- a/phpmyadmin_dev/README.md +++ b/phpmyadmin_dev/README.md @@ -1,10 +1,65 @@ -# phpmyadmin - -Last Updated: Mon September 02, 2024 23:27:25 PDT +# phpMyAdmin ## Overview -Docker Hub: https://hub.docker.com/r/phpmyadmin/phpmyadmin/tags -Proxy Port: 80 +phpMyAdmin is a web-based MySQL/MariaDB database administration tool. This stack runs phpMyAdmin with arbitrary server connection support. -Not for production, there is no password protection by default. \ No newline at end of file +## Project Details + +- **Project Repository:** [https://github.com/phpmyadmin/phpmyadmin](https://github.com/phpmyadmin/phpmyadmin) +- **Container Image:** [Docker Hub](https://hub.docker.com/r/phpmyadmin/phpmyadmin) +- **Documentation:** [https://www.phpmyadmin.net/docs/](https://www.phpmyadmin.net/docs/) +- **Reverse Proxy Port:** `80` + +## Getting Started + +1. Start the container: `docker compose up -d` +2. Open http://localhost:${PHPMYADMIN_PORT:-8083} in your browser +3. Log in with your database credentials + +## Environment Variable Notes + + PHPMYADMIN_PMA_ARBITRARY – allow connecting to any database server (default: 1) + PHPMYADMIN_PMA_HOST – default database host (default: mariadb) + PHPMYADMIN_PMA_USER – default database user (default: root) + PHPMYADMIN_PMA_PASSWORD – default database password (default: changeme) + PHPMYADMIN_UPLOAD_LIMIT – maximum upload size (default: 200M) + +## Volume Notes + +No persistent volumes required. + +## Network Notes + +Requires the external `proxy` network (Nginx Proxy Manager). An internal bridge network `internal` is available for connecting to database containers. + +## Docker Run + +```bash +docker run -d \ + --name phpmyadmin \ + -e PMA_ARBITRARY=1 \ + -e PMA_HOST=mariadb \ + -e PMA_USER=root \ + -e PMA_PASSWORD=changeme \ + -e UPLOAD_LIMIT=200M \ + -p 8083:80 \ + --network proxy \ + phpmyadmin/phpmyadmin:latest +``` + +## Additional Notes / Gotchas + +- Not for production use — there is no built-in authentication layer beyond the database credentials. +- Set `PMA_ARBITRARY=1` to connect to any database server by hostname at login time. + +## Dockhand Stack, Deploy from Git + +Cookbooks Repository +stackname: PHPMYADMIN_DEV +Compose file path: phpmyadmin_dev/compose.yaml +Additional env file (optional): phpmyadmin_dev/sample.env + +Then "Load" phpmyadmin_dev/sample.env into the Environmental variables in dockhand + +Create the Stack diff --git a/phpmyadmin_dev/compose.yaml b/phpmyadmin_dev/compose.yaml new file mode 100644 index 0000000..caf1941 --- /dev/null +++ b/phpmyadmin_dev/compose.yaml @@ -0,0 +1,26 @@ +# phpMyAdmin + +services: + phpmyadmin: + image: ${PHPMYADMIN_IMAGE:-phpmyadmin/phpmyadmin:latest} + restart: ${PHPMYADMIN_RESTART:-unless-stopped} + + environment: + - PMA_ARBITRARY=${PHPMYADMIN_PMA_ARBITRARY:-1} + - PMA_HOST=${PHPMYADMIN_PMA_HOST:-mariadb} + - PMA_USER=${PHPMYADMIN_PMA_USER:-root} + - PMA_PASSWORD=${PHPMYADMIN_PMA_PASSWORD:-changeme} + - UPLOAD_LIMIT=${PHPMYADMIN_UPLOAD_LIMIT:-200M} + + ports: + - "${PHPMYADMIN_PORT:-8083}:80" + + networks: + - proxy + - internal + +networks: + proxy: + external: true + internal: + driver: bridge diff --git a/phpmyadmin_dev/docker-compose.yml b/phpmyadmin_dev/docker-compose.yml deleted file mode 100644 index 14c9569..0000000 --- a/phpmyadmin_dev/docker-compose.yml +++ /dev/null @@ -1,13 +0,0 @@ -services: - phpmyadmin: - image: ${PHPMYADMIN_IMAGE:-phpmyadmin/phpmyadmin:latest} - restart: unless-stopped - environment: - - PMA_ARBITRARY=${PHPMYADMIN_PMA_ARBITRARY:-1} - - PMA_HOST=${PHPMYADMIN_PMA_HOST:-mariadb} - - PMA_USER=${PHPMYADMIN_PMA_USER:-root} - - PMA_PASSWORD=${MARIADB_MARIADB_ROOT_PASSWORD:-ChangeThisPassword} - - UPLOAD_LIMIT=${PHPMYADMIN_UPLOAD_LIMIT:-200M} - volumes: - - "/etc/timezone:/etc/timezone:ro" - - "/etc/localtime:/etc/localtime:ro" diff --git a/phpmyadmin_dev/sample.env b/phpmyadmin_dev/sample.env index c5b8581..c9d951e 100644 --- a/phpmyadmin_dev/sample.env +++ b/phpmyadmin_dev/sample.env @@ -1,13 +1,13 @@ -COOKBOOK=/docker-compose-cookbooks -COMPOSE_PROJECT_NAME=phpmyadmin -TZ=America/Vancouver -VOL_CONFIG_PATH=/data/projectName/config -VOL_PATH=/data/projectName/data +# ===== Paths ===== +VOL_PATH=/data +VOL_PROJECTS=/data/projects -# phpmyadmin +# ===== phpMyAdmin ===== PHPMYADMIN_IMAGE=phpmyadmin/phpmyadmin:latest +PHPMYADMIN_RESTART=unless-stopped +PHPMYADMIN_PORT=8083 PHPMYADMIN_PMA_ARBITRARY=1 PHPMYADMIN_PMA_HOST=mariadb PHPMYADMIN_PMA_USER=root -PHPMYADMIN_PMA_PASSWORD=ChangeThisPassword0123456789ABCD +PHPMYADMIN_PMA_PASSWORD=changeme PHPMYADMIN_UPLOAD_LIMIT=200M