DockerCompose
大约 2 分钟
安装wordpress
官方地址:https://cn.wordpress.org/
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/immich
https://immich.app/docs/install/docker-compose
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: