# Zum Ausprobieren auf Docker Desktop. # # Der Unterschied zur Betriebsfassung ist Absicht und in beide Richtungen: # hier sind die Ports offen und es gibt keinen Reverse Proxy, dort ist es # umgekehrt. Eine `beta.23` gehoert erst auf einen Rechner, an dem nichts # haengt — und wenn sie dort traegt, auf den Server. # # docker compose -f docker-compose.local.yml up -d # # Danach: http://localhost:8080 (admin / ADMIN_PASSWORD aus .env) # http://localhost:9001 (MinIO, lite / MINIO_ROOT_PASSWORD) services: db: image: mysql:8 environment: MYSQL_DATABASE: fivemanage_lite MYSQL_USER: lite MYSQL_PASSWORD: ${DB_PASSWORD:?bitte setzen} MYSQL_RANDOM_ROOT_PASSWORD: "yes" volumes: - db:/var/lib/mysql healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] interval: 5s timeout: 5s retries: 20 minio: image: minio/minio:latest command: server /data --console-address ":9001" environment: MINIO_ROOT_USER: lite MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:?bitte setzen} # Oertlich: die Dateien liegen unter derselben Adresse, unter der MinIO # antwortet. Erst auf dem Server tritt fivecdn.d4rkst3r.de an die Stelle. MINIO_SERVER_URL: http://localhost:9000 ports: - "9000:9000" - "9001:9001" volumes: - minio:/data healthcheck: test: ["CMD", "mc", "ready", "local"] interval: 5s timeout: 5s retries: 20 minio-init: image: minio/mc:latest depends_on: minio: condition: service_healthy environment: MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:?bitte setzen} entrypoint: > /bin/sh -c " mc alias set local http://minio:9000 lite $$MINIO_ROOT_PASSWORD && mc mb --ignore-existing local/media && mc anonymous set download local/media && echo 'Bucket media ist bereit' " restart: "no" lite: # ghcr.io, NICHT Docker Hub: dort steht die Reihe bei 0.1.0-beta.16 # still, auf ghcr.io laeuft sie weiter. Die Test-Compose des Projekts # zeigt `fivemanage/lite:latest` — das ist Docker Hub und damit alt. image: ghcr.io/fivemanage/lite:0.1.0-beta.23 depends_on: db: condition: service_healthy minio: condition: service_healthy environment: PORT: "8080" ENV: dev DB_DRIVER: mysql DSN: lite:${DB_PASSWORD:?bitte setzen}@tcp(db:3306)/fivemanage_lite ADMIN_PASSWORD: ${ADMIN_PASSWORD:?bitte setzen} API_TOKEN_HMAC_SECRET: ${API_TOKEN_HMAC_SECRET:?bitte setzen} S3_PROVIDER: minio AWS_ENDPOINT: http://minio:9000 AWS_ACCESS_KEY_ID: lite AWS_SECRET_ACCESS_KEY: ${MINIO_ROOT_PASSWORD:?bitte setzen} AWS_BUCKET: media AWS_REGION: auto ports: - "8080:8080" volumes: db: minio: