-
Notifications
You must be signed in to change notification settings - Fork 0
Entwicklung mit Linux
Hier wird erklärt wie man eine Umgebung auf Linux mit Docker einrichtet, um an twofactor_email zu entwickeln. Die Anleitung orientiert sich an der offiziellen Anleitung von Nextcloud.
Virtualization Support muss nur aktiviert werden, wenn nicht eh schon ist.
Nextcloud Anleitung:
- Blöderweise funktioniert der Link nicht richtig in allen Browsern. Falls er nicht funktioniert klicke auf der erscheinenden Seite auf "1 Ubuntu install docker app.md"
- https://cloud.nextcloud.com/s/iyNGp8ryWxc7Efa?dir=undefined&path=%2F1%20Setting%20up%20a%20development%20environment%2FTutorial%20for%20Ubuntu&openfile=6446104
Ausführliche Anleitung:
Originalanleitung von Docker:
Docker dev image von Nextcloud laden und einrichten:
git clone https://github.com/juliushaertl/nextcloud-docker-dev
cd nextcloud-docker-dev
./bootstrap.sh
Docker dev image starten (muss immer zum Starten ausgeführt werden):
docker compose up nextcloud
Mit Strg+C Process wieder beenden
Quelle:
- https://cloud.nextcloud.com/s/iyNGp8ryWxc7Efa?dir=undefined&path=%2F1%20Setting%20up%20a%20development%20environment%2FTutorial%20for%20Ubuntu&openfile=6446103 Repo dazu: https://github.com/juliushaertl/nextcloud-docker-dev
Wir befinden uns im geklonten nextcloud-docker-dev Ordner. Nun in den Apps Ordner wechseln und twofactor_email klonen:
cd workspace/server/apps
git clone [email protected]:datenschutz-individuell/twofactor_email.git
Composer npm usw. muss bei Bedarf installiert werden.
composer i
npm ci
Builden von JS (Muss immer gemacht werden, wenn Frontend Dateien geändert wurden (z.B. Vue)
- npm run build or npm run dev more info
Nun sollte die twofactor_email App schon in Nextcloud erscheinen und nach Aktivierung funktionieren. Außerdem kann das Projekt bearbeitet und getestet werden.
docker exec -ti master-nextcloud-1 tail -f data/nextcloud.log
Wir befinden uns im geklonten nextcloud-docker-dev Ordner.
docker compose up nextcloud
Mit Strg+C Process wieder beenden
Builden von JS (Muss immer gemacht werden, wenn Frontend Dateien geändert wurden (z.B. Vue)
npm run build
Dockercontainer betreten:
docker exec -it master-nextcloud-1 bash
In twofactor_email Ordner wechseln und tests ausführen:
cd apps/twofactor_email/
composer run-script test
Es kann einfach eine Docker Instanz einer alten Version von Nextcloud gestartet werden. Wir wählen für SERVER_BRANCH den gewünschten Branch oder Tag aus https://github.com/nextcloud/server. Außerdem linken wir unseren lokalen twofactor_email Projektordner in den Container. "PFAD/ZUM" muss dabei mit dem Pfad zu unserem Klon des nextcloud-docker-dev Projektes ausgetauscht werden.
docker run --rm -p 8080:80 -e SERVER_BRANCH=v27.1.7 -v PFAD/ZUM/nextcloud-docker-dev/workspace/server/apps/twofactor_email:/var/www/html/apps/twofactor_email ghcr.io/juliushaertl/nextcloud-dev-php80:latest
Die Instanz ist möglicherweise nicht über http://nextcloud.local/ erreichbar. Ggf findest du sie in Docker Desktop (https://cloud.nextcloud.com/s/iyNGp8ryWxc7Efa?dir=undefined&path=%2F1%20Setting%20up%20a%20development%20environment%2FTutorial%20for%20Ubuntu&openfile=6446103#h-2-access-your-nextcloud-in-the-browser)
- Credits: @seyfahni
- Following the original Nextcloud Docker DEV documentation
# AS ROOT
pacman -S docker docker-compose docker-buildx
# optional, but provides more networks with lesser hosts per network, buildkit still necessary or default meanwhile?
cat >/etc/docker/daemon.json <<'EOF' {
"default-address-pools": [
{
"base": "172.16.0.0/12",
"size": 26
}
],
"features": {
"buildkit": true
}
}
EOF
systemctl enable --now docker.socket
usermod -aG docker <DEV_USER>
# In order for group memberships to be activated, log off and back on
# AS DEV_USER
# assumes a working GitHub environment including SSH key setup to bidi-sync via GIT
# change to a reasonable dev root folder
git clone [email protected]:juliushaertl/nextcloud-docker-dev.git
cd nextcloud-docker-dev
./bootstrap.sh
# Wait until finished without error ##QUESTION: How to upgrade this later on?
docker compose up --pull always -d nextcloud
# Nextcloud instance should be accessible from the host via http://nextcloud.local:80/
# User: admin, Password: admin
# additional default users see https://juliushaertl.github.io/nextcloud-docker-dev/basics/overview/#default-users