diff --git a/Home.md b/Home.md index cd3ac04..abc79fb 100644 --- a/Home.md +++ b/Home.md @@ -3,4 +3,145 @@ There are two scripts and a Docker Compose file. The Docker Compose file will ju I created a script to prompt you for that information. Download it to the PC, and you run it by: `.\setup-docker-containers-only.sh` I created another script to download and install both Docker and Docker-Compose. To install you will need to download it and running it by: `install-docker-and-dockercompose.sh` - \ No newline at end of file + +Edit the folling if you use the docker compose file + +`volumes: + redis_data: + driver: local + redis: + driver: local + letsencrypt: + driver: local + phpmyadmin: + driver: local + +services: + + traefik: + image: traefik:latest + container_name: Proxy + restart: unless-stopped + command: + - "--log.level=DEBUG" + - "--accesslog=true" + - "--api.insecure=true" + - "--providers.docker=true" + - "--providers.docker.exposedbydefault=true" + - "--entrypoints.web.address=:80" + - "--entrypoints.websecure.address=:443" + - "--entrypoints.web.http.redirections.entryPoint.to=websecure" + - "--entrypoints.web.http.redirections.entryPoint.scheme=https" + - "--certificatesresolvers.myresolver.acme.httpchallenge=true" + - "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web" + - "--certificatesresolvers.myresolver.acme.email=**enteryour@email.com**" + - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json" + ports: + - 80:80 + - 443:443 + - 8081:8080 + networks: + - web + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - letsencrypt:/letsencrypt + - **/some/local/location**/Traefik/acme.json:/acme.json + - **/some/local/location**/Traefik/files/:/etc/traefik/traefik.yml + + redis: + image: redis:latest + container_name: Redis + restart: unless-stopped + networks: + - web + volumes: + - redis:/var/lib/redis + - redis_data:/data + labels: + - traefik.enable=true + - traefik.backend=redis + + NextCloud: + image: nextcloud:latest + container_name: **NameOfYourContainer** + restart: unless-stopped + networks: + - web + labels: + - traefik.protocol=http + - traefik.port=80 + - traefik.http.routers.nextcloud.middlewares=nextcloud,nextcloud_redirect + - traefik.http.routers.nextcloud.tls=true + - traefik.http.routers.nextcloud.entrypoints=websecure + - traefik.http.routers.nextcloud.tls.certresolver=myresolver + - traefik.http.routers.nextcloud.rule=Host(`nextcloud.**domain.com**`) + - traefik.http.middlewares.nextcloud.headers.customFrameOptionsValue=ALLOW-FR> + - traefik.http.middlewares.nextcloud.headers.stsSeconds=155520011 + - traefik.http.middlewares.nextcloud.headers.stsIncludeSubdomains=true + - traefik.http.middlewares.nextcloud.headers.stsPreload=true + - traefik.http.middlewares.nextcloud.redirectregex.regex=/.well-know> + - traefik.http.middlewares.nextcloud_redirect.redirectregex.replacement=/remo> + environment: + - MYSQL_HOST=mysql + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=MySQLUser + - MYSQL_PASSWORD=**MySQLPassword** + - NEXTCLOUD_ADMIN_USER=admin + - NEXTCLOUD_ADMIN_PASSWORD=adminpass + - REDIS_HOST=redis + - NEXTCLOUD_TRUSTED_DOMAINS=**some.domain.com** + - TRUSTED_PROXIES=172.18.0.0/16 + volumes: + - **/path/to/you**/data/:/var/www/html + + portainer: + image: portainer/portainer-ce:latest + container_name: Container-WebUI + command: -H unix:///var/run/docker.sock + restart: always + labels: + - "traefik.enable=true" + - "traefik.http.routers.portainer.entrypoints=web" + - "traefik.http.routers.portainer.rule=Host(`portainer.**domain.com**`)" + - "traefik.http.middlewares.portainer-https-redirect.redirectscheme.scheme=https" + - "traefik.http.routers.portainer.middlewares=portainer-https-redirect" + - "traefik.http.routers.portainer-secure.entrypoints=websecure" + - "traefik.http.routers.portainer-secure.rule=Host(`portainer.**domain.com**`)" + - "traefik.http.routers.portainer-secure.tls=true" + - "traefik.http.routers.portainer-secure.tls.certresolver=myresolver" + - "traefik.http.routers.portainer-secure.service=portainer" + - "traefik.http.services.portainer.loadbalancer.server.port=9000" + - "traefik.docker.network=traefik-proxy" + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - **/some/local/location**/Portainer:/data + ports: + - 9001:9001 + - 8081:9000 +# - 82:8000 + networks: + - web + + phpmyadmin: + image: phpmyadmin/phpmyadmin + container_name: Database-WebUI + restart: unless-stopped + networks: + - web + environment: + - PMA_ARBITRARY=1 + labels: + - traefik.backend=phpmyadmin + - traefik.http.routers.phpmyadmin.tls.certresolver=myresolver + - traefik.http.routers.phpmyadmin.rule=Host(`phpmyadmin.**domain.com**`) + - traefik.docker.network=web + - traefik.port=80 + - traefik.port=443 + volumes: + - phpmyadmin:/sessions + - **/some/local/location/**phpmyadmin/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php + - **/some/local/location/**phpmyadmin/theme/:/www/themes/theme/ + +networks: + web: + external: true' \ No newline at end of file