- version: '3.1'
- services:
- openldap:
- build:
- context: ./images/openldap/
- image: bingen/${ARCH}-openldap:latest
- tty: true
- stdin_open: true
- env_file:
- - openldap.env
- networks:
- - default
- #ports:
- #- "389:389"
- #- "639:639"
- #- "8080:80"
- volumes:
- - ${LDAP_DATA_VOLUME_PATH}:/var/lib/ldap
- - ${LDAP_CONFIG_VOLUME_PATH}:/etc/ldap/slapd.d
- - ${LDAP_CERTS_VOLUME_PATH}:/container/service/slapd/assets/certs/
- hostname: openldap.${DOMAIN}
-
- db:
- build:
- context: ./images/mariadb/
- image: bingen/${ARCH}-mariadb:latest
- env_file:
- - mariadb.env
- networks:
- - default
- #ports:
- #- "3306:3306"
- volumes:
- #- ${DB_CONFIG_VOLUME_PATH}:/etc/mysql
- - ${DB_DATA_VOLUME_PATH}:/var/lib/mysql
-
- haproxy:
- build:
- context: ./images/haproxy/
- image: bingen/${ARCH}-haproxy:latest
- depends_on:
- # For DNS resolution
- - nextcloud
- - gitea
- - pihole
- env_file:
- - haproxy.env
- networks:
- - default
- ports:
- - "80:80"
- - "443:443"
- volumes:
- - ${LETSENCRYPT_VOLUME_PATH}:/etc/letsencrypt
- mail:
- build:
- context: ./images/email/
- image: bingen/${ARCH}-mailserver:latest
- depends_on:
- - openldap
- hostname: ${MAIL_HOSTNAME}.${DOMAIN}
- env_file:
- - mail.env
- networks:
- - default
- ports:
- - "25:25"
- - "143:143"
- - "587:587"
- - "993:993"
- volumes:
- - ${MAIL_DATA_VOLUME_PATH}:${MAIL_DATA_PATH}
- #- ${MAIL_STATE_VOLUME_PATH}:${MAIL_STATE_PATH}
- cap_add:
- - NET_ADMIN
-
- nextcloud:
- build:
- context: ./images/nextcloud/
- args:
- - NEXTCLOUD_VERSION=${NEXTCLOUD_VERSION}
- - NEXTCLOUD_DATA_PATH=${NEXTCLOUD_DATA_PATH}
- - NEXTCLOUD_BACKUP_PATH=${NEXTCLOUD_BACKUP_PATH}
- image: bingen/${ARCH}-nextcloud:latest
- depends_on:
- - db
- - openldap
- #- haproxy
- env_file:
- - nextcloud.env
- networks:
- - default
- ports:
- - "8000:80"
- - "8443:443"
- volumes:
- - ${NEXTCLOUD_DATA_VOLUME_PATH}:${NEXTCLOUD_DATA_PATH}
- - ${NEXTCLOUD_BACKUP_VOLUME_PATH}:${NEXTCLOUD_BACKUP_PATH}
-
- sftp:
- build:
- context: ./images/sftp/
- image: bingen/${ARCH}-sftp
- ports:
- - "1022:22"
- volumes:
- - ${PAPERLESS_CONSUMPTION_VOLUME_PATH}:${PAPERLESS_CONSUMPTION_PATH}
- env_file:
- - sftp.env
-
- gitea:
- build:
- context: ./images/gitea/
- image: bingen/${ARCH}-gitea
- depends_on:
- - openldap
- env_file:
- - gitea.env
- ports:
- - "2080:3000"
- - "${GITEA_HTTP_PORT}:${GITEA_HTTP_PORT}"
- - "2022:22"
- volumes:
- - ${GITEA_DATA_VOLUME_PATH}:/data
-
- blog1:
- image: ghost
- restart: always
- # ports:
- # - "2368:2368"
- environment:
- database__client: sqlite3
- database__connection__filename: content/data/ghost.db
- url: ${BLOG_1_URL}
- volumes:
- - ${BLOG_1_VOLUME_PATH}:/var/lib/ghost/content
- restart: always
-
- hauk:
- build:
- context: ./images/hauk/
- image: bingen/${ARCH}-hauk
- depends_on:
- - openldap
- env_file:
- - hauk.env
- ports:
- - "4080:80"
-
- pihole:
- image: pihole/pihole:latest
- env_file:
- - pihole.env
- # cap_add: # for DHCP
- # - NET_ADMIN
- environment:
- FTLCONF_dns_listeningMode: 'all'
- ports:
- - "53:53/tcp"
- - "53:53/udp"
- # - "67:67/udp" # for DHCP
- - "8314:80"
- - "3443:443"
- volumes:
- - ${PIHOLE_CONFIG_VOLUME_PATH}:/etc/pihole/
- - ${PIHOLE_DNSMASQ_VOLUME_PATH}:/etc/dnsmasq.d/
- restart: always
-
- networks:
- default:
- driver: bridge
|