version: '2' services: # Org1 ##################################### um_ca: build: ./um/ca/ hostname: ca domainname: um.es volumes: - um-certs:/certs network_mode: none um_distribution: build: ./um/distribution/ hostname: distribution domainname: um.es depends_on: - "um_router" volumes: - lego_ca:/web - um-certs-distribution:/certs env_file: - '.router/um.env' cap_add: - NET_ADMIN mac_address: 00:11:22:33:44:99 networks: red1: aliases: - distribution.um.es ipv4_address: 192.168.251.99 um_snmp: build: context: ./um/snmp/ args: - SNMP_VERSION=5.7.1 hostname: snmp domainname: um.es depends_on: - "um_router" env_file: - '.router/um.env' cap_add: - NET_ADMIN mac_address: 00:11:22:33:44:a0 networks: red1: aliases: - snmp.um.es ipv4_address: 192.168.251.100 um_db: build: ./um/db/ hostname: db domainname: um.es depends_on: - "um_router" environment: - POSTGRES_USER=asystemnormaluser - POSTGRES_PASSWORD=S3curE_P@SsSw0rdd env_file: - '.router/um.env' cap_add: - NET_ADMIN mac_address: 00:11:22:33:44:04 networks: red1: aliases: - db.um.es ipv4_address: 192.168.251.4 um_radius: build: ./um/radius/ hostname: radius domainname: um.es volumes: - um-certs-radius:/etc/freeradius/keys/ depends_on: - "um_snmp" - "um_openldap" - "um_router" env_file: - '.router/um.env' cap_add: - NET_ADMIN mac_address: 00:11:22:33:44:03 networks: red1: aliases: - radius.um.es ipv4_address: 192.168.251.3 um_owncloud: build: ./um/owncloud hostname: owncloud domainname: um.es volumes: - um-certs-owncloud:/etc/apache2/keys/ depends_on: - "um_db" - "um_openldap" - "um_distribution" - "um_snmp" - "um_router" environment: - OWNCLOUD_DB_HOST=db.um.es - OWNCLOUD_DB_TYPE=pgsql - OWNCLOUD_DB_NAME=owncloud - OWNCLOUD_DB_USERNAME=asystemnormaluser - OWNCLOUD_DB_PASSWORD=S3curE_P@SsSw0rdd - OWNCLOUD_ADMIN_USERNAME=admin_login_owncloud - OWNCLOUD_ADMIN_PASSWORD=Ann011her_STRONG_pswWW - OWNCLOUD_VOLUME_CERTS=/etc/apache2/keys/ env_file: - '.router/um.env' cap_add: - NET_ADMIN mac_address: 00:11:22:33:44:05 networks: red1: aliases: - owncloud.um.es ipv4_address: 192.168.251.5 um_openldap: build: ./um/openldap/ command: --loglevel info hostname: ldap domainname: um.es depends_on: - "um_snmp" - "um_router" environment: - LDAP_ORGANISATION=Universidad de Murcia - LDAP_DOMAIN=um.es - LDAP_ADMIN_PASSWORD=S3cuurreeee_lDAP_P@@@@sssswWWo00o0o0orDDD - HOSTNAME=ldap.um.es #Bug - LDAP_TLS=true - LDAP_TLS_CRT_FILENAME=ldap-cert.pem - LDAP_TLS_KEY_FILENAME=ldap-key.pem - LDAP_TLS_CA_CRT_FILENAME=um.pem - LDAP_TLS_ENFORCE=false volumes: - um-certs-ldap:/container/service/slapd/assets/certs env_file: - '.router/um.env' cap_add: - NET_ADMIN mac_address: 00:11:22:33:44:06 networks: red1: aliases: - ldap.um.es ipv4_address: 192.168.251.6 um_pc1: build: ./um/pc1/ depends_on: - "um_snmp" - "um_router" env_file: - '.router/um.env' cap_add: - NET_ADMIN networks: red1: ipv4_address: 192.168.251.20 # um_metasploitable2: # build: um/metasploitable2 # hostname: metasploitable2 # domainname: um.es # depends_on: # - "um_router" # environment: # - VNC=true # - DISPLAY=:0.0 # env_file: # - '.router/um.env' # volumes: # - /tmp/.X11-unix:/tmp/.X11-unix # cap_add: # - NET_ADMIN # devices: # - /dev/kvm:/dev/kvm # - /dev/net/tun:/dev/net/tun # networks: # red1: # aliases: # - metasploitable2.um.es # ipv4_address: 192.168.251.111 um_voip: #VoIP build: ./um/voip/ hostname: voip domainname: um.es depends_on: - "um_snmp" - "um_openldap" - "um_router" volumes: - um-certs-voip:/certs - lego_ca:/ca_ssl cap_add: - NET_ADMIN env_file: - '.router/um.env' mac_address: 00:11:22:33:44:02 networks: red1: aliases: - voip.um.es ipv4_address: 192.168.251.2 um_ftp: build: ./um/ftpd/ hostname: ftp domainname: um.es depends_on: - "um_router" env_file: - '.router/um.env' cap_add: - NET_ADMIN mac_address: 00:11:22:33:44:66 networks: red1: aliases: - ftp.um.es ipv4_address: 192.168.251.66 um_oauth: build: ./um/oauth/ hostname: oauth domainname: um.es volumes: - lego_ca:/etc/nginx/ca_keys/ - um-certs-oauth:/etc/nginx/keys/ depends_on: - "um_router" - "um_openldap" env_file: - '.router/um.env' cap_add: - NET_ADMIN environment: - CLIENT_ID_INIT=123456 - CLIENT_SECRET_INIT=11111 - LDAP_SERVER_PATH=ldap://192.168.251.6:389 - LDAP_AUTH_USER=cn=admin,dc=um,dc=es - LDAP_AUTH_PASSWORD=S3cuurreeee_lDAP_P@@@@sssswWWo00o0o0orDDD - LDAP_SEARCH_BASE=dc=um,dc=es - LDAP_SEARCH_FILTER=(&(&(|(objectclass=inetOrgPerson))(|(memberof=cn=owncloud,ou=Servicios,dc=um,dc=es)))(|(cn=%uid)(|(mailPrimaryAddress=%uid)(mail=%uid)))) mac_address: 00:11:22:33:44:77 networks: red1: aliases: - oauth.um.es ipv4_address: 192.168.251.77 um_router: build: ./um/router/ hostname: router domainname: um.es cap_add: - NET_ADMIN mac_address: 00:11:22:33:44:fe networks: red1: aliases: - router.um.es ipv4_address: 192.168.251.254 tunnel: ipv4_address: 10.0.0.2 # Org2 ##################################### upm_ca: build: ./um/ca/ hostname: ca domainname: upm.es volumes: - upm-certs:/certs network_mode: none upm_distribution: build: ./upm/distribution/ hostname: distribution domainname: upm.es depends_on: - "upm_router" volumes: - lego_ca:/web - upm-certs-distribution:/certs cap_add: - NET_ADMIN env_file: - '.router/upm.env' networks: red2: aliases: - distribution.upm.es ipv4_address: 192.168.252.99 upm_snmp: build: context: ./upm/snmp/ args: - SNMP_VERSION=5.7.1 hostname: snmp domainname: upm.es depends_on: - "upm_router" cap_add: - NET_ADMIN env_file: - '.router/upm.env' networks: red2: aliases: - snmp.upm.es ipv4_address: 192.168.252.100 upm_voip: #VoIP build: ./upm/voip/ hostname: voip domainname: upm.es depends_on: - "upm_openldap" - "upm_snmp" - "upm_router" volumes: - upm-certs-voip:/certs - lego_ca:/ca_ssl cap_add: - NET_ADMIN env_file: - '.router/upm.env' networks: red2: aliases: - voip.upm.es ipv4_address: 192.168.252.2 upm_radius: build: ./upm/radius/ hostname: radius domainname: upm.es volumes: - upm-certs-radius:/etc/freeradius/keys/ depends_on: - "upm_snmp" - "upm_router" cap_add: - NET_ADMIN env_file: - '.router/upm.env' networks: red2: aliases: - radius.upm.es ipv4_address: 192.168.252.3 upm_openldap: build: ./upm/openldap/ command: --loglevel info hostname: ldap domainname: upm.es depends_on: - "upm_snmp" - "upm_router" environment: - LDAP_ORGANISATION=Universidad Politecnica de Madrid - LDAP_DOMAIN=upm.es - LDAP_ADMIN_PASSWORD=upm_password - HOSTNAME=ldap.upm.es #Bug - LDAP_TLS=true - LDAP_TLS_CRT_FILENAME=ldap-cert.pem - LDAP_TLS_KEY_FILENAME=ldap-key.pem - LDAP_TLS_CA_CRT_FILENAME=upm.pem - LDAP_TLS_ENFORCE=false volumes: - upm-certs-ldap:/container/service/slapd/assets/certs cap_add: - NET_ADMIN env_file: - '.router/upm.env' networks: red2: aliases: - ldap.upm.es ipv4_address: 192.168.252.6 upm_owncloud: build: ./upm/owncloud hostname: owncloud domainname: upm.es volumes: - upm-certs-owncloud:/etc/apache2/keys/ depends_on: - "upm_db" - "upm_openldap" - "upm_distribution" - "upm_snmp" - "upm_router" environment: - OWNCLOUD_DB_HOST=db.upm.es - OWNCLOUD_DB_TYPE=pgsql - OWNCLOUD_DB_NAME=owncloud - OWNCLOUD_DB_USERNAME=postgres - OWNCLOUD_DB_PASSWORD=owncloud - OWNCLOUD_ADMIN_USERNAME=owncloud - OWNCLOUD_ADMIN_PASSWORD=owncloud - OWNCLOUD_VOLUME_CERTS=/etc/apache2/keys/ cap_add: - NET_ADMIN env_file: - '.router/upm.env' networks: red2: aliases: - owncloud.upm.es ipv4_address: 192.168.252.5 upm_db: build: ./upm/db/ hostname: db domainname: upm.es depends_on: - "upm_router" environment: - POSTGRES_PASSWORD=owncloud cap_add: - NET_ADMIN env_file: - '.router/upm.env' networks: red2: aliases: - db.upm.es ipv4_address: 192.168.252.4 upm_msf: build: ./upm/msf/ hostname: msf domainname: upm.es stdin_open: true tty: true cap_add: - NET_ADMIN depends_on: - "upm_db" - "upm_router" environment: - DB_PORT_5432_TCP_ADDR=db.upm.es - PGPASSWORD=owncloud env_file: - '.router/upm.env' networks: red2: aliases: - msf.upm.es ipv4_address: 192.168.252.66 # upm_nessus: # build: ./upm/nessus/ # hostname: nessus # domainname: upm.es # cap_add: # - NET_ADMIN # depends_on: # - "upm_router" # - "upm_msf" # environment: # - LICENSE= # - ADMIN_USER=admin # - ADMIN_PASS=admin # env_file: # - '.router/upm.env' # networks: # red2: # aliases: # - nessus.upm.es # ipv4_address: 192.168.252.77 upm_oauth_client: build: ./upm/oauth_client/ hostname: oauth_client domainname: upm.es volumes: - lego_ca:/etc/nginx/ca_keys/ - upm-certs-oauth_client:/etc/nginx/keys/ depends_on: - "upm_router" - "um_oauth" env_file: - '.router/upm.env' cap_add: - NET_ADMIN environment: - APP_CLIENT_ID=123456 - APP_CLIENT_SECRET=11111 - OAUTH_REGISTER=https://192.168.251.77/oauth_UM/register - OAUTH_AUTH=https://192.168.251.77/oauth_UM/auth - OAUTH_TOKEN=https://192.168.251.77/oauth_UM/token - OAUTH_RESOURCE=https://192.168.251.77/oauth_UM/get_data - OAUTH_REDIRECT=https://192.168.252.43/oauth_UPM_CLIENT/redirect mac_address: 00:11:22:33:44:43 networks: red2: aliases: - oauth_client.upm.es ipv4_address: 192.168.252.43 upm_router: build: ./upm/router/ hostname: router domainname: upm.es cap_add: - NET_ADMIN networks: red2: aliases: - router.upm.es ipv4_address: 192.168.252.254 tunnel: ipv4_address: 10.0.0.3 # PERSISTENCE ############################### volumes: lego_ca: external: name: "lego_ca" um-certs: external: name: "um-certs" um-certs-distribution: external: name: "um-certs-distribution" um-certs-voip: external: name: "um-certs-voip" um-certs-owncloud: external: name: "um-certs-owncloud" um-certs-ldap: external: name: "um-certs-ldap" um-certs-radius: external: name: "um-certs-radius" um-certs-oauth: external: name: "um-certs-oauth" upm-certs: external: name: "upm-certs" upm-certs-distribution: external: name: "upm-certs-distribution" upm-certs-voip: external: name: "upm-certs-voip" upm-certs-owncloud: external: name: "upm-certs-owncloud" upm-certs-ldap: external: name: "upm-certs-ldap" upm-certs-radius: external: name: "upm-certs-radius" upm-certs-oauth_client: external: name: "upm-certs-oauth_client" # NETWORKS ################################ networks: red1: driver: bridge driver_opts: com.docker.network.bridge.enable_icc: "true" ipam: config: - subnet: 192.168.251.0/24 gateway: 192.168.251.1 red2: driver: bridge driver_opts: com.docker.network.bridge.enable_icc: "true" ipam: config: - subnet: 192.168.252.0/24 gateway: 192.168.252.1 tunnel: driver: bridge ipam: config: - subnet: 10.0.0.0/29