<https://docs.linkeddatahub.com/get-started/setup/>
        a       <https://www.w3.org/ns/ldt/document-hierarchy#Item>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1>
                <https://docs.linkeddatahub.com/get-started/setup/#content>;
        <http://purl.org/dc/terms/created>
                "2026-06-16T20:34:23.64Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>;
        <http://purl.org/dc/terms/creator>
                <https://admin.linkeddatahub.com/acl/agents/0ab4a0f7-1ab0-4d0c-8efc-63a79a2e9a10/#this>;
        <http://purl.org/dc/terms/description>
                "Setup LinkedDataHub on your local machine or access it in the cloud";
        <http://purl.org/dc/terms/title>
                "Setup";
        <http://rdfs.org/sioc/ns#has_container>
                <https://docs.linkeddatahub.com/get-started/>;
        <http://www.w3.org/ns/auth/acl#owner>
                <https://admin.linkeddatahub.com/acl/agents/0ab4a0f7-1ab0-4d0c-8efc-63a79a2e9a10/#this> .

<https://docs.linkeddatahub.com/get-started/setup/#content>
        a       <https://w3id.org/atomgraph/linkeddatahub#XHTML>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#value>
                "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n    <p class=\"lead\">Setup LinkedDataHub on your local machine.</p>\n    <p class=\"text-center\">\n        <iframe allowfullscreen=\"allowfullscreen\" frameborder=\"0\" height=\"315\" src=\"https://www.youtube.com/embed/mNqjolqtsWw\" width=\"560\"></iframe>\n    </p>\n    <div>\n        <h3 id=\"start-linkeddatahub\">Start LinkedDataHub</h3>\n        <p>This section assumes you will be running on your local machine, i.e. <samp>localhost</samp>. If you intend to run it on a different host, <a href=\"../../user-guide/change-system-base-uri/#base-uri\">change the system base URI</a>.</p>\n        <p>Prerequisites:</p>\n        <ul>\n            <li>bash shell. It should be included by default on Linux. On Windows you can install the <a href=\"https://docs.microsoft.com/en-us/windows/wsl/install-win10\" target=\"_blank\">Windows Subsystem for Linux</a>.</li>\n            <li><a href=\"https://www.openssl.org/\" target=\"_blank\">openssl</a> available on <code>$PATH</code>.</li>\n            <li><a href=\"https://docs.docker.com/install/\" target=\"_blank\">Docker</a> installed</li>\n            <li><a href=\"https://docs.docker.com/compose/install/\" target=\"_blank\">Docker Compose</a> installed</li>\n        </ul>\n        <p>Steps:</p>\n        <ol>\n            <li><a href=\"https://guides.github.com/activities/forking/\" target=\"_blank\">Fork</a> the <a href=\"https://github.com/AtomGraph/LinkedDataHub\" target=\"_blank\">LinkedDataHub</a> repository\n                and clone the fork into a folder</li>\n            <li>In the folder, create an <samp>.env</samp> file and fill out the missing values (you can use <a href=\"https://github.com/AtomGraph/LinkedDataHub/blob/master/.env_sample\" target=\"_blank\"><samp>.env_sample</samp></a> as a template). For example:\n                <pre>COMPOSE_CONVERT_WINDOWS_PATHS=1\nCOMPOSE_PROJECT_NAME=linkeddatahub\n\nPROTOCOL=https\nHTTP_PORT=81\nHTTPS_PORT=4443\nHOST=localhost\nABS_PATH=/\n\nOWNER_MBOX=john@doe.com\nOWNER_GIVEN_NAME=John\nOWNER_FAMILY_NAME=Doe\nOWNER_ORG_UNIT=My unit\nOWNER_ORGANIZATION=My org\nOWNER_LOCALITY=Copenhagen\nOWNER_STATE_OR_PROVINCE=Denmark\nOWNER_COUNTRY_NAME=DK</pre>\n            </li>\n            <li>Setup the server's SSL certificates by running this from command line:\n                <pre>./bin/server-cert-gen.sh .env nginx ssl</pre>\n                The script will create an <samp>ssl/server</samp> sub-folder where the SSL certificate will be stored.\n            </li>\n            <li>Create the following secrets with certificate/truststore passwords:\n                <ul>\n                    <li><samp>secrets/client_truststore_password.txt</samp></li>\n                    <li><samp>secrets/owner_cert_password.txt</samp></li>\n                    <li><samp>secrets/secretary_cert_password.txt</samp></li>\n                </ul>\n                The one you will need to remember in order to authenticate with LinkedDataHub <a href=\"../get-an-account/#install-cert\">using WebID client certificate</a> is <samp>owner_cert_password</samp>.\n            </li>\n            <li>(Optional) If you need to configure Bearer token authentication for SPARQL services, create <samp>secrets/credentials.trig</samp> with your service credentials. See the <a href=\"../../reference/configuration/#secrets\">configuration reference</a> for details.</li>\n            <li>Run this from command line:\n                <pre>docker-compose up --build</pre>\n                LinkedDataHub will start and mount the following sub-folders:\n                <ol>\n                    <li><samp>data</samp> where the backend triplestores will persist RDF data</li>\n                    <li><samp>datasets</samp> where the owner and secretary agent metadata is persisted</li>\n                    <li><samp>ssl/owner</samp> and <samp>ssl/secretary</samp> where the owner and secretary SSL certificates and WebID public keys are persisted</li>\n                    <li><samp>uploads</samp> where LinkedDataHub stores content-hashed file uploads</li>\n                    <li><samp>config</samp> where <a href=\"../../reference/dataspace/\">dataspace and service configurations</a> are stored</li>\n                </ol>\n            </li>\n        </ol>\n        <p>You are now the owner of this LinkedDataHub instance; <samp>ssl/owner/keystore.p12</samp> is your WebID certificate. Password is the <samp>owner_cert_password</samp> secret value.</p>\n        <p>After a successful startup you should see periodic healthcheck requests being made to the <samp>https://localhost:4443/ns</samp> URL.</p>\n    </div>\n    <div>\n        <h2 id=\"reset\">Reset</h2>\n        <p>If you need to start fresh and wipe the existing setup, you can do that using:</p>\n        <pre>sudo rm -rf data datasets uploads ssl &amp;&amp; docker-compose down -v</pre>\n        <div class=\"alert alert-info\">\n            <p>This will remove persisted RDF data, SSL keys, and uploaded files as well as the Docker volumes.</p>\n        </div>\n    </div>\n    <p class=\"lead\">Is LinkedDataHub running? Proceed to <a href=\"../get-an-account/\">get an account</a>.</p>\n</div>"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .
