TIL about mac_vlan which is pretty rad.
Docker can use macvlan to give containers direct network access with their own IP addresses, making them appear as first-class citizens on the network.
```yaml
services:
teddycloud:
container_name: teddycloud
hostname: teddycloud
image: ghcr.io/toniebox-reverse-engineering/teddycloud:latest
#network_mode: host
networks:
teddy_macvlan:
ipv4_address: 10.1.0.1
ports:
- 80:80 #optional (for the webinterface)
- 8443:8443 #optional (for the webinterface)
- 443:443 #Port is needed for the connection for the box, must not be changed!
volumes:
- ./certs:/teddycloud/certs #certificates of the server
- config:/teddycloud/config #config file for the server and the boxes
- content:/teddycloud/data/content #microSD representation for the boxes
- library:/teddycloud/data/library #library to manage content
- custom_img:/teddycloud/data/www/custom_img #location to store custom images for custom tonies json
- firmware:/teddycloud/data/firmware #firmware backups
- cache:/teddycloud/data/cache #img cache for content images
restart: unless-stopped
volumes:
certs:
config:
content:
library:
custom_img:
firmware:
cache:
networks:
teddy_macvlan:
driver: macvlan
driver_opts:
parent: enp1s0
ipam:
config:
- subnet: 10.0.0.0/8
gateway: 10.0.0.1
```