docker-compose.yml 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. version: "3.9"
  2. volumes:
  3. pihole_config_etc:
  4. pihole_config_dnsmasq:
  5. heimdall_config:
  6. git_data:
  7. postgres_data:
  8. services:
  9. traefik:
  10. image: traefik:v2.9
  11. command: --api.insecure=true --providers.docker
  12. ports:
  13. - "10.10.20.251:80:80/tcp"
  14. - "10.10.20.251:443:443/tcp"
  15. - "10.10.20.254:8080:8080/tcp"
  16. volumes:
  17. # So that Traefik can listen to the Docker events
  18. - /var/run/docker.sock:/var/run/docker.sock
  19. heimdall:
  20. environment:
  21. - PGID=1000
  22. - PUID=1000
  23. image: ghcr.io/linuxserver/heimdall
  24. ports:
  25. - "10.10.20.254:80:80/tcp"
  26. restart: unless-stopped
  27. volumes:
  28. - heimdall_config:/config:rw
  29. - /etc/timezone:/etc/timezone:ro
  30. - /etc/localtime:/etc/localtime:ro
  31. pihole:
  32. dns:
  33. - 202.142.142.142
  34. - 202.142.142.242
  35. environment:
  36. - PUID=1000
  37. - CONDITIONAL_FORWARDING_IP=10.10.20.1
  38. - CONDITIONAL_FORWARDING_DOMAIN=playne.id.au
  39. - DNS2=202.142.142.242
  40. - ServerIP=10.10.20.253
  41. - CONDITIONAL_FORWARDING=True
  42. - DNS1=202.142.142.142
  43. - PGID=1000
  44. - DNS_IPv6=2403:5800:c100:7802::feed
  45. - DNS_IP=10.10.20.253
  46. - IPv6=True
  47. image: pihole/pihole:latest
  48. ports:
  49. - "10.10.20.253:443:443/tcp"
  50. - "10.10.20.253:53:53/tcp"
  51. - "10.10.20.253:53:53/udp"
  52. - "10.10.20.253:80:80/tcp"
  53. restart: unless-stopped
  54. volumes:
  55. - /etc/timezone:/etc/timezone:ro
  56. - /etc/localtime:/etc/localtime:ro
  57. - pihole_config_etc:/etc/pihole:rw
  58. - pihole_config_dnsmasq:/etc/dnsmasq.d:rw
  59. git:
  60. image: gogs/gogs
  61. ports:
  62. - "10022:22"
  63. - "3000:3000"
  64. volumes:
  65. - git_data:/data
  66. nextcloud:
  67. image: nextcloud
  68. restart: unless-stopped
  69. ports:
  70. - "10.10.20.252:80:80/tcp"
  71. volumes:
  72. - /mnt/documents/files/cloud/:/var/www/html
  73. environment:
  74. - POSTGRES_DB=nextcloud
  75. - POSTGRES_USER=nextcloud
  76. - POSTGRES_PASSWORD=nextcloud
  77. - POSTGRES_HOST=postgres
  78. depends_on:
  79. - postgres
  80. labels:
  81. - traefik.http.routers.nextcloud.rule=Host(`cloud.playne.au`)
  82. postgres:
  83. image: postgres:14
  84. ports:
  85. - "5432"
  86. volumes:
  87. - postgres_data:/var/lib/postgresql/data
  88. environment:
  89. - POSTGRES_PASSWORD=nextcloud
  90. - POSTGRES_USER=nextcloud
  91. - POSTGRES_DB=nextcloud