由于有直接通过http访问,最新的mediacms版本貌似不支持非https的方式部署,会导致登陆失败,因此教程记录通过docker部署mediacms 4.1.0版本过程
1. 下载v4.1.0版本mediacms
wget https://github.com/mediacms-io/mediacms/archive/refs/tags/v4.1.0.tar.gz
2. 解压
tar -xzf v4.1.0.tar.gz --strip-components=1
rm v4.1.0.tar.gz3. 将docker compose中的 mediacms/mediacms:latest 镜像改为 mediacms/mediacms:4.1.0
[------] version: "3"
services:
migrations:
[------] image: mediacms/mediacms:latest
[++++++] image: mediacms/mediacms:4.1.0
volumes:
- ./:/home/mediacms.io/mediacms/
environment:
ENABLE_UWSGI: 'no'
ENABLE_NGINX: 'no'
ENABLE_CELERY_SHORT: 'no'
ENABLE_CELERY_LONG: 'no'
ENABLE_CELERY_BEAT: 'no'
ADMIN_USER: 'admin'
ADMIN_EMAIL: 'admin@localhost'
#ADMIN_PASSWORD: 'uncomment_and_set_password_here'
command: "./deploy/docker/prestart.sh"
restart: on-failure
depends_on:
redis:
condition: service_healthy
db:
condition: service_healthy
web:
[------] image: mediacms/mediacms:latest
[++++++] image: mediacms/mediacms:4.1.0
deploy:
replicas: 1
ports:
- "80:80"
volumes:
- ./:/home/mediacms.io/mediacms/
environment:
ENABLE_CELERY_BEAT: 'no'
ENABLE_CELERY_SHORT: 'no'
ENABLE_CELERY_LONG: 'no'
ENABLE_MIGRATIONS: 'no'
depends_on:
- migrations
celery_beat:
[------] image: mediacms/mediacms:latest
[++++++] image: mediacms/mediacms:4.1.0
volumes:
- ./:/home/mediacms.io/mediacms/
environment:
ENABLE_UWSGI: 'no'
ENABLE_NGINX: 'no'
ENABLE_CELERY_SHORT: 'no'
ENABLE_CELERY_LONG: 'no'
ENABLE_MIGRATIONS: 'no'
depends_on:
- redis
celery_worker:
[------] image: mediacms/mediacms:latest
[++++++] image: mediacms/mediacms:4.1.0
deploy:
replicas: 1
volumes:
- ./:/home/mediacms.io/mediacms/
environment:
ENABLE_UWSGI: 'no'
ENABLE_NGINX: 'no'
ENABLE_CELERY_BEAT: 'no'
ENABLE_MIGRATIONS: 'no'
depends_on:
- migrations
db:
image: postgres:15.2-alpine
volumes:
- ../postgres_data:/var/lib/postgresql/data/
restart: always
environment:
POSTGRES_USER: mediacms
POSTGRES_PASSWORD: mediacms
POSTGRES_DB: mediacms
TZ: Europe/London
healthcheck:
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}", "--host=db", "--dbname=$POSTGRES_DB", "--username=$POSTGRES_USER"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: "redis:alpine"
restart: always
healthcheck:
test: ["CMD", "redis-cli","ping"]
interval: 30s
timeout: 10s
retries: 3
部署完成后,启动即可
sudo docker compose up -d