{"id":2153,"date":"2026-01-09T17:11:39","date_gmt":"2026-01-09T16:11:39","guid":{"rendered":"https:\/\/eonea.pl\/?p=2153"},"modified":"2026-01-09T17:11:45","modified_gmt":"2026-01-09T16:11:45","slug":"unifi-controller-self-hosted-od-podstaw","status":"publish","type":"post","link":"https:\/\/eonea.pl\/en\/unifi-controller-self-hosted-od-podstaw\/","title":{"rendered":"UniFi Controller \u2013 self-hosted \u2013 from scratch"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"2153\" class=\"elementor elementor-2153\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bd2ae1b e-flex e-con-boxed e-con e-parent\" data-id=\"bd2ae1b\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7e3422b elementor-widget elementor-widget-video\" data-id=\"7e3422b\" data-element_type=\"widget\" data-settings=\"{&quot;youtube_url&quot;:&quot;https:\\\/\\\/youtu.be\\\/5Q059Sts0r0&quot;,&quot;video_type&quot;:&quot;youtube&quot;,&quot;controls&quot;:&quot;yes&quot;}\" data-widget_type=\"video.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-wrapper elementor-open-inline\">\n\t\t\t<div class=\"elementor-video\"><\/div>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cfaa6e7 elementor-widget elementor-widget-heading\" data-id=\"cfaa6e7\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">UniFi Local Controller \u2013 complete control over your network<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cd5d48a elementor-widget elementor-widget-text-editor\" data-id=\"cd5d48a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p class=\"PreformattedText\">UniFi is one of those solutions that quickly gains the trust of network administrators\u2014especially where data control, security, and ease of management are important. The key advantage of this ecosystem is the ability to run the controller locally, within your own infrastructure, without sending network information to external clouds or foreign servers. This allows us to retain full sovereignty over the configuration, traffic, and logs of our network, which is of great importance, especially in corporate and infrastructure environments.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a708f12 elementor-widget elementor-widget-text-editor\" data-id=\"a708f12\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p class=\"PreformattedText\">The material shows a practical way to run UniFi on a Debian server using Docker and Docker Compose. The controller is based on the MongoDB database, and the entire configuration has been reduced to a readable docker-compose.yml file, which allows you to quickly set up, recreate, or move the environment to another location. Thanks to this, even a server failure does not mean the loss of the network \u2013 all you need is a backup and a few minutes to get everything back up and running.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a27cbe9 elementor-widget elementor-widget-text-editor\" data-id=\"a27cbe9\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>A lot of attention has been paid to ports and security. It turns out that for the infrastructure to work properly, you don't need to expose \"everything to the world\" \u2013 in practice, only two key ports are needed: one for managing the administration panel and the other for communication between devices and the controller. The rest are optional features that should only be enabled when they are really needed.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ee2ea4c elementor-widget elementor-widget-text-editor\" data-id=\"ee2ea4c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p class=\"PreformattedText\">A very interesting feature is the way devices are adopted. UniFi access points can automatically find the controller on the same network, they can also be added manually via SSH, and the most elegant solution is to use local DNS. All you need is for the router to resolve the name unifi to the IP address of the controller \u2013 then every new device connected to the power supply will report itself for adoption, without clicking, applications, or manual configuration.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ad93512 elementor-widget elementor-widget-text-editor\" data-id=\"ad93512\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>After adding the first access point, a Wi-Fi network is created, which automatically broadcasts to all subsequent devices. UniFi shows the full network topology, connected clients, bandwidth usage, and allows you to manage each element from a single panel. Importantly, you can even access the device console from the controller and perform diagnostic operations on them, which shows how much power the administrator has over the infrastructure.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-740bda6 elementor-widget elementor-widget-text-editor\" data-id=\"740bda6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p class=\"PreformattedText\">Finally, backups \u2013 one of the most important elements of the entire system. UniFi can perform automatic backups of configurations, statistics, and databases, and all key files are located in clearly defined directories. This makes it easy to secure them with an additional backup and ensure that in the event of a failure, the network can be quickly restored in another location.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-66a698d elementor-widget elementor-widget-text-editor\" data-id=\"66a698d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p class=\"PreformattedText\">All this makes UniFi a solution that combines simplicity, high functionality, and real control over data security\u2014without compromises and without handing over key infrastructure to third parties.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5515350 elementor-widget elementor-widget-text-editor\" data-id=\"5515350\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Project GitHub Link\u00a0 <a href=\"https:\/\/github.com\/linuxserver\/docker-unifi-network-application\">https:\/\/github.com\/linuxserver\/docker-unifi-network-application<\/a><\/p><p>Plik konfiguracyjny docker compose<\/p><p><strong>docker-compose.yaml:<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3ef5f5b elementor-widget elementor-widget-code-highlight\" data-id=\"3ef5f5b\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>---\r\nservices:\r\n\r\n  unifi-db:\r\n    image: mongo:${MONGO_TAG_VERSION}\r\n    container_name: unifi-db\r\n    env_file: .env\r\n    volumes:\r\n      - .\/mongodb:\/data\/db\r\n      - .\/init-mongo.sh:\/docker-entrypoint-initdb.d\/init-mongo.sh:ro\r\n    restart: unless-stopped\r\n\r\n  unifi-network-application:\r\n    image: linuxserver\/unifi-network-application:${UNIFI_TAG_VERSION}\r\n    container_name: unifi-app\r\n    env_file: .env\r\n    volumes:\r\n      - .\/config:\/config\r\n    ports:\r\n      - 8443:8443\r\n      - 3478:3478\/udp\r\n      - 10001:10001\/udp\r\n      - 8080:8080\r\n      - 1900:1900\/udp #optional\r\n      - 8843:8843 #optional\r\n      - 8880:8880 #optional\r\n      - 6789:6789 #optional\r\n      - 5514:5514\/udp #optional\r\n    restart: unless-stopped \r\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ce24962 e-flex e-con-boxed e-con e-parent\" data-id=\"ce24962\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-557f73f elementor-widget elementor-widget-text-editor\" data-id=\"557f73f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p class=\"Textbody\">Plik ze zmiennymi (koniecznie dostosuj has\u0142a) .env<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7f2faa3 elementor-widget elementor-widget-code-highlight\" data-id=\"7f2faa3\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>PGID=1000\r\nTZ=Etc\/UTC\r\nMONGO_USER=unifi\r\nMONGO_PASS=unifi-pass\r\nMONGO_HOST=unifi-db\r\nMONGO_PORT=27017\r\nMONGO_DBNAME=unifi\r\nMONGO_AUTHSOURCE=admin\r\nMONGO_INITDB_ROOT_USERNAME=root\r\nMONGO_INITDB_ROOT_PASSWORD=root-pass\r\nMEM_LIMIT=1024\r\nMEM_STARTUP=1024\r\nMONGO_TLS=24 #optional\r\nMONGO_TLS= #optional\r\nMONGO_TAG_VERSION=8.0-noble\r\nUNIFI_TAG_VERSION=10.0.162-ls111 \r\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b209217 elementor-widget elementor-widget-text-editor\" data-id=\"b209217\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p class=\"Textbody\">Skrypt inicjuj\u0105cy baz\u0119 danych MongoDB dla aplikacji<\/p><p class=\"Textbody\"><b>init-mongo.sh<\/b><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-51bb63a elementor-widget elementor-widget-code-highlight\" data-id=\"51bb63a\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>#!\/bin\/bash\r\n\r\nif which mongosh > \/dev\/null 2>&1; then\r\n  mongo_init_bin='mongosh'\r\nelse\r\n  mongo_init_bin='mongo'\r\nfi\r\n\"${mongo_init_bin}\" <<EOF\r\nuse ${MONGO_AUTHSOURCE}\r\ndb.auth(\"${MONGO_INITDB_ROOT_USERNAME}\", \"${MONGO_INITDB_ROOT_PASSWORD}\")\r\ndb.createUser({\r\n  user: \"${MONGO_USER}\",\r\n  pwd: \"${MONGO_PASS}\",\r\n  roles: [\r\n    { db: \"${MONGO_DBNAME}\", role: \"dbOwner\" },\r\n    { db: \"${MONGO_DBNAME}_stat\", role: \"dbOwner\" },\r\n    { db: \"${MONGO_DBNAME}_audit\", role: \"dbOwner\" }\r\n  ]\r\n})\r\nEOF \r\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-afdbcd6 elementor-widget elementor-widget-text-editor\" data-id=\"afdbcd6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p class=\"Textbody\">Skrypt inicjuj\u0105cy baz\u0119 danych MongoDB dla aplikacji<\/p><p class=\"Textbody\"><b>init-mongo.sh<\/b><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1a03c94 elementor-widget elementor-widget-code-highlight\" data-id=\"1a03c94\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>arp -a | grep 6a:ec:48 <\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-555e151 elementor-widget elementor-widget-text-editor\" data-id=\"555e151\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p class=\"Textbody\">Logowanie do urz\u0105dzenia<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-99c9f9f elementor-widget elementor-widget-code-highlight\" data-id=\"99c9f9f\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>ssh ubnt@$AP-IP\r\npass: ubnt \r\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cd73f89 elementor-widget elementor-widget-text-editor\" data-id=\"cd73f89\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p class=\"Textbody\">Przekierwoanie urz\u0105dzenia dl naszego kontrolera<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e270d26 elementor-widget elementor-widget-code-highlight\" data-id=\"e270d26\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>set-inform http:\/\/$address:8080\/inform <\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e77c869 elementor-widget elementor-widget-text-editor\" data-id=\"e77c869\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p class=\"Textbody\">Resetowanie urz\u0105dzenia z CLI<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f4e48c1 e-flex e-con-boxed e-con e-parent\" data-id=\"f4e48c1\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a34914c elementor-widget elementor-widget-code-highlight\" data-id=\"a34914c\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>syswrapper.sh restore-default <\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-49161c4 elementor-widget elementor-widget-text-editor\" data-id=\"49161c4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Struktura katalog\u00f3w<\/strong><\/p><p>unifi\/<\/p><p>\u251c\u2500\u252c\u2500 config \u2013 application<\/p><p>\u2502 \u251c\u2500\u252c data \u2013 unifi data\u00a0<\/p><p>\u2502 \u2502 \u2514\u2500\u252c backup<\/p><p>\u2502 \u2502\u00a0\u00a0 \u2514\u2500 autobackup \u2013 unify backup<\/p><p>\u2502 \u2514\u2500\u2500 logs \u2013 unifi logs<\/p><p>\u251c\u2500\u2500 mongodb \u2013 database folder<\/p><p>\u251c\u2500\u2500 .env \u2013 variables of the entire installation<\/p><p>\u251c\u2500\u2500 docker-compose.yaml \u2013 ddocker compose configuration<\/p><p>\u2514\u2500\u2500 init-mongo.sh \u2013 mongodb initial script<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Chcesz mie\u0107 pe\u0142n\u0105 kontrol\u0119 nad swoj\u0105 sieci\u0105 bez wysy\u0142ania danych do chmury i zagranicznych serwer\u00f3w? W tym materiale pokazuj\u0119, jak postawi\u0107 lokalny kontroler UniFi na Dockerze i w kilka chwil zacz\u0105\u0107 zarz\u0105dza\u0107 routerami, switchami i access pointami z jednego panelu. Dowiesz si\u0119, jak bezpiecznie adoptowa\u0107 urz\u0105dzenia, automatycznie rozg\u0142asza\u0107 Wi-Fi i zabezpieczy\u0107 ca\u0142o\u015b\u0107 regularnymi backupami. To praktyczny przewodnik dla ka\u017cdego, kto chce mie\u0107 swoj\u0105 infrastruktur\u0119 naprawd\u0119 pod kontrol\u0105.<\/p>","protected":false},"author":3,"featured_media":2155,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[7,8,12],"tags":[256,261,393,391,392,394],"class_list":["post-2153","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it-dla-kazdego","category-truenas","category-vlog","tag-docker","tag-docker-compose","tag-networking","tag-unifi-controller","tag-unifi-network","tag-unifi-self-hosted"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/eonea.pl\/en\/wp-json\/wp\/v2\/posts\/2153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eonea.pl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eonea.pl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eonea.pl\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/eonea.pl\/en\/wp-json\/wp\/v2\/comments?post=2153"}],"version-history":[{"count":15,"href":"https:\/\/eonea.pl\/en\/wp-json\/wp\/v2\/posts\/2153\/revisions"}],"predecessor-version":[{"id":2169,"href":"https:\/\/eonea.pl\/en\/wp-json\/wp\/v2\/posts\/2153\/revisions\/2169"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/eonea.pl\/en\/wp-json\/wp\/v2\/media\/2155"}],"wp:attachment":[{"href":"https:\/\/eonea.pl\/en\/wp-json\/wp\/v2\/media?parent=2153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eonea.pl\/en\/wp-json\/wp\/v2\/categories?post=2153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eonea.pl\/en\/wp-json\/wp\/v2\/tags?post=2153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}