Loading docker-compose.yml +0 −499 Original line number Diff line number Diff line version: '2' networks: srv: services: traefik: image: traefik:1.7.12 command: > --api --api.statistics ports: - '80:80' - '443:443' expose: - '8080' networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.port=8080' - 'traefik.frontend.rule=Host:traefik.${SITE}' - 'traefik.frontend.auth.basic.users=${USERS}' volumes: - '/var/run/docker.sock:/var/run/docker.sock' - './traefik/traefik.toml:/traefik.toml' - './traefik/acme.json:/acme.json' - './traefik/logs:/logs' logstash: image: docker.elastic.co/logstash/logstash:7.1.0 links: - elasticsearch volumes: - './logstash/:/usr/share/logstash/pipeline/' - './traefik/logs:/var/log/traefik' - './nginx/logs:/var/log/nginx' restart: always elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.1.0 environment: - 'cluster.name=docker-cluster' - 'bootstrap.memory_lock=true' - 'discovery.type=single-node' - 'ES_JAVA_OPTS=-Xms512m -Xmx512m' restart: always ulimits: memlock: soft: -1 hard: -1 kibana: image: docker.elastic.co/kibana/kibana:7.1.0 links: - elasticsearch networks: - 'srv' # volumes: # - './kibana/:/usr/share/kibana/config/' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:kibana.${SITE}' - 'traefik.port=5601' - 'traefik.frontend.auth.basic.users=${USERS}' gitlab: image: 'gitlab/gitlab-ce:latest' restart: always hostname: 'gitlab.${SITE}' environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab.${SITE}:80' gitlab_rails['gitlab_shell_ssh_port'] = 2224 ports: - '2224:22' volumes: - './gitlab/config:/etc/gitlab' - './gitlab/logs:/var/log/gitlab' - './gitlab/data:/var/opt/gitlab' networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:gitlab.${SITE}' - 'traefik.port=80' runner: image: gitlab/gitlab-runner:latest restart: always volumes: - './gitlab/runner:/etc/gitlab-runner' - '/var/run/docker.sock:/var/run/docker.sock' links: - gitlab restart: always labels: - 'traefik.enable=false' nginx: image: nginx:stable-alpine volumes: - './nginx/conf:/etc/nginx/conf.d' - './nginx/logs:/var/log/nginx/' networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:${SITE}' - 'traefik.port=80' transmission: image: linuxserver/transmission:2.94-r1-ls12 environment: - 'PGID=1000' - 'PUID=1000' - 'TZ=Europe/Paris' ports: - '51413:51413' - '51413:51413/udp' volumes: - './transmission/config:/config' - './transmission/downloads:/downloads' - './transmission/watch:/watch' networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:torrent.${SITE}' - 'traefik.port=9091' - 'traefik.frontend.auth.basic.users=${USERS}' video: image: gkiko/streama:v1.8.1 volumes: - './transmission/downloads:/data' networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:video.${SITE}' - 'traefik.port=8080' vpn: image: hwdsl2/ipsec-vpn-server:latest privileged: true environment: - 'VPN_IPSEC_PSK=' - 'VPN_USER=' - 'VPN_PASSWORD=' - 'VPN_ADDL_USERS=' # space separated values - 'VPN_ADDL_PASSWORDS=' # space separated values ports: - '500:500' - '4500:4500/udp' restart: always volumes: - '/lib/modules:/lib/modules:ro' jupyter: image: jupyter/tensorflow-notebook:45f07a14b422 command: > jupyter notebook --NotebookApp.token='' --NotebookApp.password='' environment: - 'JUPYTER_ENABLE_LAB=yes' volumes: - './jupyter/jupyter/config:/root/.jupyter/' - './jupyter/work:/work' - './jupyter/work:/home/jovyan/work' networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:jupyter.${SITE}' - 'traefik.port=8888' - 'traefik.frontend.auth.basic.users=${USERS}' pastebin: image: mkodockx/docker-pastebin:latest networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:paste.${SITE}' - 'traefik.port=80' nextcloud-db: image: mariadb command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW volumes: - './nextcloud/db:/var/lib/mysql' environment: - 'MYSQL_ROOT_PASSWORD=pass' - 'MYSQL_PASSWORD=' - 'MYSQL_DATABASE=nextcloud' - 'MYSQL_USER=nextcloud' restart: always labels: - 'traefik.enable=false' nextcloud: image: nextcloud links: - nextcloud-db volumes: - './nextcloud/data:/var/www/html' networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:cloud.${SITE}' - 'traefik.port=80' sharelatex: image: sharelatex/sharelatex depends_on: - sharelatex-mongo - sharelatex-redis privileged: true links: - sharelatex-mongo - sharelatex-redis volumes: - './sharelatex/data:/var/lib/sharelatex' - '/var/run/docker.sock:/var/run/docker.sock' networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:latex.${SITE}' - 'traefik.port=80' environment: SHARELATEX_MONGO_URL: mongodb://sharelatex-mongo/sharelatex SHARELATEX_REDIS_HOST: sharelatex-redis SHARELATEX_APP_NAME: ${USERNAME}'s ShareLaTeX SHARELATEX_NAV_TITLE: ${SITE} - ShareLaTeX SHARELATEX_SITE_URL: https://latex.${SITE} SHARELATEX_HEADER_IMAGE_URL: http://somewhere.com/mylogo.png SHARELATEX_ADMIN_EMAIL: ${EMAIL} sharelatex-mongo: restart: always image: mongo expose: - 27017 volumes: - ./sharelatex/mongo:/data/db restart: always labels: - 'traefik.enable=false' sharelatex-redis: restart: always image: redis expose: - 6379 volumes: - ./sharelatex/redis/data:/data restart: always labels: - 'traefik.enable=false' blog-builder: image: jojomi/hugo:0.59 restart: always environment: - HUGO_REFRESH_TIME=3600 - HUGO_THEME=hugo-theme-cactus-plus - HUGO_BASEURL=/ volumes: - ./blog/blog:/src - ./blog/nginx/conf/www:/output restart: always labels: - 'traefik.enable=false' blog: image: nginx:stable-alpine depends_on: - blog-builder volumes: - './blog/nginx/conf:/etc/nginx/conf.d' - './blog/nginx/logs:/var/log/nginx/' networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:blog.${SITE}' - 'traefik.port=80' portainer: image: portainer/portainer networks: - 'srv' volumes: - '/var/run/docker.sock:/var/run/docker.sock' - './portainer/data:/data' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:portainer.${SITE}' - 'traefik.port=9000' jackett: image: linuxserver/jackett:v0.15.5-ls61 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Paris volumes: - ./jackett/config:/config - ./jackett/downloads:/downloads networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:jackett.${SITE}' - 'traefik.port=9117' - 'traefik.frontend.auth.basic.users=${USERS}' sonarr: image: linuxserver/sonarr:2.0.0.5337-ls92 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Paris volumes: - ./sonarr/config:/config - ./sonarr/downloads:/downloads - ./sonarr/tv:/tv links: - transmission - jackett networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:sonarr.${SITE}' - 'traefik.port=8080' - 'traefik.frontend.auth.basic.users=${USERS}' bazarr: image: linuxserver/bazarr:v0.8.3.4-ls61 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Paris volumes: - ./bazarr/config:/config - ./bazarr/movies:/movies - ./bazarr/tv:/tv links: - transmission - jackett - sonarr networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:bazarr.${SITE}' - 'traefik.port=8080' - 'traefik.frontend.auth.basic.users=${USERS}' arachni: image: arachni/arachni networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:arachni.${SITE}' - 'traefik.port=9292' bitwarden: image: bitwardenrs/server:latest user: nobody environment: - ROCKET_PORT=8080 - ADMIN_TOKEN=${USERS} volumes: - ./bitwarden/data:/data networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:bitwarden.${SITE}' - 'traefik.port=8080' factorio: image: factoriotools/factorio ports: - '34197:34197/udp' # - '27015:27015/tcp' # RCON port volumes: - ./factorio:/factorio restart: always labels: - 'traefik.enable=false' wordpress: image: wordpress environment: - WORDPRESS_DB_HOST=wordpress-db - WORDPRESS_DB_USER=wordpress-user - WORDPRESS_DB_PASSWORD=${USERS} - WORDPRESS_DB_NAME=wordpress-db volumes: - ./wordpress/wordpress:/var/www/html depends_on: - wordpress-db links: - wordpress-db networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:wordpress.${SITE}' - 'traefik.port=80' wordpress-db: image: mysql:5.7 environment: - MYSQL_DATABASE=wordpress-db - MYSQL_USER=wordpress-user - MYSQL_PASSWORD=${USERS} - MYSQL_RANDOM_ROOT_PASSWORD=${USERS} volumes: - ./wordpress/db:/var/lib/mysql networks: - 'srv' restart: always labels: - 'traefik.enable=false' peertube: image: chocobozzz/peertube:production-buster environment: - 'PEERTUBE_DB_USERNAME=peertube' - 'PEERTUBE_DB_PASSWORD=${USERS}' - 'PEERTUBE_DB_HOSTNAME=peertube-db' - 'PEERTUBE_WEBSERVER_HOSTNAME=peertube.${SITE}' - 'PEERTUBE_WEBSERVER_PORT=443' - 'PEERTUBE_WEBSERVER_HTTPS=true' - 'PEERTUBE_ADMIN_EMAIL=admin@${SITE}' - 'PEERTUBE_TRUST_PROXY=["127.0.0.1", "loopback", "172.18.0.0/16"]' volumes: - ./peertube/data:/data - ./peertube/config:/config depends_on: - peertube-db - peertube-redis links: - peertube-db - peertube-redis networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:peertube.${SITE}' - 'traefik.port=9000' peertube-db: # peertube-db image: postgres:10-alpine environment: - 'POSTGRES_USER=peertube' - 'POSTGRES_PASSWORD=${USERS}' - 'POSTGRES_DB=peertube' networks: - 'srv' volumes: - ./peertube/db:/var/lib/postgresql/data restart: always labels: - 'traefik.enable=false' peertube-redis: # peertube-redis image: redis:4-alpine networks: - 'srv' volumes: - ./peertube/redis:/data restart: always labels: - 'traefik.enable=false' Loading
docker-compose.yml +0 −499 Original line number Diff line number Diff line version: '2' networks: srv: services: traefik: image: traefik:1.7.12 command: > --api --api.statistics ports: - '80:80' - '443:443' expose: - '8080' networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.port=8080' - 'traefik.frontend.rule=Host:traefik.${SITE}' - 'traefik.frontend.auth.basic.users=${USERS}' volumes: - '/var/run/docker.sock:/var/run/docker.sock' - './traefik/traefik.toml:/traefik.toml' - './traefik/acme.json:/acme.json' - './traefik/logs:/logs' logstash: image: docker.elastic.co/logstash/logstash:7.1.0 links: - elasticsearch volumes: - './logstash/:/usr/share/logstash/pipeline/' - './traefik/logs:/var/log/traefik' - './nginx/logs:/var/log/nginx' restart: always elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.1.0 environment: - 'cluster.name=docker-cluster' - 'bootstrap.memory_lock=true' - 'discovery.type=single-node' - 'ES_JAVA_OPTS=-Xms512m -Xmx512m' restart: always ulimits: memlock: soft: -1 hard: -1 kibana: image: docker.elastic.co/kibana/kibana:7.1.0 links: - elasticsearch networks: - 'srv' # volumes: # - './kibana/:/usr/share/kibana/config/' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:kibana.${SITE}' - 'traefik.port=5601' - 'traefik.frontend.auth.basic.users=${USERS}' gitlab: image: 'gitlab/gitlab-ce:latest' restart: always hostname: 'gitlab.${SITE}' environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab.${SITE}:80' gitlab_rails['gitlab_shell_ssh_port'] = 2224 ports: - '2224:22' volumes: - './gitlab/config:/etc/gitlab' - './gitlab/logs:/var/log/gitlab' - './gitlab/data:/var/opt/gitlab' networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:gitlab.${SITE}' - 'traefik.port=80' runner: image: gitlab/gitlab-runner:latest restart: always volumes: - './gitlab/runner:/etc/gitlab-runner' - '/var/run/docker.sock:/var/run/docker.sock' links: - gitlab restart: always labels: - 'traefik.enable=false' nginx: image: nginx:stable-alpine volumes: - './nginx/conf:/etc/nginx/conf.d' - './nginx/logs:/var/log/nginx/' networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:${SITE}' - 'traefik.port=80' transmission: image: linuxserver/transmission:2.94-r1-ls12 environment: - 'PGID=1000' - 'PUID=1000' - 'TZ=Europe/Paris' ports: - '51413:51413' - '51413:51413/udp' volumes: - './transmission/config:/config' - './transmission/downloads:/downloads' - './transmission/watch:/watch' networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:torrent.${SITE}' - 'traefik.port=9091' - 'traefik.frontend.auth.basic.users=${USERS}' video: image: gkiko/streama:v1.8.1 volumes: - './transmission/downloads:/data' networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:video.${SITE}' - 'traefik.port=8080' vpn: image: hwdsl2/ipsec-vpn-server:latest privileged: true environment: - 'VPN_IPSEC_PSK=' - 'VPN_USER=' - 'VPN_PASSWORD=' - 'VPN_ADDL_USERS=' # space separated values - 'VPN_ADDL_PASSWORDS=' # space separated values ports: - '500:500' - '4500:4500/udp' restart: always volumes: - '/lib/modules:/lib/modules:ro' jupyter: image: jupyter/tensorflow-notebook:45f07a14b422 command: > jupyter notebook --NotebookApp.token='' --NotebookApp.password='' environment: - 'JUPYTER_ENABLE_LAB=yes' volumes: - './jupyter/jupyter/config:/root/.jupyter/' - './jupyter/work:/work' - './jupyter/work:/home/jovyan/work' networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:jupyter.${SITE}' - 'traefik.port=8888' - 'traefik.frontend.auth.basic.users=${USERS}' pastebin: image: mkodockx/docker-pastebin:latest networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:paste.${SITE}' - 'traefik.port=80' nextcloud-db: image: mariadb command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW volumes: - './nextcloud/db:/var/lib/mysql' environment: - 'MYSQL_ROOT_PASSWORD=pass' - 'MYSQL_PASSWORD=' - 'MYSQL_DATABASE=nextcloud' - 'MYSQL_USER=nextcloud' restart: always labels: - 'traefik.enable=false' nextcloud: image: nextcloud links: - nextcloud-db volumes: - './nextcloud/data:/var/www/html' networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:cloud.${SITE}' - 'traefik.port=80' sharelatex: image: sharelatex/sharelatex depends_on: - sharelatex-mongo - sharelatex-redis privileged: true links: - sharelatex-mongo - sharelatex-redis volumes: - './sharelatex/data:/var/lib/sharelatex' - '/var/run/docker.sock:/var/run/docker.sock' networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:latex.${SITE}' - 'traefik.port=80' environment: SHARELATEX_MONGO_URL: mongodb://sharelatex-mongo/sharelatex SHARELATEX_REDIS_HOST: sharelatex-redis SHARELATEX_APP_NAME: ${USERNAME}'s ShareLaTeX SHARELATEX_NAV_TITLE: ${SITE} - ShareLaTeX SHARELATEX_SITE_URL: https://latex.${SITE} SHARELATEX_HEADER_IMAGE_URL: http://somewhere.com/mylogo.png SHARELATEX_ADMIN_EMAIL: ${EMAIL} sharelatex-mongo: restart: always image: mongo expose: - 27017 volumes: - ./sharelatex/mongo:/data/db restart: always labels: - 'traefik.enable=false' sharelatex-redis: restart: always image: redis expose: - 6379 volumes: - ./sharelatex/redis/data:/data restart: always labels: - 'traefik.enable=false' blog-builder: image: jojomi/hugo:0.59 restart: always environment: - HUGO_REFRESH_TIME=3600 - HUGO_THEME=hugo-theme-cactus-plus - HUGO_BASEURL=/ volumes: - ./blog/blog:/src - ./blog/nginx/conf/www:/output restart: always labels: - 'traefik.enable=false' blog: image: nginx:stable-alpine depends_on: - blog-builder volumes: - './blog/nginx/conf:/etc/nginx/conf.d' - './blog/nginx/logs:/var/log/nginx/' networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:blog.${SITE}' - 'traefik.port=80' portainer: image: portainer/portainer networks: - 'srv' volumes: - '/var/run/docker.sock:/var/run/docker.sock' - './portainer/data:/data' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:portainer.${SITE}' - 'traefik.port=9000' jackett: image: linuxserver/jackett:v0.15.5-ls61 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Paris volumes: - ./jackett/config:/config - ./jackett/downloads:/downloads networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:jackett.${SITE}' - 'traefik.port=9117' - 'traefik.frontend.auth.basic.users=${USERS}' sonarr: image: linuxserver/sonarr:2.0.0.5337-ls92 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Paris volumes: - ./sonarr/config:/config - ./sonarr/downloads:/downloads - ./sonarr/tv:/tv links: - transmission - jackett networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:sonarr.${SITE}' - 'traefik.port=8080' - 'traefik.frontend.auth.basic.users=${USERS}' bazarr: image: linuxserver/bazarr:v0.8.3.4-ls61 environment: - PUID=1000 - PGID=1000 - TZ=Europe/Paris volumes: - ./bazarr/config:/config - ./bazarr/movies:/movies - ./bazarr/tv:/tv links: - transmission - jackett - sonarr networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:bazarr.${SITE}' - 'traefik.port=8080' - 'traefik.frontend.auth.basic.users=${USERS}' arachni: image: arachni/arachni networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:arachni.${SITE}' - 'traefik.port=9292' bitwarden: image: bitwardenrs/server:latest user: nobody environment: - ROCKET_PORT=8080 - ADMIN_TOKEN=${USERS} volumes: - ./bitwarden/data:/data networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:bitwarden.${SITE}' - 'traefik.port=8080' factorio: image: factoriotools/factorio ports: - '34197:34197/udp' # - '27015:27015/tcp' # RCON port volumes: - ./factorio:/factorio restart: always labels: - 'traefik.enable=false' wordpress: image: wordpress environment: - WORDPRESS_DB_HOST=wordpress-db - WORDPRESS_DB_USER=wordpress-user - WORDPRESS_DB_PASSWORD=${USERS} - WORDPRESS_DB_NAME=wordpress-db volumes: - ./wordpress/wordpress:/var/www/html depends_on: - wordpress-db links: - wordpress-db networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:wordpress.${SITE}' - 'traefik.port=80' wordpress-db: image: mysql:5.7 environment: - MYSQL_DATABASE=wordpress-db - MYSQL_USER=wordpress-user - MYSQL_PASSWORD=${USERS} - MYSQL_RANDOM_ROOT_PASSWORD=${USERS} volumes: - ./wordpress/db:/var/lib/mysql networks: - 'srv' restart: always labels: - 'traefik.enable=false' peertube: image: chocobozzz/peertube:production-buster environment: - 'PEERTUBE_DB_USERNAME=peertube' - 'PEERTUBE_DB_PASSWORD=${USERS}' - 'PEERTUBE_DB_HOSTNAME=peertube-db' - 'PEERTUBE_WEBSERVER_HOSTNAME=peertube.${SITE}' - 'PEERTUBE_WEBSERVER_PORT=443' - 'PEERTUBE_WEBSERVER_HTTPS=true' - 'PEERTUBE_ADMIN_EMAIL=admin@${SITE}' - 'PEERTUBE_TRUST_PROXY=["127.0.0.1", "loopback", "172.18.0.0/16"]' volumes: - ./peertube/data:/data - ./peertube/config:/config depends_on: - peertube-db - peertube-redis links: - peertube-db - peertube-redis networks: - 'srv' restart: always labels: - 'traefik.enable=true' - 'traefik.frontend.rule=Host:peertube.${SITE}' - 'traefik.port=9000' peertube-db: # peertube-db image: postgres:10-alpine environment: - 'POSTGRES_USER=peertube' - 'POSTGRES_PASSWORD=${USERS}' - 'POSTGRES_DB=peertube' networks: - 'srv' volumes: - ./peertube/db:/var/lib/postgresql/data restart: always labels: - 'traefik.enable=false' peertube-redis: # peertube-redis image: redis:4-alpine networks: - 'srv' volumes: - ./peertube/redis:/data restart: always labels: - 'traefik.enable=false'