Skip to content

Instantly share code, notes, and snippets.

@arvati
Last active June 4, 2023 17:47
Show Gist options
  • Save arvati/523492ab5898f0769460946f43575ecd to your computer and use it in GitHub Desktop.
Save arvati/523492ab5898f0769460946f43575ecd to your computer and use it in GitHub Desktop.
Docker Omada Controller
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## Install omada controller in docker using compose\n",
"\n",
"https://github.com/mbentley/docker-omada-controller"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"vscode": {
"languageId": "shellscript"
}
},
"outputs": [],
"source": [
"curl -L https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose\n",
"chmod +x /usr/local/bin/docker-compose\n",
"/usr/local/bin/docker-compose --version\n",
"nano /etc/systemd/system/docker-compose-app.service\n",
"systemctl enable docker-compose-app\n"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"`/etc/systemd/system/docker-compose-app.service` contents:\n",
"\n",
"```\n",
"[Unit]\n",
"Description=Docker Compose Application Service\n",
"Requires=docker.service\n",
"After=docker.service\n",
"\n",
"[Service]\n",
"Type=oneshot\n",
"RemainAfterExit=yes\n",
"WorkingDirectory=/srv/docker\n",
"ExecStart=/usr/local/bin/docker-compose up -d\n",
"ExecStop=/usr/local/bin/docker-compose down\n",
"TimeoutStartSec=0\n",
"\n",
"[Install]\n",
"WantedBy=multi-user.target\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"vscode": {
"languageId": "shellscript"
}
},
"outputs": [],
"source": [
"\n",
"mkdir /srv/docker\n",
"cd /srv/docker/\n",
"mkdir /srv/docker/omada-data /srv/docker/omada-work /srv/docker/omada-logs"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"vscode": {
"languageId": "python"
}
},
"outputs": [],
"source": [
"curl -L https://raw.githubusercontent.com/mbentley/docker-omada-controller/master/docker-compose.yml -o /srv/docker/docker-compose.yml\n",
"nano /srv/docker/docker-compose.yml"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"`/srv/docker/docker-compose.yml` contents:\n",
"\n",
"```\n",
"version: \"3.1\"\n",
"\n",
"services:\n",
" omada-controller:\n",
" container_name: omada-controller\n",
" image: mbentley/omada-controller:5.9\n",
" restart: unless-stopped\n",
" network_mode: host\n",
" ulimits:\n",
" nofile:\n",
" soft: 4096\n",
" hard: 8192\n",
" stop_grace_period: 90s\n",
" environment:\n",
" - PUID=508\n",
" - PGID=508\n",
" - MANAGE_HTTP_PORT=8088\n",
" - MANAGE_HTTPS_PORT=8043\n",
" - PORTAL_HTTP_PORT=8088\n",
" - PORTAL_HTTPS_PORT=8043\n",
" - PORT_ADOPT_V1=29812\n",
" - PORT_UPGRADE_V1=29813\n",
" - PORT_MANAGER_V1=29811\n",
" - PORT_MANAGER_V2=29814\n",
" - PORT_DISCOVERY=29810\n",
" - SHOW_SERVER_LOGS=true\n",
" - SHOW_MONGODB_LOGS=false\n",
" - SSL_CERT_NAME=tls.crt\n",
" - SSL_KEY_NAME=tls.key\n",
" - TZ=Etc/UTC\n",
" volumes:\n",
" - ./omada-data:/opt/tplink/EAPController/data\n",
" - ./omada-work:/opt/tplink/EAPController/work\n",
" - ./omada-logs:/opt/tplink/EAPController/logs\n",
" - type: bind\n",
" source: /etc/letsencrypt/live/cloud.vanaware.com/cert.pem\n",
" target: /cert/tls.crt\n",
" read_only: true\n",
" - type: bind\n",
" source: /etc/letsencrypt/live/cloud.vanaware.com/privkey.pem\n",
" target: /cert/tls.key\n",
" read_only: true\n",
"\n",
"volumes:\n",
" omada-data:\n",
" omada-work:\n",
" omada-logs:\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"vscode": {
"languageId": "shellscript"
}
},
"outputs": [],
"source": [
"\n",
"firewall-cmd --get-active-zones\n",
"firewall-cmd --zone=trusted --remove-interface=br-ae1600547980 --permanent -q\n",
"firewall-cmd --reload -q\n",
"firewall-cmd --add-port 29814/tcp --permanent -q\n",
"firewall-cmd --add-port 29813/tcp --permanent -q\n",
"firewall-cmd --add-port 29812/tcp --permanent -q\n",
"firewall-cmd --add-port 29811/tcp --permanent -q\n",
"firewall-cmd --add-port 29810/udp --permanent -q\n",
"firewall-cmd --add-port 8843/tcp --permanent -q\n",
"firewall-cmd --add-port 8043/tcp --permanent -q\n",
"firewall-cmd --add-port 8088/tcp --permanent -q\n",
"firewall-cmd --add-port 8080/tcp --permanent -q\n",
"firewall-cmd --add-port 27001/tcp --permanent -q\n",
"firewall-cmd --reload -q\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"vscode": {
"languageId": "shellscript"
}
},
"outputs": [],
"source": [
"\n",
"systemctl start docker-compose-app\n",
"\n",
"docker ps\n",
"docker exec -it 9f622f3925ca bash"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Bash",
"language": "bash",
"name": "bash"
},
"language_info": {
"name": "bash",
"version": "3.11.3"
},
"orig_nbformat": 4
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment