Docker hub & registry written in PHP with Symfony.
Souce code: https://github.com/iamluc/dunkerque Docker image: https://hub.docker.com/r/iamluc/dunkerque/
Run the containers stack with a similar docker-compose.yml
file:
app:
image: iamluc/dunkerque
ports:
- 80:80
links:
- mariadb:db
- rabbitmq:rabbitmq
- elasticsearch:elasticsearch
mariadb:
image: mariadb:10
environment:
- MYSQL_ROOT_PASSWORD=dkpassword
elasticsearch:
image: elasticsearch:1
rabbitmq:
image: rabbitmq:3-management
environment:
- RABBITMQ_DEFAULT_USER=dunkerque
- RABBITMQ_DEFAULT_PASS=dkpassword
workerwebhook:
image: iamluc/dunkerque
volumes_from:
- app
links:
- mariadb:db
- rabbitmq:rabbitmq
command: sleep 5 && bin/console dunkerque:broker:setup && bin/console swarrot:consume:webhook
To update, check that your custom docker-compose.yml
is up-to-date.
Then run
# Download new images
docker-compose pull
# Recreate containers
docker-compose up -d
# Repopulate the elasticsearch index (used for the search)
docker-compose run --rm app bin/console fos:elastica:populate
Please note that currently the image exposes only port 80.
You must setup a proxy (like nginx-proxy) with a certificate to use HTTPS.
Without HTTPS, you must add the --insecure-registry
option to your daemon configuration. See https://docs.docker.com/registry/insecure/.
To push an image, you can follow this tutorial: https://www.digitalocean.com/community/tutorials/how-to-set-up-a-private-docker-registry-on-ubuntu-14-04#step-seven-—-publish-to-your-docker-registry
You can use environment variables to configure the iamluc/dunkerque
image:
Variable name | Default value |
---|---|
DK_STORAGE_PATH | /data |