self-hosted-deployment/docker-compose.yml

211 lines
5.3 KiB
YAML
Raw Normal View History

2023-01-01 23:43:58 +00:00
version: '3'
networks:
unifi_network:
mayan_network:
gitea_network:
volumes:
scanned_files:
driver: local
driver_opts:
type: cifs
o: username=defaults,password=defaults,sec=ntlm,vers=1.0,file_mode=0777,dir_mode=0777
device: "\\\\192.168.1.146\\MEMORYCARD\\EPSCAN\\001"
services:
nginx:
image: staticfloat/nginx-certbot
restart: always
network_mode: 'host'
environment:
CERTBOT_EMAIL: rob@taglang.io
volumes:
- ./nginx.conf.d:/etc/nginx/user.conf.d:ro
- /opt/services/letsencrypt:/etc/letsencrypt
sync_files:
build: sync_files
image: sync_files:local
restart: always
volumes:
- scanned_files:/source
- /opt/services/mayan/scanned_files:/target
unifi_db:
image: mongo:3.4
restart: always
networks:
- unifi_network
volumes:
- /opt/services/unifi/db:/data/db
unifi_controller:
image: jacobalberty/unifi:latest
restart: always
depends_on:
- unifi_db
networks:
- unifi_network
volumes:
- /opt/services/unifi/data:/unifi/data
- /opt/services/unifi/log:/unifi/log
- /opt/services/unifi/cert:/unifi/cert
- /opt/services/unifi/init:/unifi/init.d
environment:
DB_URI: mongodb://unifi_db/unifi
STATDB_URI: mongodb://unifi_db/unifi_stat
DB_NAME: unifi
ports:
- "3478:3478/udp" # STUN
- "6789:6789/tcp" # Speed test
- "8080:8080/tcp" # Device/ controller comm.
- "8443:8443/tcp" # Controller GUI/API as seen in a web browser
- "8880:8880/tcp" # HTTP portal redirection
- "8843:8843/tcp" # HTTPS portal redirection
- "10001:10001/udp" # AP discovery
unifi_logs:
image: bash
restart: always
depends_on:
- unifi_controller
command: bash -c 'tail -F /unifi/log/*.log'
volumes:
- /opt/services/unifi/log:/unifi/log
gitlab:
image: 'gitlab/gitlab-ce:latest'
restart: always
hostname: 'gitlab.taglang.io'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://gitlab.taglang.io'
nginx['listen_port'] = 80
nginx['listen_https'] = false
gitlab_rails['gitlab_shell_ssh_port'] = 2224
ports:
- '8881:80'
- '2224:22'
volumes:
- /opt/services/gitlab/config:/etc/gitlab
- /opt/services/gitlab/logs:/var/log/gitlab
- /opt/services/gitlab/data:/var/opt/gitlab
gitea:
image: 'gitea/gitea:latest'
environment:
- USER_UID=1000
- USER_GID=1000
restart: always
networks:
- gitea_network
volumes:
- /opt/services/gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- '8885:3000'
- '2222:22'
mayan_app:
image: mayanedms/mayanedms:3
depends_on:
- mayan_postgresql
- mayan_redis
# Enable to use RabbitMQ
#- rabbitmq
environment: &mayan_env
# Enable to use RabbitMQ
# MAYAN_CELERY_BROKER_URL: amqp://mayan:mayanrabbitpass@broker:5672/mayan
# Disable Redis Broker to use RabbitMQ as Broker
MAYAN_CELERY_BROKER_URL: redis://:mayanredispassword@mayan_redis:6379/0
MAYAN_CELERY_RESULT_BACKEND: redis://:mayanredispassword@mayan_redis:6379/1
MAYAN_DATABASES: "{'default':{'ENGINE':'django.db.backends.postgresql','NAME':'mayan','PASSWORD':'mayandbpass','USER':'mayan','HOST':'mayan_postgresql'}}"
networks:
- mayan_network
ports:
- "8882:8000"
restart: always
volumes:
- /opt/services/mayan/media:/var/lib/mayan
- /opt/services/mayan/scanned_files:/var/lib/mayan/scanned_files
mayan_postgresql:
image: postgres:9.6-alpine
environment:
POSTGRES_DB: mayan
POSTGRES_PASSWORD: mayandbpass
POSTGRES_USER: mayan
networks:
- mayan_network
restart: always
volumes:
- /opt/services/mayan/postgres:/var/lib/postgresql/data
mayan_redis:
image: redis:5.0-alpine
command:
- redis-server
- --databases
- "2"
- --maxmemory-policy
- allkeys-lru
- --save
- ""
- --requirepass mayanredispassword
networks:
- mayan_network
restart: always
volumes:
- /opt/services/mayan/redis:/data
spotify_jenna:
build: spotify
image: spotify:local
restart: always
hostname: Jenna Spotify Server
devices:
- /dev/snd
environment:
SPOTIFY_USERNAME: adrian.jenna.c
SPOTIFY_PASSWORD: fM,KM_xK'Jn9vvU>
spotify_rob:
build: spotify
image: spotify:local
restart: always
hostname: Rob Spotify Server
devices:
- /dev/snd
environment:
SPOTIFY_USERNAME: lasalvavida
SPOTIFY_PASSWORD: amethyst1
calibre_web:
image: linuxserver/calibre-web
container_name: calibre-web
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
- DOCKER_MODS=linuxserver/calibre-web:calibre
ports:
- 8883:8083
restart: always
volumes:
- /opt/services/calibre/config:/config
- /opt/services/calibre/library:/books
koken:
build: koken
image: koken:local
restart: always
hostname: koken.taglang.io
ports:
- 8884:80
volumes:
- ./koken/99-custom_overrides.ini:/etc/php5/fpm/conf.d/99-custom_overrides.ini:ro
- /opt/services/koken/www:/usr/share/nginx/www
- /opt/services/koken/mysql:/var/lib/mysql