* Patch plumbing of docker-compose UID/GID build args
* Fallback to 1000/1000 if DOCKER_(U|G)ID not set
* Revise README.md instructions for docker further
* Fix existing typo forc 'servie' -> 'service'
* Rename PUID/GUID -> UID/GID
* Specify user in erigon docker service
* Rely on .env instead of specifying :-1000
* Polish Makefile for docker use case
* one more helpful comment
* make docker should use UID/GID --build-arg
* Fix make docker and more fail-fast if envvar set incorrect
* mv .env->.env.example to not intefere existing workflows
* Specify envvars in docker CI
* Adjust validate_docker_build_args to permit non-erigon user
* Also run docker CI target on macos-11 os
* Add DOCKER_UID, DOCKER_GID in hooks/build
* Patch docker build arg validation for macos
* Add actions-setup-docker@master for macos
* Don't run automated test for docker macos
* Cleanup Makefile
* Comments, targets for erigon users
* More Makefile cleanup, debugging still
* Typo fix
* Create subdirs before calling ls
* Get rid of flaky validation
* DOCKER_UID, DOCKER_GID init to runner if not set
* Get rid of unnecessary variable for now
* Improved README based on new changes
* Proper uid/gid `make user_*` when no envars set
* Fix typo in Makefile comment
* Fix make docker as sudo user
Dockerfile requires some --build-arg options.
Fix "docker" target to pass them.
Fix GIT_TAG to reflect the most recent tag related to HEAD, instead of an unrelated most recent tag.
Use it as the image VERSION.
Image tags need to be passed explicitly if needed:
DOCKER_FLAGS='-t erigon:latest' make docker
* Feat: only share the erigon container PID namespace with rpcdaemon instead of the entire host PID namespace.
* Feat: remove host UID:GUID mapping from erigon and rpcdaemon containers in favour of erigon user in Dockerfile. Adapted Makefile to pre-create mounted volumes to avoid permission issues at runtime.
* Feat: docker volume directories should always be owned by erigon user(1000:1000) regardless of the user that invoked the make command.
* Fix: don't chown here which breaks docker volume mounts.
* Fix: remove ERIGON_HOME Makefile variable and simplify recipe.
Some container engines such as podman have started to prompt the user to explicitly state (thus sometimes causing service scripts on systemd) to fail for lack of mentioning what container image hub is used. This change declares the hub to be docker.io, thus removing the prompt on systems that use podman.
Alpine containers, by default, do not include `tzdata` package, so they do not honor the `TZ` environment variable. When running in a docker container the logs timestamps will always be in UTC without this package. I propose we add `tzdata` so that the timezone can be changed.
* save state
* torrent experiments
* torrent experiment passed
* fixes after merge
* snapshot headers processing passed
* save state
* save state
* download headers works after snapshot processing
* save state
* save state
* save state
* save state
* add lazy load tx to snapshots, increase number of trackers
* save state
* speedup getting info
* change logging
* move to turbo package
* save state
* save state
* save state
* cleanup
* save state
* add test test
* save state
* lmdb debugging
* fix readonly mode
* save state
* fix build
* sync works
* save state
* save state
* save state
* allow cmd stages stageSenders use snapshots
* debugging failed hashing
* remove experimental tests
* remove torrent experimental tests
* fix lint
* extract snapshot wrapper
* metainfo checker
* add remote seeder
* add logs
* update gomod
* remove useless code
* fix lint&remove useless code
* extract verify snapshot to separated command
* skip debug test
* fix test
* change type of seedSnapshot flag
* add eth logger to torrent lib
* skip debug test
* add Close method
* review fixes
* fix lint
* tidy mods
* Fix compile
* Fix lint
* Fix rpcdaemon running in the docker
Co-authored-by: b00ris <b00ris@mail.ru>
Co-authored-by: alex.sharov <AskAlexSharov@gmail.com>