|
|
|
version: '3'
|
|
|
|
|
|
|
|
### Creates a named network with the default bridge driver
|
|
|
|
# See: https://docs.docker.com/engine/userguide/networking/dockernetworks/
|
|
|
|
# See: https://docs.docker.com/engine/reference/commandline/network_create/
|
|
|
|
#networks:
|
|
|
|
#backend:
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
|
|
|
nginx-proxy:
|
|
|
|
image: jwilder/nginx-proxy
|
|
|
|
container_name: nginx-proxy
|
|
|
|
ports:
|
|
|
|
- "80:80"
|
|
|
|
- "443:443"
|
|
|
|
labels:
|
|
|
|
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
|
|
|
|
restart: always
|
|
|
|
depends_on:
|
|
|
|
- unboundedpress
|
|
|
|
- restheart
|
|
|
|
volumes:
|
|
|
|
- ./nginx/conf.d:/etc/nginx/conf.d
|
|
|
|
- ./nginx/vhost.d:/etc/nginx/vhost.d
|
|
|
|
- ./../nginx/html:/usr/share/nginx/html
|
|
|
|
- ./../nginx/certs:/etc/nginx/certs:ro
|
|
|
|
- /var/run/docker.sock:/tmp/docker.sock:ro
|
|
|
|
|
|
|
|
letsencrypt:
|
|
|
|
image: jrcs/letsencrypt-nginx-proxy-companion
|
|
|
|
container_name: letsencrypt
|
|
|
|
restart: always
|
|
|
|
volumes:
|
|
|
|
- ./nginx/conf.d:/etc/nginx/conf.d
|
|
|
|
- ./nginx/vhost.d:/etc/nginx/vhost.d
|
|
|
|
- ./../nginx/html:/usr/share/nginx/html
|
|
|
|
- ./../nginx/certs:/etc/nginx/certs:ro
|
|
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
|
|
depends_on:
|
|
|
|
- nginx-proxy
|
|
|
|
|
|
|
|
restheart:
|
|
|
|
image: softinstigate/restheart:3.10.1
|
|
|
|
container_name: restheart
|
|
|
|
depends_on:
|
|
|
|
- mongodb
|
|
|
|
environment:
|
|
|
|
- VIRTUAL_HOST=restheart.unboundedpress.org
|
|
|
|
- VIRTUAL_PORT=8080
|
|
|
|
- LETSENCRYPT_HOST=unboundedpress.org,www.unboundedpress.org,restheart.unboundedpress.org,gitea.unboundedpress.org,nextcloud.unboundedpress.org
|
|
|
|
- LETSENCRYPT_EMAIL=mwinter@unboundedpress.org
|
|
|
|
ports:
|
|
|
|
- "8080:8080"
|
|
|
|
restart: always
|
|
|
|
volumes:
|
|
|
|
- ./restheart/etc:/opt/restheart/etc:ro
|
|
|
|
|
|
|
|
mongodb:
|
|
|
|
image: mongo:3.6
|
|
|
|
container_name: mongo
|
|
|
|
environment:
|
|
|
|
MONGO_INITDB_ROOT_USERNAME: mwinter
|
|
|
|
MONGO_INITDB_ROOT_PASSWORD: password
|
|
|
|
command: --bind_ip_all --auth
|
|
|
|
restart: always
|
|
|
|
volumes:
|
|
|
|
- ./../mongodb:/data/db
|
|
|
|
- ./../mongodb_backup:/backup
|
|
|
|
### Uncoment below if you want to map mongodb port
|
|
|
|
#ports:
|
|
|
|
# - "27017:27017"
|
|
|
|
|
|
|
|
gitea:
|
|
|
|
image: gitea/gitea:1.8.3
|
|
|
|
container_name: gitea
|
|
|
|
environment:
|
|
|
|
- USER_UID=1000
|
|
|
|
- USER_GID=1000
|
|
|
|
- DB_TYPE=mysql
|
|
|
|
- DB_HOST=mariadb:3306
|
|
|
|
- DB_NAME=gitea
|
|
|
|
- DB_USER=mwinter
|
|
|
|
- DB_PASSWD=password
|
|
|
|
- HTTP_PORT=4000
|
|
|
|
- VIRTUAL_HOST=gitea.unboundedpress.org
|
|
|
|
- VIRTUAL_PORT=4000
|
|
|
|
- LETSENCRYPT_HOST=unboundedpress.org,www.unboundedpress.org,restheart.unboundedpress.org,gitea.unboundedpress.org,nextcloud.unboundedpress.org
|
|
|
|
- LETSENCRYPT_EMAIL=mwinter@unboundedpress.org
|
|
|
|
- LFS_START_SERVER=true
|
|
|
|
- DISABLE_REGISTRATION=true
|
|
|
|
- RUN_MODE=prod
|
|
|
|
restart: always
|
|
|
|
volumes:
|
|
|
|
- ./../gitea:/data
|
|
|
|
ports:
|
|
|
|
- "4000:4000"
|
|
|
|
- "222:22"
|
|
|
|
depends_on:
|
|
|
|
- mariadb
|
|
|
|
|
|
|
|
|
|
|
|
mariadb:
|
|
|
|
image: mariadb:10.1.40
|
|
|
|
container_name: mariadb
|
|
|
|
restart: always
|
|
|
|
environment:
|
|
|
|
- MYSQL_ROOT_PASSWORD=password
|
|
|
|
volumes:
|
|
|
|
- ./../mysql:/var/lib/mysql
|
|
|
|
- ./mysql/etc:/etc/mysql/conf.d
|
|
|
|
- ./mysql/init:/docker-entrypoint-initdb.d
|
|
|
|
|
|
|
|
unboundedpress:
|
|
|
|
build: .
|
|
|
|
container_name: unboundedpress
|
|
|
|
environment:
|
|
|
|
- VIRTUAL_HOST=www.unboundedpress.org,unboundedpress.org
|
|
|
|
- LETSENCRYPT_HOST=unboundedpress.org,www.unboundedpress.org,restheart.unboundedpress.org,gitea.unboundedpress.org,nextcloud.unboundedpress.org
|
|
|
|
- LETSENCRYPT_EMAIL=mwinter@unboundedpress.org
|
|
|
|
volumes:
|
|
|
|
- ./:/usr/src/unboundedpress
|
|
|
|
ports:
|
|
|
|
- "3000:3000"
|
|
|
|
restart: always
|
|
|
|
depends_on:
|
|
|
|
- mongodb
|
|
|
|
- restheart
|
|
|
|
|
|
|
|
nextcloud:
|
|
|
|
image: nextcloud:stable-apache
|
|
|
|
container_name: nextcloud
|
|
|
|
restart: always
|
|
|
|
volumes:
|
|
|
|
- ./../nextcloud:/var/www/html
|
|
|
|
environment:
|
|
|
|
- MYSQL_DATABASE=nextcloud
|
|
|
|
- MYSQL_USER=mwinter
|
|
|
|
- MYSQL_PASSWORD=password
|
|
|
|
- MYSQL_HOST=mariadb
|
|
|
|
- NEXTCLOUD_ADMIN_USER=mwinter
|
|
|
|
- NEXTCLOUD_ADMIN_PASSWORD=password
|
|
|
|
- NEXTCLOUD_TRUSTED_DOMAINS=nextcloud.unboundedpress.org
|
|
|
|
- REDIS_HOST=redis
|
|
|
|
- VIRTUAL_HOST=nextcloud.unboundedpress.org
|
|
|
|
- LETSENCRYPT_HOST=unboundedpress.org,www.unboundedpress.org,restheart.unboundedpress.org,gitea.unboundedpress.org,nextcloud.unboundedpress.org
|
|
|
|
- LETSENCRYPT_EMAIL=mwinter@unboundedpress.org
|
|
|
|
depends_on:
|
|
|
|
- mariadb
|
|
|
|
- redis
|
|
|
|
- solr
|
|
|
|
ports:
|
|
|
|
- 8888:80
|
|
|
|
|
|
|
|
nc_cron:
|
|
|
|
image: nextcloud:stable-apache
|
|
|
|
container_name: nc_cron
|
|
|
|
restart: always
|
|
|
|
volumes:
|
|
|
|
- ./../nextcloud:/var/www/html
|
|
|
|
entrypoint: /cron.sh
|
|
|
|
depends_on:
|
|
|
|
- mariadb
|
|
|
|
- redis
|
|
|
|
- solr
|
|
|
|
|
|
|
|
solr:
|
|
|
|
image: solr:8.1.1
|
|
|
|
container_name: solr
|
|
|
|
restart: always
|
|
|
|
volumes:
|
|
|
|
- ./../nextcloud/solr:/opt/solr/server/solr/mycores
|
|
|
|
entrypoint:
|
|
|
|
- docker-entrypoint.sh
|
|
|
|
- solr-precreate
|
|
|
|
- nextant
|
|
|
|
|
|
|
|
redis:
|
|
|
|
image: redis:5.0.5-alpine
|
|
|
|
container_name: redis
|
|
|
|
restart: always
|