composer/docker-compose.yml
padriano c134eb3d7a add samba SMB share container on macvlan network
- New dperson/samba service at 192.168.1.247 via macvlan_lan network
- Avoids port 445 conflict with existing timemachine container
- Shares /home/padriano/share as authenticated [Share] over SMB2/3
- Avahi service file for Finder sidebar discovery

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-09 21:45:01 +01:00

97 lines
2.5 KiB
YAML

services:
duckdns:
image: lscr.io/linuxserver/duckdns:36a2e3a3-ls78
container_name: duckdns
restart: unless-stopped
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
- SUBDOMAINS=${DUCKDNS_SUBDOMAINS}
- TOKEN=${DUCKDNS_TOKEN}
- UPDATE_IP=ipv4
- LOG_FILE=true
volumes:
- /home/padriano/projects/duckdns/config:/config
homeassistant:
image: homeassistant/home-assistant:2024.5.4
container_name: homeassistant
restart: unless-stopped
network_mode: host
depends_on:
- duckdns
environment:
- TZ=${TZ}
volumes:
- /home/padriano/projects/ha/config:/config
healthcheck:
test: ["CMD", "curl", "-fsSL", "http://localhost:8123/api/"]
interval: 30s
timeout: 10s
retries: 5
start_period: 60s
forgejo:
image: codeberg.org/forgejo/forgejo:10
container_name: forgejo
hostname: forgejo
restart: unless-stopped
ports:
- "3000:3000"
- "2222:22"
environment:
- USER_UID=${PUID}
- USER_GID=${PGID}
volumes:
- /home/padriano/projects/forgejo:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
samba:
image: dperson/samba:latest
container_name: samba
hostname: samba
restart: unless-stopped
networks:
macvlan_lan:
ipv4_address: 192.168.1.247
environment:
- USERID=${SAMBA_UID}
- GROUPID=${SAMBA_GID}
- TZ=${TZ}
command: >
-u "${SAMBA_USERNAME};${SAMBA_PASSWORD}"
volumes:
- /home/padriano/share:/share
- /home/padriano/projects/composer/samba/smb.conf:/etc/samba/smb.conf:ro
timemachine:
image: mbentley/timemachine:smb-20260503
container_name: timemachine
hostname: timemachine
restart: unless-stopped
network_mode: host
tmpfs:
- /run/samba
ulimits:
nofile:
soft: 65536
hard: 65536
environment:
- TM_UID=${TM_UID}
- TM_GID=${TM_GID}
- TM_GROUPNAME=${TM_GROUPNAME}
- TM_USERNAME=${TM_USERNAME}
- PASSWORD=${TIMEMACHINE_PASSWORD}
- SET_PERMISSIONS=false
- VOLUME_SIZE_LIMIT=${TIMEMACHINE_VOLUME_LIMIT}
- CUSTOM_SMB_CONF=true
volumes:
- /home/padriano/backup/timemachine:/opt/timemachine
- /home/padriano/projects/composer/timemachine/avahi-daemon.conf:/etc/avahi/avahi-daemon.conf:ro
- /home/padriano/projects/composer/timemachine/smb.conf:/etc/samba/smb.conf:ro
networks:
macvlan_lan:
external: true