version: '3.1' services: openldap: build: context: ./images/rpi-openldap/ image: bingen/rpi-openldap:latest deploy: placement: constraints: - node.role == manager secrets: - source: ldap_pwd target: admin_pwd uid: '999' mode: 0440 - source: ldap_mail_pwd target: mail_pwd uid: '999' mode: 0440 - source: ldap_nextcloud_pwd target: nextcloud_pwd uid: '999' mode: 0440 - source: ldap_gogs_pwd target: gogs_pwd uid: '999' mode: 0440 # container_name: openldap 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.${LDAP_DOMAIN} db: build: context: ./images/rpi-mariadb/ image: bingen/rpi-mariadb:latest secrets: - source: db_pwd target: admin_pwd mode: 0440 environment: - MYSQL_ROOT_PWD_FILE=/run/secrets/admin_pwd #container_name: mariadb networks: - default #ports: #- "3306:3306" volumes: #- ${DB_CONFIG_VOLUME_PATH}:/etc/mysql - ${DB_DATA_VOLUME_PATH}:/var/lib/mysql haproxy: build: context: ./images/rpi-haproxy/ image: bingen/rpi-haproxy:latest depends_on: # For DNS resolution - nextcloud - gogs env_file: - haproxy.env networks: - default ports: - "80:80" - "443:443" volumes: - ${LETSENCRYPT_VOLUME_PATH}:/etc/letsencrypt mail: build: context: ./images/rpi-email/ image: bingen/rpi-mailserver:latest depends_on: - openldap secrets: - source: ldap_mail_pwd target: ldap_pwd uid: '999' mode: 0440 hostname: ${MAIL_HOSTNAME}.${MAIL_DOMAIN} #domainname: ${MAIL_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/rpi-nextcloud/ args: - NEXTCLOUD_VERSION=${NEXTCLOUD_VERSION} - NEXTCLOUD_DATA_PATH=${NEXTCLOUD_DATA_PATH} - NEXTCLOUD_BACKUP_PATH=${NEXTCLOUD_BACKUP_PATH} image: bingen/rpi-nextcloud:latest deploy: placement: constraints: - node.role == worker depends_on: - db - openldap #- haproxy secrets: - source: nextcloud_admin_pwd target: admin_pwd uid: '999' mode: 0440 - source: ldap_nextcloud_pwd target: ldap_pwd uid: '999' mode: 0440 - source: db_pwd target: mysql_pwd mode: 0440 - source: nextcloud_salt target: salt uid: '999' mode: 0440 - source: nextcloud_secret target: secret uid: '999' mode: 0440 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/rpi-sftp/ image: bingen/rpi-sftp ports: - "1022:22" volumes: - ${PAPERLESS_CONSUMPTION_VOLUME_PATH}:${PAPERLESS_CONSUMPTION_PATH} secrets: - source: paperless_ftp_pwd target: ftp_pwd uid: '999' mode: 0440 env_file: - sftp.env gogs: build: context: ./images/rpi-gogs/ image: bingen/rpi-gogs depends_on: - db - openldap env_file: - gogs.env ports: - "2080:2080" - "2443:2443" - "2022:22" volumes: - ${GOGS_DATA_VOLUME_PATH}:/data secrets: - source: db_pwd target: mysql_pwd mode: 0440 - source: ldap_gogs_pwd target: ldap_pwd uid: '999' mode: 0440 - source: gogs_admin_pwd target: admin_pwd uid: '999' mode: 0440 pihole: image: pihole/pihole:v4.0_armhf deploy: placement: constraints: - node.role == manager env_file: - pihole.env # cap_add: # for DHCP # - NET_ADMIN 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 #wordpress: #transmission: #image: lsioarmhf/transmission:15.01.17 secrets: db_pwd: external: true ldap_pwd: external: true ldap_mail_pwd: external: true ldap_nextcloud_pwd: external: true ldap_gogs_pwd: external: true nextcloud_admin_pwd: external: true nextcloud_salt: external: true nextcloud_secret: external: true gogs_admin_pwd: external: true paperless_webserver_pwd: external: true paperless_passphrase: external: true paperless_ftp_pwd: external: true networks: default: driver: overlay