___
# Tags
#docker
#homelab
# Helpful Docs
- NA
# Notes
- Here is a docker command to create a container, pass-through the configuration, and then run it, here's a breakdown of what the different variables mean
```shell
docker create \
--name=unifi-controller \
-e PUID=1000 `# for UserID` \
-e PGID=1000 `# for GroupID` \
-e MEM_LIMIT=1024M `# Optionally change the Java memory limit (-Xmx) (default is 1024M).` \
-v /host/path/to/config:/config `# All Unifi data stored here` \
-p 10001:10001/udp `# Required for AP discovery` \
-p 8880:8880/tcp `# Unifi guest portal HTTP redirect port` \
-p 8843:8843/tcp `# Unifi guest portal HTTPS redirect port` \
-p 8443:8443/tcp `# Unifi web admin port` \
-p 8080:8080/tcp `# Required for device communication` \
-p 6789:6789/tcp `# For mobile throughput test` \
-p 5514:5514/tcp `# Remote syslog port` \
-p 3478:3478/udp `# Unifi STUN port` \
-p 1900:1900/udp `# Required for Make controller discoverable on L2 network option` \
--restart unless-stopped \
linuxserver/unifi-controller:7.3.76
```
- `--name`, this one is the name of the docker container when it starts to run
- `-e` , this is the environment variables
- `-v`, this is for volume and where the docker container will store the config files if you want persistence
- `-p`, these are the ports and the mappings from `container:host` as they get exposed
- `--restart`, this indicates the restart policy the docker container will take