diff --git a/04_apt_management/APTLY.md b/04_apt_management/APTLY.md new file mode 100644 index 0000000..fb6e303 --- /dev/null +++ b/04_apt_management/APTLY.md @@ -0,0 +1,52 @@ +# APTLY + +TODO: + +* Docker +* Nix +* Build repository and install packages from it. + +## Install + +```sh +nix-shell -p aptly -p gnupg +``` + +## Docker + +```sh +just -f justfile.aptly aptly-exec + +open http://127.0.0.1:8080/ + +/opt/keys_imp.sh +/opt/update_mirror.sh +``` + + +## Steps + +```sh +gpg --gen-key + +Real name: Repository +Email address: repo@test.com + +Okay + +gpg --no-default-keyring --keyring trustedkeys.gpg --keyserver keyserver.ubuntu.com --recv-keys 871920D1991BC93C + +gpg --list-keys + +aptly mirror create -gpg-provider="gpg2" -keyring=trustdb.gpg -architectures=amd64 -filter='Priority (required) | Priority (important) | Priority (standard)' ubuntu-noble http://www.mirrorservice.org/sites/archive.ubuntu.com/ubuntu/ noble main + + +``` + +## Resources + +* Swiss army knife for Debian repository management [here](https://www.aptly.info/) +* https://github.com/aptly-dev/aptly +* https://www.aptly.info/tutorial/ +* https://cloud.theodo.com/en/blog/debian-mirrors-aptly +* https://github.com/aptly-dev/docker-aptly \ No newline at end of file diff --git a/04_apt_management/justfile.aptly b/04_apt_management/justfile.aptly new file mode 100644 index 0000000..8e0df15 --- /dev/null +++ b/04_apt_management/justfile.aptly @@ -0,0 +1,33 @@ +set dotenv-load := true + +# default lists actions +default: + @just -f justfile.aptly --list + +# create aptly volume +aptly-create-volume: + docker volume create --name aptly-data + # create key + docker run --rm --log-driver=none --volume aptly-data:/opt/aptly urpylka/aptly:latest /opt/keys_gen.sh "Test User" "your@email.com" "Password" + +aptly-delete-volume: + docker volume rm aptly-data + +# start aptly +aptly-start: + #!/usr/bin/env bash + set -xeufo pipefail + + # start nginx + docker run --rm --detach=true --log-driver=syslog --restart=always --name="aptly" --publish 8080:80 --volume aptly-data:/opt/aptly urpylka/aptly:latest + +aptly-stop: + #!/usr/bin/env bash + set -xeufo pipefail + docker stop aptly + +aptly-exec: + #!/usr/bin/env bash + set -xeufo pipefail + + docker exec -it aptly bash