- version: '3.1'
- services:
- openldap:
- build:
- context: ./images/openldap/
- image: bingen/${ARCH}-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/mariadb/
- image: bingen/${ARCH}-mariadb:latest
- secrets:
- - source: db_pwd
- target: admin_pwd
- mode: 0440
- #container_name: mariadb
- 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
- - gogs
- - 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
- 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/nextcloud/
- args:
- - NEXTCLOUD_VERSION=${NEXTCLOUD_VERSION}
- - NEXTCLOUD_DATA_PATH=${NEXTCLOUD_DATA_PATH}
- - NEXTCLOUD_BACKUP_PATH=${NEXTCLOUD_BACKUP_PATH}
- image: bingen/${ARCH}-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/sftp/
- image: bingen/${ARCH}-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/gogs/
- image: bingen/${ARCH}-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:latest
- 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
|