Brought to you by
FirePress.org |
play-with-ghost |
GitHub |
Twitter
A slim docker image for Resilio Sync using best practices available.
- an everyday build and on every commit (CI)
- a build from the sources (CI)
- a logic of four docker tags on the master branch (CI) and logic of three docker tags on any other branches (CI)
- few UAT tests (CI)
- an automatic push of the README to Dockerhub (CI)
- Slack notifications when a build succeed (Job 2) (CI)
- a multi-stage build (Dockerfile)
- an alpine base docker image (Dockerfile)
- Labels (Dockerfile)
- this app is compressed using UPX (Dockerfile)
- a small footprint docker image's size (Dockerfile)
utility.sh
based on bash-script-template- and probably more, but hey, who is counting?
To add in the future:
- a non-root user (Dockerfile)
- having this app running as PID 1 under tiny (Dockerfile)
Resilio Sync is a fast, reliable, and simple file sync and share solution, powered by a P2P technology.
Expand content (click here).
LOCAL_STORAGE="~/resilio/data"
CTN_NAME="resilio"
IMG_resilio="devmtl/resilio:2.6.3_2019-09-10_18H15s21_0383a37"
docker run --rm \
-v $LOCAL_STORAGE:/data \
-p 33333:33333 \
"$IMG_resilio" sh -c \
"rslsync --help" && echo
docker run -d \
--name ${CTN_NAME} \
-v ${LOCAL_STORAGE}:/data \
-p 33333:33333 \
${IMG_resilio}
docker logs -f ${CTN_NAME};
MY_TOKEN="AJR3101010010110101010101010KH"
docker run -d `
--name "$CTN_NAME" \
-v $LOCAL_STORAGE:/data \
-p 33333:33333 \
-e RSLSYNC_SECRET="$MY_TOKEN" \
"$IMG_resilio"; echo;
# node 1
docker service create \
--name ${CTN_resilio1} --hostname ${CTN_resilio1} \
--network ${NTW_RESILIO} --replicas "1" \
--restart-condition "any" --restart-max-attempts "20" \
--reserve-memory "192M" --limit-memory "512M" \
--limit-cpu "0.333" \
--constraint 'node.labels.nodeid == 1' \
--publish "33331:33333" \
-e RSLSYNC_SECRET=$(cat ${secret_token_path}) \
--mount type=bind,source=${LOCAL_STORAGE},target=/data \
${IMG_resilio}
# node 2
docker service create \
--name ${CTN_resilio2} --hostname ${CTN_resilio2} \
--network ${NTW_RESILIO} --replicas "1" \
--restart-condition "any" --restart-max-attempts "20" \
--reserve-memory "192M" --limit-memory "512M" \
--limit-cpu "0.333" \
--constraint 'node.labels.nodeid == 2' \
--publish "33332:33333" \
-e RSLSYNC_SECRET=$(cat ${secret_token_path}) \
--mount type=bind,source=${LOCAL_STORAGE},target=/data \
${IMG_resilio}
# node 3
docker service create \
--name ${CTN_resilio3} --hostname ${CTN_resilio3} \
--network ${NTW_RESILIO} --replicas "1" \
--restart-condition "any" --restart-max-attempts "20" \
--reserve-memory "192M" --limit-memory "512M" \
--limit-cpu "0.333" \
--constraint 'node.labels.nodeid == 3' \
--publish "33333:33333" \
-e RSLSYNC_SECRET=$(cat ${secret_token_path}) \
--mount type=bind,source=${LOCAL_STORAGE},target=/data \
${IMG_resilio}
Always check on docker hub the most recent build:
https://hub.docker.com/r/devmtl/noti/tags
You should use this tag format in production.
${VERSION} _ ${DATE} _ ${HASH-COMMIT}
devmtl/resilio:2.6.3_2019-09-10_18H15s21_0383a37
These tags are also available to try stuff quickly:
devmtl/resilio:2.6.3
devmtl/resilio:stable
devmtl/resilio:latest
If you are looking for an alternative to WordPress, Ghost might be the CMS you are looking for. Check out our hosting plans.
Expand content (click here).
Our mission is to empower freelancers and small organizations to build an outstanding mobile-first website.
Because we believe your website should speak up in your name, we consider our mission completed once your site has become your impresario.
Find me on Twitter @askpascalandy.
— The FirePress Team 🔥📰
The power of communities pull request and forks means that 1 + 1 = 3
. You can help to make this repo a better one! Here is how:
- Fork it
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request
Check this post for more details: Contributing to our Github project. Also, by contributing you agree to the Contributor Code of Conduct on GitHub.
- This git repo is under the GNU V3 license. Find it here.