Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- version: "3.7"
- networks:
- traefik_proxy:
- external:
- name: traefik_proxy
- internal:
- external: false
- default:
- driver: bridge
- services:
- traefik:
- hostname: traefik
- image: traefik:v1.7
- container_name: traefik
- restart: always
- domainname: ${DOMAINNAME}
- networks:
- - default
- - traefik_proxy
- ports:
- - "80:80"
- - "443:443"
- # - "XXXX:8080"
- environment:
- - DO_AUTH_TOKEN=${DO_AUTH_TOKEN}
- labels:
- - "traefik.enable=true"
- - "traefik.backend=traefik"
- - "traefik.frontend.rule=Host:traefik.${DOMAINNAME}"
- # - "traefik.frontend.rule=Host:${DOMAINNAME}; PathPrefixStrip: /traefik"
- - "traefik.port=8080"
- - "traefik.docker.network=traefik_proxy"
- - "traefik.frontend.headers.SSLRedirect=true"
- - "traefik.frontend.headers.STSSeconds=315360000"
- - "traefik.frontend.headers.browserXSSFilter=true"
- - "traefik.frontend.headers.contentTypeNosniff=true"
- - "traefik.frontend.headers.forceSTSHeader=true"
- - "traefik.frontend.headers.SSLHost=example.com"
- - "traefik.frontend.headers.STSIncludeSubdomains=true"
- - "traefik.frontend.headers.STSPreload=true"
- - "traefik.frontend.headers.frameDeny=true"
- - "traefik.frontend.auth.basic.users=${HTTP_USERNAME}:${HTTP_PASSWORD}"
- volumes:
- - /var/run/docker.sock:/var/run/docker.sock:ro
- - ${USERDIR}/docker/traefik:/etc/traefik
- - ${USERDIR}/docker/shared:/shared
- portainer:
- container_name: portainer
- image: portainer/portainer
- # command: -H unix:///var/run/docker.dock
- volumes:
- - ${PWD}/data:/data
- - /var/run/docker.sock:/var/run/docker.sock
- labels:
- - "traefik.enable=true"
- - "traefik.frontend.rule=Host:portainer.${DOMAINNAME}"
- - "traefik.port=9000"
- wallabag:
- container_name: wallabag
- image: wallabag/wallabag
- volumes:
- - ${PWD}/wallabag/data:/var/www/wallabag/data
- - ${PWD}/wallabag/images:/var/www/wallabag/web/assets/images
- environment:
- - SYMFONY__ENV__FOSUSER_REGISTRATION=false
- - SYMFONY__ENV__DOMAIN_NAME=https://wallabag.${DOMAINNAME}
- - SYMFONY__ENV__FOSUSER_CONFIRMATION=false
- - MYSQL_ROOT_PASSWORD=mywallabagpassword
- - SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql
- - SYMFONY__ENV__DATABASE_HOST=db
- - SYMFONY__ENV__DATABASE_PORT=3306
- - SYMFONY__ENV__DATABASE_NAME=wallabag
- - SYMFONY__ENV__DATABASE_USER=wallabag
- - SYMFONY__ENV__DATABASE_PASSWORD=mywallabagpassword
- - SYMFONY__ENV__DATABASE_CHARSET=utf8mb4
- - SYMFONY__ENV__MAILER_HOST=127.0.0.1
- - SYMFONY__ENV__MAILER_USER=
- - SYMFONY__ENV__MAILER_PASSWORD=
- - SYMFONY__ENV__FROM_EMAIL=wallabag@example.com
- labels:
- - "traefik.enable=true"
- - "traefik.frontend.rule=Host:wallabag.${DOMAINNAME}"
- ports:
- - "80"
- db:
- image: mariadb
- environment:
- - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- volumes:
- - /opt/wallabag/data:/var/lib/mysql
- redis:
- image: redis:alpine
- ####################################################################################
- ## ttrss stuff ###
- ####################################################################################
- ttrss_db:
- image: postgres:12-alpine
- restart: unless-stopped
- volumes:
- - ./ttrss-docker/db:/var/lib/postgresql/data
- environment:
- - POSTGRES_PASSWORD=${MYSQL_ROOT_PASSWORD}
- - POSTGRES_USER=${MYSQL_USER}
- ttrss_app:
- build:
- context:
- ./ttrss-docker/app
- args:
- - OWNER_UID=${PUID}
- - OWNER_GID=${PGID}
- restart: unless-stopped
- environment:
- - DB_TYPE=pgsql
- - DB_HOST=ttrss_db
- - DB_NAME=${MYSQL_USER}
- - DB_USER=${MYSQL_USER}
- - DB_PASS=${MYSQL_ROOT_PASSWORD}
- - OWNER_UID=${PUID}
- - OWNER_GID=${PGID}
- - SELF_URL_PATH=${DOMAINNAME}:9002
- volumes:
- - ./ttrss-docker/app:/var/www/html
- depends_on:
- - ttrss_db
- labels:
- - "traefik.docker.network=traefik_proxy"
- - "traefik.enable=true"
- - "traefik.backend=ttrss"
- - "traefik.frontend.rule=Host:ttrss.${DOMAINNAME}"
- # - "traefik.frontend.auth.forward.address=https://login.${DOMAINNAME}/api/verify?rd=https://login.${DOMAINNAME}/%23/"
- - "traefik.frontend.headers.customRequestHeaders=X-ORIGINAL-URL:https://ttrss.${DOMAINNAME}"
- - "traefik.frontend.auth.forward.tls.insecureSkipVerify=true"
- - "traefik.http.port=80"
- - "traefik.port=9002"
- ttrss_web:
- build: ./ttrss-docker/web
- restart: unless-stopped
- ports:
- - ${HTTP_PORT}:2015
- volumes:
- - ./ttrss-docker/app:/var/www/html:ro
- depends_on:
- - ttrss_app
- # web-ssl:
- # build: ./web-ssl
- # restart: unless-stopped
- # environment:
- # - CADDYPATH=/certs
- # - HTTP_HOST=${HTTP_HOST}
- # ports:
- # - 80:80
- # - 443:443
- # volumes:
- # - app:/var/www/html:ro
- # - certs:/certs
- # depends_on:
- ## - app
- # volumes:
- # ./ttrss-docker/db:
- # ./ttrss-docker/app:
- # certs:
- #################################################################3
- #### Bitwarden ##########
- ##################################################################
- bitwarden_web:
- image: bitwardenrs/server:latest
- restart: unless-stopped
- networks:
- - traefik_proxy
- volumes:
- - /var/homelabos/bitwarden:/bitwarden/data
- environment:
- - SMTP_HOST={{ smtp.host }}
- - SMTP_FROM={{ smtp.from_email }}
- - SMTP_PORT=587
- - SMTP_SSL=true
- - SMTP_USERNAME={{ smtp.user }}
- - SMTP_PASSWORD={{ smtp.pass }}
- labels:
- - "traefik.enable=true"
- - "traefik.docker.network=traefik_proxy"
- - "traefik.http.frontend.rule=Host:bitwarden.${DOMAINNAME}"
- - "traefik.http.protocol=http"
- - "traefik.http.port=80"
- - "traefik.port=9003"
- - "traefik.http.frontend.headers.customFrameOptionsValue=ALLOW-FROM http://${DOMAINNAME}"
- - "traefik.http.frontend.headers.customFrameOptionsValue=ALLOW-FROM https://${DOMAINNAME}"
- #{% if enable_tor %}
- # - "traefik.tor.frontend.rule=Host:bitwarden.{{ tor_domain }}"
- # - "traefik.tor.protocol=http"
- # - "traefik.tor.port=80"
- #{% endif %}
- ##########################################################################################
- ##### Calibre ##
- ##########################################################################################
- calibre-web:
- image: linuxserver/calibre-web
- container_name: calibre-web
- environment:
- - PUID=${PUID}
- - PGID=${PGID}
- - TZ=${TZ}
- - DOCKER_MODS=linuxserver/calibre-web:calibre
- volumes:
- - /home/useruser/calibre-library/config:${PWD}/calibre-web/config
- - /home/useruser/calibre-library:${PWD}/calibre-web/books
- restart: unless-stopped
- labels:
- - "traefik.enable=true"
- - "traefik.docker.network=traefik_proxy"
- - "traefik.http.frontend.rule=Host:calibre.${DOMAINNAME}"
- - "traefik.http.protocol=http"
- - "traefik.http.port=80"
- - "traefik.port=9004"
- - "traefik.http.frontend.headers.customFrameOptionsValue=ALLOW-FROM http://${DOMAINNAME}"
- - "traefik.http.frontend.headers.customFrameOptionsValue=ALLOW-FROM https://${DOMAINNAME}"
- - "traefik.frontend.auth.forward.tls.insecureSkipVerify=true"
- ####################################################################################################3
- ### php-admin #####
- #####################################################################################################
- phpmyadmin:
- image: phpmyadmin/phpmyadmin
- container_name: phpmyadmin
- environment:
- - PMA_ARBITRARY=1
- restart: always
- volumes:
- - /sessions
- labels:
- - "traefik.enable=true"
- - "traefik.docker.network=traefik_proxy"
- - "traefik.http.frontend.rule=Host:myad.${DOMAINNAME}"
- - "traefik.http.protocol=http"
- - "traefik.http.port=80"
- - "traefik.port=9005"
- - "traefik.http.frontend.headers.customFrameOptionsValue=ALLOW-FROM http://${DOMAINNAME}"
- - "traefik.http.frontend.headers.customFrameOptionsValue=ALLOW-FROM https://${DOMAINNAME}"
- - "traefik.frontend.auth.forward.tls.insecureSkipVerify=true"
- ports:
- - '9005:9005'
- # - '443:443'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement