38 lines
1.1 KiB
YAML
38 lines
1.1 KiB
YAML
services:
|
|
syncer:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/syncer/Dockerfile
|
|
image: rpm-mirror-syncer:latest
|
|
container_name: rpm-mirror-syncer
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
# sync-cache also holds the mirror's private GPG signing key and its
|
|
# revocation certificate (WORK_DIR/gnupg) - intentionally NOT mounted
|
|
# into the nginx container, only repo-data (public files) is.
|
|
- repo-data:/srv/repo
|
|
- sync-cache:/var/cache/rpm-mirror-sync
|
|
# Local sources.yaml, only used when SOURCES_GIT_REPO is empty (see
|
|
# .env). Remove/comment this out if you fetch the list from git.
|
|
#- ${LOCAL_SOURCES_YAML:-./sources.example.yaml}:/config/sources.yaml:ro
|
|
|
|
nginx:
|
|
image: nginx:alpine
|
|
container_name: rpm-mirror-nginx
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- syncer
|
|
env_file:
|
|
- .env
|
|
ports:
|
|
- "${NGINX_PORT:-8080}:80"
|
|
volumes:
|
|
- repo-data:/usr/share/nginx/html/repo:ro
|
|
- ./docker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
|
|
|
|
volumes:
|
|
repo-data:
|
|
sync-cache:
|