Minimum Firmware
AP6 and AP6-Pro
- 2.0g or newer
Switches
- 2.1c or newer
If you would like to update them without requiring setup into manage.alta.inc,
simply hold down the reset button for five seconds while powering on the
device, then release, and wait 1 minute for APs, and 3 minutes for switches.
Ensure that the device has an ethernet connection with Internet access prior to
this.
Keep in mind that there are many variations of how an LXD/Docker image and
network can be deployed, and that these instructions will not cover all use
cases.
Supported Architectures
- amd64 (i.e. x86)
- arm64
Replace amd64 with arm64 below if you are running the controller on an arm64 host.
Minimum System requirements
- 2 GHz processor
- 2 GB RAM
- 8 GB storage
Get a Free License
If you don’t already have a license, you can get one for free at: https://manage.alta.inc/control
Running the Container
1. Pull the image from Dockerhub
docker pull altalabs/control:1.2f-amd64
2. Set up macvlan in order for the controller to set devices on the LAN
(substitute with your own subnet, desired controller IP, gateway, and parent interface):
docker network create -d macvlan \
--subnet=192.168.0.0/24 \
--ip-range=192.168.0.10/32 \
--gateway=192.168.0.1 \
-o parent=eth0 control_net
3. Create a persistent Docker volume:
docker volume create alta-control-data4. Start the container:
docker run -it --security-opt seccomp=unconfined \
--cgroupns host \
--add-host local.manage.alta.inc:0.0.0.255 \
--net=control_net \
--restart=unless-stopped \
-v /sys/fs/cgroup/access.scope:/sys/fs/cgroup:rw \
--mount type=volume,source=alta-control-data,target=/data \
--tmpfs /run \
--tmpfs /run/lock \
--name control \
altalabs/control:1.2f-amd645. Detach from the container (CTRL-P, CTRL-Q), then start a shell in the container:
docker exec control ip addr show # to get the IP address
6. Go to the IP address of the controller, there you will be prompted for a Product Activation Code.
If this is running on a virtualized host, such as on an EC2 instance, you can replace --net=control_net with --network bridge -p 443:443/tcp
7. To obtain a free Product Activation Code please visit this link.
8. Once you obtained a code and applied it, you will receive a link in your email that redirects you to the new dynamic DNS URL.
9. Once you see the login screen on your new controller, create an account,
validate it, and then use the controller as normal.
NOTE: You must create a new account, as this instance is in no way connected to any other instance of the Control software. This means any existing cloud-based account is also not synchronized on your new Control container.
Compose
services:
control:
image: altalabs/control:1.2f-amd64
container_name: control-macvlan
networks:
control_macvlan:
# Customize for your network
ipv4_address: 192.0.2.10
tmpfs:
- /run
- /run/lock
volumes:
- /sys/fs/cgroup/access.scope:/sys/fs/cgroup:rw
- alta-control-data:/data
extra_hosts:
- local.manage.alta.inc:0.0.0.255
cgroup: host
security_opt:
- seccomp=unconfined
tty: true
stdin_open: true
restart: unless-stopped
volumes:
alta-control-data:
networks:
control_macvlan:
name: control_macvlan
driver: macvlan
ipam:
driver: default
config:
- subnet: 192.0.2.0/24
gateway: 192.0.2.1Notes
If you don’t bridge/macvlan the container to your LAN, it will not
automatically detect and set up APs. You will need to go to the web server of
the unconfigured AP, and set the URL to match your controller’s hostname,
including https://.
If you’d like to import the image into Hyper-V, ESXI, or any other
virtualization host, the raw root filesystems can also be found at:
Known issues
With persistent storage mounted at /data, controller data survives container deletion and replacement. Reattach the same volume when recreating or upgrading the container. Only one controller container may use a volume at a time. Deleting the volume deletes its data; continue taking controller backups. Without this mount, data remains inside the container.
Migrating an Existing Installation to Persistent Storage
If you have an existing Alta Control Docker installation without persistent storage, follow these steps to preserve your controller configuration and device management data.
- Back up the controller. Log in to the existing controller and download a controller backup before removing the container.
- Stop the existing container. Stop the old controller container, but keep it available until the migration is verified.
-
Create a persistent volume. Create a new, empty Docker volume:
docker volume create alta-control-data
-
Create the new container. Use the updated
1.2fimage and mount the new volume at/data, following the instructions in Running the Container. - Complete the initial setup. Access the new controller and complete its initial setup.
- Restore the backup. Restore the backup downloaded from the original controller.
- Verify the migration. Confirm that the controller configuration and managed devices are restored and operating as expected before removing the old container.
Important: Attaching an empty volume does not automatically migrate data from an older container. Keep the old container until the restored controller has been verified. Continue taking regular controller backups after migration.
Common Issues
If you get an error like:
Docker: Error response from daemon: error while creating mount source path
‘/sys/fs/cgroup/access.scope’...
Your kernel or distribution may be older, and may not have cgroupsv2 enabled.
To enable it, add this to your kernel command line:
systemd.unified_cgroup_hierarchy=1
Related to
Comments
0 comments
Please sign in to leave a comment.