You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
unboundedpress/docker-compose.yml.template

182 lines
5.3 KiB
Plaintext

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