On-premis container controller made easier

Hi

I really like your hardware and software solutions, especially the flexibility of having cloud, hardware, and software controllers. The local controller option is a great approach.

One feature I’d love to see is a containerized version of the controller that can be pulled from a registry and deployed behind a proxy. My setup already uses ports 80 and 443 for an existing proxy, so I can’t run the Alta controller alongside it.

Are there any plans to support a more traditional container deployment?

Thanks!

If you already have a proxy, you can simply point that to your local controller, can’t you? I’m not sure if you have more advanced needs, so maybe I’m missing context.

We do have a docker container available. Licenses are available here.

We do have a docker container available.

I was looking into creating a Home Assistant addon based on the Docker container published at dockerhub, but I noticed that the latest version posted there is 1.0d: https://hub.docker.com/r/altalabs/control/tags

Maybe the release process could be updated to include pushing a new Docker image as well :slight_smile:

I tried that but was not able to get it working without doing the following:

I stopped the proxy, and finished the setup of the controller, as described in the tutorial. After that I disabled the macvlan for the controller and started the proxy and pointed it to the controller. This worked once and a update to a new controller release broke it.

I guess what I’m trying to say is: I simply want to put the controller behind my proxy since I don’t need the L2 for the setup.

There’s probably some complication with the certificates that I forgot to consider. I’ll need to redo mine here to test again.

You should be able to update it from the GUI after installation. I installed mine on Proxmox using the raw root filesystem links and didn’t realize that it wasn’t the latest version (they’re also at 1.0d). Afterwords I was able to easily upgrade to 1.0p with one click in the GUI.

1 Like

Do you also use a reverse proxy? Could you do the entire setup without exposing the controller via port 80 and 443?

Do you have instructions on this by chance? I have been wanting to set mine up using the root FS

I did a simple install on a new Proxmox host a month or so ago. You may find this thread helpful - https://forum.alta.inc/t/install-alta-control-in-proxmox-as-lxc/3794/6

It’s basically just a case of creating a Container Template using the root FS file, create the container using that template, then I just resaved the network settings for the container in Proxmox as it didn’t seem to have them initially. That was it. Was then able to go through the setup process at the IP address to get the Local DDNS link etc.

It found all my new Alta devices just by using the standard Proxmox virtual bridge network. Been running fine ever since!

Thanks for your explanation but I‘m not sure if this solves my problem

Doh sorry @tscho! I was trying to reply to @lewty1987. Sorry for derailing your thread.

(Edit - For some reason, when I click to reply to a specific post it doesn’t seem to work hmmm.)

I’d love to have a proper docker solution with storage (& potentially database) decoupled from the docker base iamge

Thank you. That’s exactly what I wanted to say.

I’ve developed a compose.yml for the current container. For those familiar with docker compose, this may help you out.

services:
  control:
    image: altalabs/control:1.0d-amd64
    container_name: control-macvlan
    networks:
      control_macvlan:
        # Customize for your network
        ipv4_address: 10.166.0.10
    tmpfs:
      - /run
      - /run/lock
    volumes:
      - /sys/fs/cgroup/access.scope:/sys/fs/cgroup:rw
    extra_hosts:
      - local.manage.alta.inc:0.0.0.255
    cgroup: host
    security_opt:
      - seccomp=unconfined
    tty: true
    stdin_open: true
    restart: unless-stopped

networks:
  control_macvlan:
    name: control_macvlan
    driver: macvlan
      # Customize for your network
      # driver_opts:
        # parent: eth0.166 # VLAN 166
    ipam:
      driver: default
      config:
        # Customize for your network
        - subnet: 10.166.0.0/24
          gateway: 10.166.0.1

EDIT: I’ve updated the compose.yml to better reflect a normal setup as found in our current documentation.

2 Likes

thank you for this @Alta-Josh it worked well!

Here is sample config from my setup:

services:
  control:
    image: altalabs/control:1.0d-amd64
    container_name: control-macvlan
    networks:
      control_macvlan:
        ipv4_address: 192.168.87.240
    tmpfs:
      - /run
      - /run/lock
    volumes:
      - /sys/fs/cgroup/access.scope:/sys/fs/cgroup:rw
    extra_hosts:
      - local.manage.alta.inc:0.0.0.255
    cgroup: host
    security_opt:
      - seccomp=unconfined
    tty: true
    stdin_open: true
    restart: unless-stopped
networks:
  control_macvlan:
    name: control_macvlan
    driver: macvlan
    driver_opts:
      parent: ens18
    ipam:
      config:
        - subnet: 192.168.87.0/24
          gateway: 192.168.87.1