0902.html 5.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <!DOCTYPE html>
  2. <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>Run PhotoPrism - A Google Photos Alternative - In Docker</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6. <meta charset="UTF-8">
  7. <meta name="keywords" content="Browser Based,Docker Made Easy,Home Lab,Home Lab Ideas,Install Guide,Self-Hosted,Web Based,Web Based Tools,Containerize,Containers,Docker,Docker Container,Docker Host,Docker How To,Docker Made Simple,Docker Setup Tutorial,Docker Simplified,Google Photos Alternative,Linux,Photo Management,Photo Manager,Photo Organizer,Ubuntu,PhotoPrism,How To,Tutorial,i12bretro">
  8. <meta name="author" content="i12bretro">
  9. <meta name="description" content="Run PhotoPrism - A Google Photos Alternative - In Docker">
  10. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  11. <meta name="revised" content="08/11/2024 10:03:26 PM" />
  12. <link rel="icon" type="image/x-icon" href="includes/favicon.ico">
  13. <script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
  14. <script type="text/javascript" src="includes/js/steps.js"></script>
  15. <link href="css/steps.css" rel="stylesheet" type="text/css" />
  16. </head>
  17. <body>
  18. <div id="gridContainer">
  19. <div class="topMargin"></div>
  20. <div id="listName" class="topMargin">
  21. <h1>Run PhotoPrism - A Google Photos Alternative - In Docker</h1>
  22. </div>
  23. <div></div>
  24. <div id="content">
  25. <h2>What is PhotoPrism?</h2>
  26. <p><em>PhotoPrism&reg; is an AI-Powered Photos App for the Decentralized Web. It makes use of the latest technologies to tag and find pictures automatically without getting in your way. You can run it at home, on a private server, or in the cloud.</em> -<a href="https://github.com/photoprism/photoprism" target="_blank">https://github.com/photoprism/photoprism</a></p>
  27. <h2>Installing Docker</h2>
  28. <ol>
  29. <li>Log into the Linux based device</li>
  30. <li>Run the following commands in the terminal
  31. <div class="codeBlock"># install prerequisites<br />
  32. sudo apt install apt-transport-https ca-certificates git curl software-properties-common gnupg-agent -y<br />
  33. # add docker gpg key<br />
  34. curl -fsSL https://download.docker.com/linux/$(awk -F&#39;=&#39; &#39;/^ID=/{ print $NF }&#39; /etc/os-release)/gpg | sudo apt-key add -<br />
  35. # add docker software repository<br />
  36. sudo add-apt-repository &quot;deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/$(awk -F&#39;=&#39; &#39;/^ID=/{ print $NF }&#39; /etc/os-release) $(lsb_release -cs) stable&quot;<br />
  37. # install docker<br />
  38. sudo apt install docker-ce docker-compose containerd.io -y<br />
  39. # enable and start docker service<br />
  40. sudo systemctl enable docker &amp;&amp; sudo systemctl start docker<br />
  41. # add the current user to the docker group<br />
  42. sudo usermod -aG docker $USER<br />
  43. # reauthenticate for the new group membership to take effect<br />
  44. su - $USER</div>
  45. </li>
  46. </ol>
  47. <h2>Running PhotoPrism</h2>
  48. <ol>
  49. <li>Now that Docker is installed, run the following commands to setup the PhotoPrism Docker container and run it
  50. <div class="codeBlock"># create working directories<br />
  51. mkdir ~/docker/photoprism/{storage,originals} -p &amp;&amp; mkdir ~/docker/mariadb -p<br />
  52. # set owner of working directories<br />
  53. sudo chown &quot;$USER&quot;:&quot;$USER&quot; ~/docker -R<br />
  54. # create docker network<br />
  55. docker network create containers<br />
  56. # run the mariadb docker container<br />
  57. docker run -d --name mariadb -e MYSQL_ROOT_PASSWORD=r00tp@$$ -e MYSQL_USER=photoprism_rw -e MYSQL_PASSWORD=Ph0t0Pr1sm -e MYSQL_DATABASE=photoprism -v ~/docker/mariadb:/var/lib/mysql --network containers --restart=unless-stopped mariadb:latest<br />
  58. # run photoprism container<br />
  59. docker run -d --name=photoprism --security-opt seccomp=unconfined --security-opt apparmor=unconfined -p 2342:2342 -e PHOTOPRISM_UPLOAD_NSFW=&quot;true&quot; -e PHOTOPRISM_ADMIN_PASSWORD=&quot;SomethingSecure&quot; -e PHOTOPRISM_DATABASE_DRIVER=&quot;mysql&quot; -e PHOTOPRISM_DATABASE_SERVER=&quot;mariadb:3306&quot; -e PHOTOPRISM_DATABASE_NAME=&quot;photoprism&quot; -e PHOTOPRISM_DATABASE_USER=&quot;photoprism_rw&quot; -e PHOTOPRISM_DATABASE_PASSWORD=&quot;Ph0t0Pr1sm&quot; -v ~/docker/photoprism/storage:/photoprism/storage -v ~/docker/photoprism/originals:/photoprism/originals --network containers --restart=unless-stopped photoprism/photoprism</div>
  60. </li>
  61. <li>Open a web browser and navigate to http://DNSorIP:2342</li>
  62. <li>Login with the username admin and the password set in the PHOTOPRISM_ADMIN_PASSWORD environment variable, SomethingSecure in this example</li>
  63. <li>Copy photos to the ~/docker/photoprism/originals directory or use the upload functionality in the web UI</li>
  64. <li>Welcome to PhotoPrism running in Docker</li>
  65. </ol>
  66. <p>Source: <a href="https://docs.photoprism.app/getting-started/docker/" target="_blank">https://docs.photoprism.app/getting-started/docker/</a></p> </div>
  67. </div>
  68. </body>
  69. </html>