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 networks: - internal 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: - "2222:22" networks: - internal environment: - USER_UID=${PUID} - USER_GID=${PGID} volumes: - /home/padriano/projects/forgejo:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro caddy: build: ./caddy container_name: caddy restart: unless-stopped ports: - "80:80" - "443:443" environment: - DUCKDNS_TOKEN=${DUCKDNS_TOKEN} volumes: - ./caddy/Caddyfile:/etc/caddy/Caddyfile:ro - caddy_data:/data - caddy_config:/config networks: - internal depends_on: - homeassistant - forgejo 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: internal: driver: bridge macvlan_lan: external: true volumes: caddy_data: caddy_config: