3c9fcf6fce
Merge branch 'master' of github.com:lbryio/lbry-docker Starting on a .travis.yml but may be unnecessary Renamed www.spee.ch and lbrynet-daemon to reflect their upstream repos. Disabled Adminer Started debug for chainquery container. Get latest release tagged url from github API remove zip.zip maybe? debugging curl explicit unzip Adding -o for unzip simplified, removed debug and fixed curl reverted to original unzip function Pull chainquery from prep container passing alternative config path Aligned config path location with linux spec updated config location maybe don't be as explicit adding debug for chainqueryconfig.toml Fixes magicless chainquery and starts on bootstrap added chainquery/.gitignore to ignore large blobs. fixed Dockerfile up to use staged prep and production removed db-seed.sh as we have quick-bootstrap.sh start.sh needed modification to pull config from the right location in the linux FS Added chainquery/.dockerignore to prevent extremely long build times in the future Removed fancy bash vars in chainquery/.env Started work on getting quick-bootstrap.sh ready for release. Switch to lbrynet network Switched network name to lbrynet Merge branch 'leopere' of github.com:lbryio/lbry-docker into leopere Remove debugging access port bind Expose chainquery to the internet Merge branch 'leopere' of github.com:lbryio/lbry-docker into leopere Removed now unnecessary run command Undo Cleanup and commenting on environment variables Start getting ready for adding chainquery start.sh magic Quick update |
||
---|---|---|
.. | ||
.env | ||
.gitignore | ||
advanced-docker-compose.yml | ||
debugpaste-it.sh | ||
docker-compose.yml | ||
docker-entrypoint.sh | ||
Dockerfile | ||
healthcheck.sh | ||
README.md |
Status WIP
This is still a WIP and documentation may be wildly out of sync with reality.
Container Base
Based on this documentation I will be creating a container which should aim to work on top of any customizations you add yourself.
Goals
Fresh install on creation
The end goal will be to iterate through all of the directories you have in any volumes you include and then copy anything else into the service directory omitting any files which you've changed.
Configuration should be absolutely bare minimal and doable via the docker environment variables. This makes it so that you can launch this project in any environment you like Kubernetes, Amazon Elastic Container Service, RancherOS, Docker Swarm, Docker-Compose.
An advanced container example using docker-compose which contains the full stack including https handling via a reverse proxy. This should automagically by default include automagic LetsEncrypt provisioning and renewal so long as you've set your own DNS records correctly to point where this container will be hosted.
Your changes take priority
This means any content that you've included in the /app/ path should be ignored when the container is instantiated. So generally only include files that you plan to have changed. Eventually I may add something a bit smarter and do a hash check & compare to be a bit smarter but for now simpler is better.
Configuration
The configuration will take place on container instantiation based on any environment variables which you include in your docker invocation be it a docker-compose.yml
or a simple docker run
.
You should prefer to include your configuration variables through means of the environment variables. However, if you find something in the configuration which you feel needs changed which we haven't included an environment variable for you should be free to include your own custom configuration file you're welcomed to.
Try it out immediately
What's better than something that works right out of the box? I really have no idea because if you have a goal that is small and iterative why would you want to do things the hard way unless you know for a fact that you're really into this.
Docker & Docker-compose
Docker compose is the most recommended way to get started and even run in deployment as it saves you a lot of pain of sifting through old commands to re-execute your docker container. So pre-requisites will be to have the following installed and most of these support packages are as easy as copy paste commands.
git
docker
docker-compose