DockerCompose

知识库容器技术DockerharborDocker大约 2 分钟

安装wordpress

官方地址:https://cn.wordpress.org/open in new window

WordPress是一款能让您建立出色网站、博客或应用的开源软件。

cat > docker-compose.wordpress.yml << EOF
version: '3.3'
services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress
   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress
volumes:
    db_data: {}
EOF

# 后台运行
docker-compose -f docker-compose.wordpress.yml up -d
# 停止并删除服务
docker-compose -f docker-compose.wordpress.yml down 
# 访问 http://192.16.18.151:8000

Immich(照片服务器)

项目地址:https://github.com/immich-app/immichopen in new window

https://immich.app/docs/install/docker-composeopen in new window

Immich 是一个自托管的照片和视频备份解决方案

特性

  • 上传和查看视频和照片
  • 打开应用程序时自动备份
  • 将照片和视频下载到本地设备
  • 多用户支持
  • 共享相册
  • 支持 RAW(HEIC、HEIF、DNG、Apple ProRaw)
  • 元数据视图(EXIF、地图)
  • 按元数据、对象和图像标签搜索
  • 管理功能(用户管理)
  • 后台备份

技术栈

  • NestJs - 应用程序的后端
  • SvelteKit - 应用程序的 Web 前端
  • PostgreSQL - 应用程序的主数据库
  • Redis - 用于在 docker 实例和后台任务消息队列之间共享 websocket 实例
  • Nginx - 负载均衡和优化的文件上传
  • TensorFlow - 对象检测 (COCO SSD) 和图像分类 (ImageNet)
# 获取 yml 文件
wget https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
# 获取 .env 文件
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
# 请根据官方文档修改配置文件,也可直接部署
## https://immich.app/docs/install/docker-compose
docker-compose -f docker-compose.yml up -d

# 启动成功后,访问本机的 2283 端口即可。
## 修改了以下配置:
## 1、将 redis 模块取消了,替换为自用的 redis
## 2、修改了访问端口
## 3、一些路径的修改
version: "3.8"

services:
  immich-server:
    container_name: immich_server
    image: altran1502/immich-server:release
    entrypoint: ["/bin/sh", "./start-server.sh"]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
    env_file:
      - /data/docker-data/immich/.env
    environment:
      - NODE_ENV=production
    depends_on:
      - redis
      - database
    restart: always

  immich-microservices:
    container_name: immich_microservices
    image: altran1502/immich-server:release
    entrypoint: ["/bin/sh", "./start-microservices.sh"]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
    env_file:
      - /data/docker-data/immich/.env
    environment:
      - NODE_ENV=production
    depends_on:
      - redis
      - database
    restart: always

  immich-machine-learning:
    container_name: immich_machine_learning
    image: altran1502/immich-machine-learning:release
    entrypoint: ["/bin/sh", "./entrypoint.sh"]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
    env_file:
      - /data/docker-data/immich/.env
    environment:
      - NODE_ENV=production
    depends_on:
      - database
    restart: always

  immich-web:
    container_name: immich_web
    image: altran1502/immich-web:release
    entrypoint: ["/bin/sh", "./entrypoint.sh"]
    env_file:
      - /data/docker-data/immich/.env
    restart: always

    #redis:
    #container_name: immich_redis
    #image: redis:6.2
    #restart: always

  database:
    container_name: immich_postgres
    image: postgres:14
    env_file:
      - /data/docker-data/immich/.env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      PG_DATA: /var/lib/postgresql/data
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: always

  immich-proxy:
    container_name: immich_proxy
    image: altran1502/immich-proxy:release
    environment:
      # Make sure these values get passed through from the env file
      - IMMICH_SERVER_URL
      - IMMICH_WEB_URL
    ports:
      - 62283:8080
    logging:
      driver: none
    depends_on:
      - immich-server
    restart: always

volumes:
  pgdata: