Docker gitlab + GitLab Runner problem

Schechner

Benutzer
Mitglied seit
10. Feb 2020
Beiträge
48
Punkte für Reaktionen
0
Punkte
6
Hallo,


ich habe folgendes Problem, ich möchte gerne auf meiner Synology DS218+ (aktuelle Software) Gitlab installieren und wenn ich mein (Flash)Application pushe das sie sich auf einem Docker Container installiert und ich sie aufrufen kann.

So viel zu meiner Wuschvorstellung :D

Ich habe folgendes Problem, ich habe es jetzt schon geschafft gitlab über das Paketzentrum zu installieren und auch einen GitLab Runner zum laufen zubringen. Jedoch hatte ich Problem Probleme mit der SSH Verbindung beim erstellen.

Habe auch schon viel im Inet gesucht und des öfteren "neu" aufgesetzt.

Ich bin jetzt immer noch nicht weiter, deshalb bitte ich hier um Hilfe.

Mit meiner aktuellen "Version" bin ich recht zufrieden weil es einfach zu bedienen ist. ich habe es mit diesen zwei Anleitungen gemacht.

https://github.com/sameersbn/docker-gitlab (docker-compose)

https://mixable.blog/setup-gitlab-runner-for-docker-containers-on-synology-nas/


meine docker-compose sieht jetzt wiefolgt aus:

Code:
version: '2.3'

services:
  redis:
    restart: always
    image: redis:5.0.9
    command:
    - --loglevel warning
    volumes:
    - redis-data:/var/lib/redis:Z

  postgresql:
    restart: always
    image: sameersbn/postgresql:12-20200524
    volumes:
    - postgresql-data:/var/lib/postgresql:Z
    environment:
    - DB_USER=gitlab
    - DB_PASS=password
    - DB_NAME=gitlabhq_production
    - DB_EXTENSION=pg_trgm,btree_gist

  gitlab:
    restart: always
    image: sameersbn/gitlab:13.8.4
    depends_on:
    - redis
    - postgresql
    ports:
    - "10080:80"
    - "10022:22"
    volumes:
    - gitlab-data:/home/git/data:Z
    healthcheck:
      test: ["CMD", "/usr/local/sbin/healthcheck"]
      interval: 5m
      timeout: 10s
      retries: 3
      start_period: 5m
    environment:
    - DEBUG=false

    - DB_ADAPTER=postgresql
    - DB_HOST=postgresql
    - DB_PORT=5432
    - DB_USER=gitlab
    - DB_PASS=password
    - DB_NAME=gitlabhq_production

    - REDIS_HOST=redis
    - REDIS_PORT=6379

    - TZ=Europa/Berlin
    - GITLAB_TIMEZONE=Berlin

    - GITLAB_HTTPS=false
    - SSL_SELF_SIGNED=false

    - GITLAB_HOST=localhost
    - GITLAB_PORT=10080
    - GITLAB_SSH_PORT=10022
    - GITLAB_RELATIVE_URL_ROOT=
    - GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alphanumeric-string
    - GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alphanumeric-string
    - GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alphanumeric-string

    - GITLAB_ROOT_PASSWORD=*****
    - GITLAB_ROOT_EMAIL=*****@gmail.com

    - GITLAB_NOTIFY_ON_BROKEN_BUILDS=true
    - GITLAB_NOTIFY_PUSHER=false

    - GITLAB_EMAIL=*****@gmail.com
    - GITLAB_EMAIL_REPLY_TO=*****@gmail.com
    - GITLAB_INCOMING_EMAIL_ADDRESS=*****@gmail.com

    - GITLAB_BACKUP_SCHEDULE=daily
    - GITLAB_BACKUP_TIME=01:00

    - SMTP_ENABLED=true
    - SMTP_DOMAIN=www.example.com
    - SMTP_HOST=smtp.gmail.com
    - SMTP_PORT=587
    - SMTP_USER=******@gmail.com
    - SMTP_PASS=******
    - SMTP_STARTTLS=true
    - SMTP_AUTHENTICATION=login

    - IMAP_ENABLED=true
    - IMAP_HOST=imap.gmail.com
    - IMAP_PORT=993
    - IMAP_USER=******@gmail.com
    - IMAP_PASS=********
    - IMAP_SSL=true
    - IMAP_STARTTLS=false

    - OAUTH_ENABLED=false
    - OAUTH_AUTO_SIGN_IN_WITH_PROVIDER=
    - OAUTH_ALLOW_SSO=
    - OAUTH_BLOCK_AUTO_CREATED_USERS=true
    - OAUTH_AUTO_LINK_LDAP_USER=false
    - OAUTH_AUTO_LINK_SAML_USER=false
    - OAUTH_EXTERNAL_PROVIDERS=

    - OAUTH_CAS3_LABEL=cas3
    - OAUTH_CAS3_SERVER=
    - OAUTH_CAS3_DISABLE_SSL_VERIFICATION=false
    - OAUTH_CAS3_LOGIN_URL=/cas/login
    - OAUTH_CAS3_VALIDATE_URL=/cas/p3/serviceValidate
    - OAUTH_CAS3_LOGOUT_URL=/cas/logout

    - OAUTH_GOOGLE_API_KEY=
    - OAUTH_GOOGLE_APP_SECRET=
    - OAUTH_GOOGLE_RESTRICT_DOMAIN=

    - OAUTH_FACEBOOK_API_KEY=
    - OAUTH_FACEBOOK_APP_SECRET=

    - OAUTH_TWITTER_API_KEY=
    - OAUTH_TWITTER_APP_SECRET=

    - OAUTH_GITHUB_API_KEY=
    - OAUTH_GITHUB_APP_SECRET=
    - OAUTH_GITHUB_URL=
    - OAUTH_GITHUB_VERIFY_SSL=

    - OAUTH_GITLAB_API_KEY=
    - OAUTH_GITLAB_APP_SECRET=

    - OAUTH_BITBUCKET_API_KEY=
    - OAUTH_BITBUCKET_APP_SECRET=

    - OAUTH_SAML_ASSERTION_CONSUMER_SERVICE_URL=
    - OAUTH_SAML_IDP_CERT_FINGERPRINT=
    - OAUTH_SAML_IDP_SSO_TARGET_URL=
    - OAUTH_SAML_ISSUER=
    - OAUTH_SAML_LABEL="Our SAML Provider"
    - OAUTH_SAML_NAME_IDENTIFIER_FORMAT=urn:oasis:names:tc:SAML:2.0:nameid-format:transient
    - OAUTH_SAML_GROUPS_ATTRIBUTE=
    - OAUTH_SAML_EXTERNAL_GROUPS=
    - OAUTH_SAML_ATTRIBUTE_STATEMENTS_EMAIL=
    - OAUTH_SAML_ATTRIBUTE_STATEMENTS_NAME=
    - OAUTH_SAML_ATTRIBUTE_STATEMENTS_USERNAME=
    - OAUTH_SAML_ATTRIBUTE_STATEMENTS_FIRST_NAME=
    - OAUTH_SAML_ATTRIBUTE_STATEMENTS_LAST_NAME=

    - OAUTH_CROWD_SERVER_URL=
    - OAUTH_CROWD_APP_NAME=
    - OAUTH_CROWD_APP_PASSWORD=

    - OAUTH_AUTH0_CLIENT_ID=
    - OAUTH_AUTH0_CLIENT_SECRET=
    - OAUTH_AUTH0_DOMAIN=
    - OAUTH_AUTH0_SCOPE=

    - OAUTH_AZURE_API_KEY=
    - OAUTH_AZURE_API_SECRET=
    - OAUTH_AZURE_TENANT_ID=
       

volumes:
  redis-data:
  postgresql-data:
  gitlab-data:


Die Datei habe ich in /Volume1/Docker gespeichert

die runner habe ich wie auf der Seite ausgeführt nur den host habe ich geändert auf "Docker-default" weil da auch Gitlab drin ist.


per ssl komm ich immer noch nicht drauf geändert.synology.me:5001 funktioniert geändert.synology.me:10443 oder geändert.synology.me:10022 geht nicht aber geändert.synology.me:10080 (ohne ssl) geht.

Hoffe mir kann jemand helfen.



Falls noch etwas fehlt bitte gebt mir bescheid.

Gruss Marco
 

iAcki

Benutzer
Mitglied seit
20. Mrz 2019
Beiträge
28
Punkte für Reaktionen
5
Punkte
3
Hi Marco,

warum nimmst du den Container von samersbn und nicht einfach den von Gitlab direkt? Zu Beginn hatte ich auch den samersbn, aber da wartet man auch gern mal einen Monat auf eine neue Version und wenn die irgendwann keinen Bock mehr haben, dann hängst du auf einer alten Version fest.
ich hab hier mal eine Schritt für Schritt Anleitung erstellt, wie man das alles schön auf der DS einrichten kann, mit ordentlicher Url, ganz ohne den Pfeffer mit der Port-Angabe.
Anleitung

Gruß, Christian
 

tproko

Benutzer
Sehr erfahren
Mitglied seit
11. Jun 2017
Beiträge
2.117
Punkte für Reaktionen
256
Punkte
129
Ich habe das ganze vor 2 Wochen auch aufgesetzt.

Habe aber kein docker compose verwendet, sondern übers docker GUI der Syno. Ging überraschend gut.

Anschließend nur die Ordner raus gemounted und die Ports ggf. anders gemapped.

Übers GUI kann per Klick eine neue Bash aufgemacht werden. Ansonsten geht auch docker exec -it containername bash
 

Schechner

Benutzer
Mitglied seit
10. Feb 2020
Beiträge
48
Punkte für Reaktionen
0
Punkte
6
Hi Marco,

warum nimmst du den Container von samersbn und nicht einfach den von Gitlab direkt? Zu Beginn hatte ich auch den samersbn, aber da wartet man auch gern mal einen Monat auf eine neue Version und wenn die irgendwann keinen Bock mehr haben, dann hängst du auf einer alten Version fest.
ich hab hier mal eine Schritt für Schritt Anleitung erstellt, wie man das alles schön auf der DS einrichten kann, mit ordentlicher Url, ganz ohne den Pfeffer mit der Port-Angabe.
Anleitung

Gruß, Christian

Ich hab die von sameersbn genommen weil ich das Tutorial sehr gut fand und ich schon seeeehr viel probiert habe (ohne erfolg).
ich hab in der Zwischenzeit auch dein Tutorial gefunden, jedoch komm ich da auch nicht weiter :(


Ich habe das ganze vor 2 Wochen auch aufgesetzt.

Habe aber kein docker compose verwendet, sondern übers docker GUI der Syno. Ging überraschend gut.

Anschließend nur die Ordner raus gemounted und die Ports ggf. anders gemapped.

Übers GUI kann per Klick eine neue Bash aufgemacht werden. Ansonsten geht auch docker exec -it containername bash


ich hab das auch mal probiert, hat bei mir aber auch nicht 100% funktioniert.
Ich habe auch gesehen das das Paket sehr alt ist ....

aber könntest du mal genauer beschreiben was du gemacht hast?

Ich möchte am ende das Gitlab über meine Ddns erreichen ulmenstr.synology.me am besten per ssl und dort will ich ein GitLab Runner laufen lassen wenn ich meine Python(Flask) Applikationen Hochlade die automatisch ausgeführt werden.

ich hoffe ihr könnt mir dabei helfen


ps: @iAcki, ich habe auch schon auf deinem Thread geantwortet
 

tproko

Benutzer
Sehr erfahren
Mitglied seit
11. Jun 2017
Beiträge
2.117
Punkte für Reaktionen
256
Punkte
129
Hi, also bei mir läuft nur gitlab-ce, kein gitlab-runner.

Gitlab CE Docker Images 13.9 ist verfügbar, das ist Aktuell, und nicht veraltet :unsure:
Nachdem du da beides zum Laufen bringen willst, musst du dann auch dafür sorgen, dass deine 2 Container ein gemeinsames Netzwerk teilen oder am Hostnetzwerk integrieren.

Hier nochmal die Gitlab Docker Anleitung: für dich wesentlich werden wohl die Ports und die Pfade sein.
Hier zur Sicherheit nochmals die Gitlab Runner Anleitung.

1.) Paket docker öffnen
2.) Registrierung -> Abbild herunterladen (Gitlab ce)
Selection_004.png
3.) Bei diesem Abbild starten drücken und die Parameter befüllen
Netzwerk, Pfade und Ports siehe Bilder als Beispiel.
Selection_005.png
Selection_006.png

Selection_007.png

4.) Dann den Container starten, Details drücken und beim Terminal siehst du mal den Startprozess.
Mit dem Button Erstellen kannst du eine neue bash öffnen, und die Anleitung von gitlab install befolgen.
Das gleiche klappt auf der Syno mit SSH und docker exec ebenfalls wenn du eine normale Shell via putty/ssh bevorzugst.
Selection_008.png
 

Schechner

Benutzer
Mitglied seit
10. Feb 2020
Beiträge
48
Punkte für Reaktionen
0
Punkte
6
Dank für deine Antwort, ich hab das falsch verstanden *shame on me* ich dachte du meintest das Gitlab im Paketzentrum

1616093226952.png

Wenn ich jetzt deine Methode probiere kann ich keine Ports einstellen (siehe unten)
1616094081368.png

war das bei dir auch so?
 

tproko

Benutzer
Sehr erfahren
Mitglied seit
11. Jun 2017
Beiträge
2.117
Punkte für Reaktionen
256
Punkte
129
Nein, ich habe das Bridge Netzwerk verwendet (für alle meine Container). Dann können die Ports vergeben werden.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat