mirror of
https://github.com/ImranR98/selfhostingfromscratch.git
synced 2026-04-23 22:38:01 -04:00
75 lines
2.6 KiB
YAML
75 lines
2.6 KiB
YAML
services:
|
|
|
|
frpc: # https://github.com/fatedier/frp
|
|
image: fatedier/frpc:v0.65.0
|
|
container_name: frpc
|
|
restart: always
|
|
volumes:
|
|
- ./frpc.toml:/frpc.toml
|
|
network_mode: host
|
|
command: "-c /frpc.toml"
|
|
|
|
traefik: # https://github.com/traefik/traefik
|
|
image: traefik:latest
|
|
container_name: traefik
|
|
command:
|
|
- "--api=true"
|
|
- "--api.dashboard=true"
|
|
- "--api.insecure=false"
|
|
- "--global.sendAnonymousUsage=false"
|
|
- "--global.checkNewVersion=true"
|
|
- "--log.level=DEBUG"
|
|
- "--providers.docker=true"
|
|
- "--providers.docker.exposedByDefault=false"
|
|
- "--entryPoints.web=true"
|
|
- "--entryPoints.web.address=:80"
|
|
- "--entryPoints.web.http.redirections.entryPoint.to=websecure"
|
|
- "--entryPoints.web.http.redirections.entryPoint.scheme=https"
|
|
- "--entrypoints.web.http.redirections.entrypoint.permanent=true"
|
|
- "--entryPoints.websecure=true"
|
|
- "--entryPoints.websecure.address=:443"
|
|
- "--entryPoints.websecure.proxyProtocol.trustedIPs=172.19.0.1/32"
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- traefik_acme:/acme
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.api.rule=Host(`traefik.imranr.cloud`)"
|
|
- "traefik.http.routers.api.entryPoints=websecure"
|
|
- "traefik.http.routers.api.service=api@internal"
|
|
- "traefik.http.routers.api.tls=true"
|
|
restart: unless-stopped
|
|
networks:
|
|
- traefik
|
|
|
|
filebrowser: # https://github.com/filebrowser/filebrowser
|
|
container_name: filebrowser
|
|
image: filebrowser/filebrowser
|
|
restart: unless-stopped
|
|
user: "1000:1000"
|
|
volumes:
|
|
- ./filebrowser_storage:/srv # Create first
|
|
- filebrowser_db:/database
|
|
depends_on:
|
|
- traefik
|
|
networks:
|
|
- traefik
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.filebrowser.rule=Host(`files.imranr.cloud`)"
|
|
- "traefik.http.routers.filebrowser.entrypoints=websecure"
|
|
- "traefik.http.routers.filebrowser.tls=true"
|
|
- "traefik.http.services.filebrowser.loadbalancer.server.port=80"
|
|
|
|
volumes:
|
|
filebrowser_db:
|
|
traefik_acme:
|
|
|
|
networks:
|
|
traefik:
|
|
ipam:
|
|
config:
|
|
- subnet: 172.19.0.0/16 |