| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 | version: '3'services:  nginx-proxy:    image: jwilder/nginx-proxy    # My internet-facing load balancer (CloudFlare) sits on 80 and 443. Therefore,    # I let it handle all HTTPS concerns.    #    # If this is internet-facing, enable SSL in nginx-proxy    # and forward both 80 and 443 directly.    ports:      - "8080:80"    volumes:      - /var/run/docker.sock:/tmp/docker.sock:ro      # Helps with stability of large uploads      - ./conf.d/proxy_timeout.conf:/etc/nginx/conf.d/proxy_timeout.conf:ro      - ./conf.d/real_ip.conf:/etc/nginx/conf.d/real_ip.conf:ro      # Password-protect some subdomains      - ./htpasswd:/etc/nginx/htpasswd    environment:      - DEFAULT_HOST=jibby.org    restart: always  # An example of a static HTTP file hosting site  camera:    image: nginx    volumes:      - ${MEDIA_DIR}/Camera:/home/app:ro      - ./conf.d/static.conf:/etc/nginx/sites-enabled/default      - ./conf.d/static.conf:/etc/nginx/conf.d/default.conf    environment:      - VIRTUAL_HOST=camera.jibby.org      - CERT_NAME=shared    restart: always  postgres:    image: postgres:10.5    volumes:      - ${CONTAINERS_DIR}/postgres/data:/var/lib/postgresql/data      - ${CONTAINERS_DIR}/postgres/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d    environment:      - POSTGRES_USER=${POSTGRES_USER}      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}    restart: always  mariadb:    image: mariadb    volumes:      - ${CONTAINERS_DIR}/mariadb:/var/lib/mysql    environment:      # If mariadb is used for more than wordpress in the future, it'll need      # its own /docker-entrypoint-initdb.d entry. But for now, envrionment      # variables are fine.      - MYSQL_DATABASE=wordpress      - MYSQL_USER=${MARIADB_USER}      - MYSQL_PASSWORD=${MARIADB_PASSWORD}      - MYSQL_ROOT_PASSWORD=${MARIADB_PASSWORD}    restart: always  wordpress:    image: wordpress    links:        - mariadb:mysql    volumes:      - ${CONTAINERS_DIR}/wordpress:/var/www/html    environment:      - WORDPRESS_DB_USER=${MARIADB_USER}      - WORDPRESS_DB_PASSWORD=${MARIADB_PASSWORD}      - VIRTUAL_HOST=jibby.org      - VIRTUAL_PORT=3000    restart: always  nextcloud:    image: nextcloud    expose:      - "80"    links:      - postgres    volumes:      - ${CONTAINERS_DIR}/nextcloud:/var/www/html    environment:      - VIRTUAL_HOST=nextcloud.jibby.org      - VIRTUAL_PORT=80      - CERT_NAME=shared    restart: always  gogs:    image: gogs/gogs    expose:      - "3000"    volumes:      - ${CONTAINERS_DIR}/gogs:/data    #links:    #  - postgres    environment:      - VIRTUAL_HOST=gogs.jibby.org      - VIRTUAL_PORT=3000      - CERT_NAME=shared    restart: always  matrix:    image: matrixdotorg/synapse    expose:      - "8008"    links:      - postgres    environment:      - SYNAPSE_SERVER_NAME=matrix.jibby.org      - SYNAPSE_REPORT_STATS=no      - SYNAPSE_NO_TLS=true      - SYNAPSE_ENABLE_REGISTRATION=no      - SYNAPSE_LOG_LEVEL=INFO      - SYNAPSE_REGISTRATION_SHARED_SECRET=${POSTGRES_PASSWORD}      - POSTGRES_DB=synapse      - POSTGRES_HOST=postgres      - POSTGRES_USER=synapse      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}      - VIRTUAL_HOST=matrix.jibby.org      - VIRTUAL_PROTO=http      - VIRTUAL_PORT=8008    volumes:      - ${CONTAINERS_DIR}/matrix:/data    restart: always  keeweb:    image: antelle/keeweb    expose:      - "443"    environment:      - VIRTUAL_HOST=keeweb.jibby.org      - VIRTUAL_PROTO=https      - VIRTUAL_PORT=443      - CERT_NAME=shared    restart: always  selfoss:    image: hardware/selfoss    expose:      - "8888"    links:      - postgres    volumes:      - ${CONTAINERS_DIR}/selfoss:/selfoss/data    environment:      - VIRTUAL_HOST=selfoss.jibby.org      - VIRTUAL_PORT=8888      - CERT_NAME=shared    restart: always  jellyfin:    image: jellyfin/jellyfin    expose:      - "8096"    volumes:      - ${CONTAINERS_DIR}/jellyfin:/config      - ${MEDIA_DIR}:/media    environment:      - VIRTUAL_HOST=jellyfin.jibby.org      - VIRTUAL_PORT=8096      - CERT_NAME=shared    restart: always
 |