Icono del sitio RAGASYS SISTEMAS

Desplegar phpIPAM con Docker

Hola a tod@s,

En este post vamos a ver como desplegar phpIPAM con Docker, desplegaremos dos contenedores Docker para este servicio, uno de ellos será el de MariaDB para la base de datos que vamos a utilizar y el otro el propio de phpIPAM con la aplicación.

services:

phpipam-db:

image: mariadb:latest

container_name: phpipam-db

restart: unless-stopped

env_file: .env

ports:

– «3306:3306»

environment:

– MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}

– MYSQL_DATABASE=${MYSQL_DATABASE}

– MYSQL_USER=${MYSQL_USER}

– MYSQL_PASSWORD=${MYSQL_PASSWORD}

volumes:

– /opt/docker/mariadb/data:/var/lib/mysql

– /opt/docker/mariadb/config:/etc/mysql/conf.d:ro

networks:

– phpipam-net

 

networks:

phpipam-net:

driver: bridge

services:

phpipam-web:

image: phpipam/phpipam-www:latest

container_name: phpipam-web

restart: unless-stopped

ports:

– «8080:80»

env_file: .env

environment:

– IPAM_DATABASE_HOST=${IPAM_DATABASE_HOST}

– IPAM_DATABASE_USER=${IPAM_DATABASE_USER}

– IPAM_DATABASE_PASS=${IPAM_DATABASE_PASS}

– IPAM_DATABASE_NAME=${IPAM_DATABASE_NAME}

– IPAM_DATABASE_PORT=${IPAM_DATABASE_PORT}

volumes:

– /opt/docker/phpipam/config:/copy-to-www-html

networks:

– phpipam-net

 

networks:

phpipam-net:

external: true

/* — CONFIGURACIÓN FORZADA PARA PROXY Y BASE DE DATOS — */

 

// 1. Forzar que phpipam sepa que está en la raíz y es HTTPS

define(‘BASE’, «/»);

$_SERVER[‘HTTPS’] = ‘on’;

$_SERVER[‘SERVER_PORT’] = 443;

 

// 2. Forzar los datos de la Base de Datos (ajusta si tus datos son distintos)

$db[‘host’] = ‘192.168.14.17’;

$db[‘user’] = ‘phpipamuser’;

$db[‘pass’] = ‘phpipampass’; // <— PON AQUÍ TU CONTRASEÑA REAL

$db[‘name’] = ‘phpipam’;

$db[‘port’] = 3306;

 

/** Disable installation helper **/

define(‘TOOLKIT’, true);

$disable_installer = true;

– /opt/docker/phpipam/config/config.docker.php:/phpipam/config.docker.php:ro

– /opt/docker/phpipam/config/config.docker.php:/phpipam/config.php:ro

# Forzar cabeceras de protocolo seguro

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 https;

proxy_set_header X-Forwarded-Ssl on;

 

# Evitar que el backend envíe redirecciones a http

proxy_redirect http:// https://;

 

# Desactivar compresión si da problemas con sub_filter

proxy_set_header Accept-Encoding «»;

 

# Cambiar cualquier mención de http por https en el código de la página

sub_filter ‘http://phpipam.ragasys.net’ ‘https://phpipam.ragasys.net’;

sub_filter_once off;

 

Saludos y espero que os sea de ayuda 😉

 

Salir de la versión móvil