Created
July 10, 2023 23:36
-
-
Save gschanuel/234f1d1c529ced34519a802e151fe94a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: '3' | |
name: frontend | |
services: | |
nginx-proxy: | |
image: jwilder/nginx-proxy | |
restart: unless-stopped | |
container_name: nginx-proxy | |
ports: | |
- "80:80" | |
- "443:443" | |
environment: | |
- CERT_NAME = gschanuel.com | |
volumes: | |
- html:/usr/share/nginx/html | |
- dhparam:/etc/nginx/dhparam | |
- vhost:/etc/nginx/vhost.d | |
- /etc/letsencrypt/live/gschanuel.com/fullchain.pem:/etc/nginx/certs/gschanuel.com.crt:ro | |
- /etc/letsencrypt/live/gschanuel.com/privkey.pem:/etc/nginx/certs/gschanuel.com.key:ro | |
- /var/run/docker.sock:/tmp/docker.sock:ro | |
networks: | |
- frontend | |
- mediaserver | |
- services | |
google-dns: | |
image: ghcr.io/aaomidi/certbot-dns-google-domains:latest | |
container_name: google-dns | |
volumes: | |
- /var/lib/letsencrypt:/var/lib/letsencrypt | |
- /etc/letsencrypt:/etc/letsencrypt | |
cap_drop: | |
- ALL | |
command: >- | |
certbot certonly --authenticator 'dns-google-domains' --dns-google-domains-credentials '/var/lib/letsencrypt/dns_google_domains_credentials.ini' --server 'https://acme-v02.api.letsencrypt.org/directory' --non-interactive --dns-google-domains-zone 'gschanuel.com' -d '*.gschanuel.com' | |
networks: | |
- frontend | |
volumes: | |
html: | |
vhost: | |
dhparam: | |
networks: | |
frontend: | |
driver: bridge | |
name: frontend | |
mediaserver: | |
name: mediaserver | |
services: | |
name: services | |
backend: | |
driver: bridge | |
name: backend | |
version: "3" | |
name: gitea | |
services: | |
server: | |
image: gitea/gitea | |
container_name: gitea | |
environment: | |
- USER_UID=1000 | |
- USER_GID=1000 | |
- GITEA__database__DB_TYPE=postgres | |
- GITEA__database__HOST=postgresql:5432 | |
- GITEA__database__NAME=gitea | |
- GITEA__database__USER=gitea_user | |
- GITEA__database__PASSWD=!#a3485f20431f7595eb67eba90bda1ac5#! | |
- VIRTUAL_HOST=gitea.gschanuel.com | |
- VIRTUAL_PORT=3000 | |
- DISABLE_REGISTRATION=true | |
restart: unless-stopped | |
networks: | |
- services | |
volumes: | |
- /opt/docker-data/gitea:/data | |
- /etc/timezone:/etc/timezone:ro | |
- /etc/localtime:/etc/localtime:ro | |
networks: | |
services: | |
external: true | |
version: '3' | |
services: | |
common: | |
user: 1000:1000 | |
networks: | |
- mediaserver | |
volumes: | |
Movies: | |
driver: local | |
driver_opts: | |
type: none | |
device: /media/Movies/ | |
o: bind,rw | |
Series: | |
driver: local | |
driver_opts: | |
type: none | |
device: /media/Series/ | |
o: bind,rw | |
downloading: | |
driver: local | |
driver_opts: | |
type: none | |
device: /media/.downloading/ | |
o: bind,rw | |
Completed: | |
driver: local | |
driver_opts: | |
type: none | |
device: /media/Completed/ | |
o: bind,rw | |
networks: | |
mediaserver: | |
name: mediaserver | |
version: '3' | |
name: mediaserver | |
services: | |
jellyfin: | |
extends: | |
file: mediaserver-common.yaml | |
service: common | |
container_name: jellyfin | |
image: tccr.io/truecharts/jellyfin | |
restart: unless-stopped | |
environment: | |
- VIRTUAL_HOST=jellyfin.gschanuel.com | |
- VIRTUAL_PORT=8096 | |
group_add: | |
- "989" | |
devices: | |
- /dev/dri:/dev/dri | |
volumes: | |
- /opt/docker-data/jellyfin-config/:/config | |
- Movies:/storage/Movies:rw | |
- Series:/storage/Series:rw | |
- Completed:/storage/Completed:rw | |
- cache:/cache | |
bazarr: | |
extends: | |
file: mediaserver-common.yaml | |
service: common | |
container_name: bazarr | |
image: tccr.io/truecharts/bazarr | |
restart: unless-stopped | |
environment: | |
- VIRTUAL_HOST=bazarr.gschanuel.com | |
- VIRTUAL_PORT=6767 | |
volumes: | |
- /opt/docker-data/bazarr-config/:/config | |
- Series:/storage/Series:rw | |
- Movies:/storage/Movies:rw | |
deluge: | |
container_name: deluge | |
image: tccr.io/truecharts/deluge | |
restart: unless-stopped | |
environment: | |
- VIRTUAL_HOST=deluge.gschanuel.com | |
- VIRTUAL_PORT=8112 | |
- PUID=1000 | |
- PGID=1000 | |
networks: | |
- mediaserver | |
volumes: | |
- /opt/docker-data/deluge-config/:/config | |
- Movies:/storage/Movies:rw | |
- Series:/storage/Series:rw | |
- Completed:/storage/Completed:rw | |
- downloading:/storage/.downloading:rw | |
prowlarr: | |
extends: | |
file: mediaserver-common.yaml | |
service: common | |
container_name: prowlarr | |
image: tccr.io/truecharts/prowlarr | |
restart: unless-stopped | |
environment: | |
- VIRTUAL_HOST=prowlarr.gschanuel.com | |
- VIRTUAL_PORT=9696 | |
volumes: | |
- /opt/docker-data/prowlarr-config/:/config | |
radarr: | |
extends: | |
file: mediaserver-common.yaml | |
service: common | |
container_name: radarr | |
image: tccr.io/truecharts/radarr | |
restart: unless-stopped | |
environment: | |
- VIRTUAL_HOST=radarr.gschanuel.com | |
- VIRTUAL_PORT=7878 | |
volumes: | |
- /opt/docker-data/radarr-config/:/config | |
- Movies:/storage/Movies:rw | |
- Completed:/storage/Completed:rw | |
sonarr: | |
extends: | |
file: mediaserver-common.yaml | |
service: common | |
container_name: sonarr | |
image: tccr.io/truecharts/sonarr | |
restart: unless-stopped | |
environment: | |
- VIRTUAL_HOST=sonarr.gschanuel.com | |
- VIRTUAL_PORT=8989 | |
volumes: | |
- /opt/docker-data/sonarr-config/:/config | |
- Series:/storage/Series:rw | |
- Completed:/storage/Completed:rw | |
volumes: | |
cache: | |
Movies: | |
driver: local | |
driver_opts: | |
type: none | |
device: /media/Movies/ | |
o: bind,rw | |
Series: | |
driver: local | |
driver_opts: | |
type: none | |
device: /media/Series/ | |
o: bind,rw | |
downloading: | |
driver: local | |
driver_opts: | |
type: none | |
device: /media/.downloading/ | |
o: bind,rw | |
Completed: | |
driver: local | |
driver_opts: | |
type: none | |
device: /media/Completed/ | |
o: bind,rw | |
networks: | |
mediaserver: | |
name: mediaserver | |
external: true | |
version: '3' | |
services: | |
portainer: | |
image: portainer/portainer-ce:latest | |
container_name: portainer | |
restart: unless-stopped | |
security_opt: | |
- no-new-privileges:true | |
volumes: | |
- /etc/localtime:/etc/localtime:ro | |
- /var/run/docker.sock:/var/run/docker.sock:ro | |
- /opt/docker-data/portainer:/data | |
ports: | |
- 9000:9000 | |
version: '3' | |
name: postgres | |
services: | |
postgresql: | |
image: postgres:13 | |
container_name: postgresql | |
restart: unless-stopped | |
environment: | |
- POSTGRES_PASSWORD="!#g4br13l.sch4nu3l#!" | |
- PGDATA=/var/lib/postgresql/data/pgdata | |
volumes: | |
- postgresql-data:/var/lib/postgresql/data | |
networks: | |
- services | |
networks: | |
services: | |
name: services | |
external: true | |
volumes: | |
postgresql-data: | |
driver: local | |
driver_opts: | |
type: local | |
device: /opt/docker-data/postgresql-data | |
o: bind,rw | |
version: '3' | |
name: services | |
services: | |
vaultwarden: | |
image: tccr.io/truecharts/vaultwarden | |
container_name: vaultwarden | |
restart: unless-stopped | |
environment: | |
- VIRTUAL_HOST=vaultwarden.gschanuel.com | |
- VIRTUL_PORT=3012 | |
- I_REALLY_WANT_VOLATILE_STORAGE=true | |
volumes: | |
- /opt/docker-data/vaultwarden-config:/data | |
networks: | |
- services | |
networks: | |
services: | |
name: services | |
external: true |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment