Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

NixOS Support

Abierto
#429 1 comentario 1 reacción 0 asignados Ver en GitHub

@konekohana ya está trabajando en esto.

Desde el 5/5/2026.

  • #472 de @konekohana — abierto

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
bash, docker-compose, nixos

Línea de trabajo

Empieza por bootstrap.sh, docker-compose.yml y README.md; después, ejecuta ./bootstrap.sh en NixOS mientras compruebas los prerrequisitos indicados del host y de Podman. Revisa scripts/download-full-history.sh si es necesario. Se considera terminado cuando la configuración completa de desarrollo funciona en NixOS y el proceso y los cambios necesarios en el proyecto están documentados.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Preface

Following on helpful comments from @weeman1337 on https://github.com/juliusknorr/nextcloud-docker-dev/issues/213, and trial and error I was able to reach to the point where the dev environment is ready be used. While this is still not completed, I'm using it as reference for me as well for other users. I'm hoping to standardize NixOS support for nextcloud-docker-dev at some point.

Pre-requisite

Compiled list

127.0.0.1 nextcloud.local
::1 nextcloud.local
127.0.0.1 nextcloud2.local
::1 nextcloud2.local
127.0.0.1 nextcloud3.local
::1 nextcloud3.local
127.0.0.1 stable16.local
::1 stable16.local
127.0.0.1 stable17.local
::1 stable17.local
127.0.0.1 stable18.local
::1 stable18.local
127.0.0.1 stable19.local
::1 stable19.local
127.0.0.1 stable20.local
::1 stable20.local
127.0.0.1 stable21.local
::1 stable21.local
127.0.0.1 stable22.local
::1 stable22.local
127.0.0.1 stable23.local
::1 stable23.local
127.0.0.1 stable24.local
::1 stable24.local
127.0.0.1 stable25.local
::1 stable25.local
127.0.0.1 stable26.local
::1 stable26.local
127.0.0.1 stable27.local
::1 stable27.local
127.0.0.1 stable28.local
::1 stable28.local
127.0.0.1 stable29.local
::1 stable29.local
127.0.0.1 stable30.local
::1 stable30.local
127.0.0.1 stable31.local
::1 stable31.local
127.0.0.1 stable32.local
::1 stable32.local
127.0.0.1 mail.local
::1 mail.local
127.0.0.1 sso.local
::1 sso.local
127.0.0.1 imap.local
::1 imap.local
127.0.0.1 collabora.local
::1 collabora.local
127.0.0.1 codedev.local
::1 codedev.local
127.0.0.1 onlyoffice.local
::1 onlyoffice.local
127.0.0.1 proxy.local
::1 proxy.local
127.0.0.1 hpb.local
::1 hpb.local
127.0.0.1 push.local
::1 push.local
127.0.0.1 keycloak.local
::1 keycloak.local
127.0.0.1 portal.local
::1 portal.local
127.0.0.1 gs1.local
::1 gs1.local
127.0.0.1 gs2.local
::1 gs2.local
127.0.0.1 lookup.local
::1 lookup.local
127.0.0.1 elasticsearch.local
::1 elasticsearch.local
127.0.0.1 elasticsearch-ui.local
::1 elasticsearch-ui.local
127.0.0.1 pgadmin.local
::1 pgadmin.local
127.0.0.1 phpmyadmin.local
::1 phpmyadmin.local
127.0.0.1 talk-signaling.local
::1 talk-signaling.local
127.0.0.1 talk-recording.local
::1 talk-recording.local

Steps

As of now, all requirements seem to be in place, and use can now run ./bootstrap.sh, which will have following output:

⏩ Performing system checks
    ✅ docker is properly installed
    ✅ git is properly installed
    ✅ Docker is properly executable


⏩ Setup your environment in an .env file
 ✅ nextcloud.local (127.0.0.1) already exists
 ✅ nextcloud.local (::1) already exists
 ✅ nextcloud2.local (127.0.0.1) already exists
 ✅ nextcloud2.local (::1) already exists
 ✅ nextcloud3.local (127.0.0.1) already exists
 ✅ nextcloud3.local (::1) already exists
 ✅ stable16.local (127.0.0.1) already exists
 ✅ stable16.local (::1) already exists
 ✅ stable17.local (127.0.0.1) already exists
 ✅ stable17.local (::1) already exists
 ✅ stable18.local (127.0.0.1) already exists
 ✅ stable18.local (::1) already exists
 ✅ stable19.local (127.0.0.1) already exists
 ✅ stable19.local (::1) already exists
 ✅ stable20.local (127.0.0.1) already exists
 ✅ stable20.local (::1) already exists
 ✅ stable21.local (127.0.0.1) already exists
 ✅ stable21.local (::1) already exists
 ✅ stable22.local (127.0.0.1) already exists
 ✅ stable22.local (::1) already exists
 ✅ stable23.local (127.0.0.1) already exists
 ✅ stable23.local (::1) already exists
 ✅ stable24.local (127.0.0.1) already exists
 ✅ stable24.local (::1) already exists
 ✅ stable25.local (127.0.0.1) already exists
 ✅ stable25.local (::1) already exists
 ✅ stable26.local (127.0.0.1) already exists
 ✅ stable26.local (::1) already exists
 ✅ stable27.local (127.0.0.1) already exists
 ✅ stable27.local (::1) already exists
 ✅ stable28.local (127.0.0.1) already exists
 ✅ stable28.local (::1) already exists
 ✅ stable29.local (127.0.0.1) already exists
 ✅ stable29.local (::1) already exists
 ✅ stable30.local (127.0.0.1) already exists
 ✅ stable30.local (::1) already exists
 ✅ stable31.local (127.0.0.1) already exists
 ✅ stable31.local (::1) already exists
 ✅ stable32.local (127.0.0.1) already exists
 ✅ stable32.local (::1) already exists
 ✅ mail.local (127.0.0.1) already exists
 ✅ mail.local (::1) already exists
 ✅ sso.local (127.0.0.1) already exists
 ✅ sso.local (::1) already exists
 ✅ imap.local (127.0.0.1) already exists
 ✅ imap.local (::1) already exists
 ✅ collabora.local (127.0.0.1) already exists
 ✅ collabora.local (::1) already exists
 ✅ codedev.local (127.0.0.1) already exists
 ✅ codedev.local (::1) already exists
 ✅ onlyoffice.local (127.0.0.1) already exists
 ✅ onlyoffice.local (::1) already exists
 ✅ proxy.local (127.0.0.1) already exists
 ✅ proxy.local (::1) already exists
 ✅ hpb.local (127.0.0.1) already exists
 ✅ hpb.local (::1) already exists
 ✅ push.local (127.0.0.1) already exists
 ✅ push.local (::1) already exists
 ✅ keycloak.local (127.0.0.1) already exists
 ✅ keycloak.local (::1) already exists
 ✅ portal.local (127.0.0.1) already exists
 ✅ portal.local (::1) already exists
 ✅ gs1.local (127.0.0.1) already exists
 ✅ gs1.local (::1) already exists
 ✅ gs2.local (127.0.0.1) already exists
 ✅ gs2.local (::1) already exists
 ✅ lookup.local (127.0.0.1) already exists
 ✅ lookup.local (::1) already exists
 ✅ elasticsearch.local (127.0.0.1) already exists
 ✅ elasticsearch.local (::1) already exists
 ✅ elasticsearch-ui.local (127.0.0.1) already exists
 ✅ elasticsearch-ui.local (::1) already exists
 ✅ pgadmin.local (127.0.0.1) already exists
 ✅ pgadmin.local (::1) already exists
 ✅ phpmyadmin.local (127.0.0.1) already exists
 ✅ phpmyadmin.local (::1) already exists
 ✅ talk-signaling.local (127.0.0.1) already exists
 ✅ talk-signaling.local (::1) already exists
 ✅ talk-recording.local (127.0.0.1) already exists
 ✅ talk-recording.local (::1) already exists

⏩ Setting up folder structure and fetching repositories
    🌏 Fetching server (this might take a while to finish)
    Cloning into 'workspace/server'...
    remote: Enumerating objects: 12858, done.        
remote: Counting objects: 100% (12858/12858), done.        
remote: Compressing objects: 100% (9778/9778), done.        
remote: Total 12858 (delta 3270), reused 5536 (delta 2597), pack-reused 0 (from 0)        
Receiving objects: 100% (12858/12858), 95.09 MiB | 3.31 MiB/s, done.
Resolving deltas: 100% (3270/3270), done.
Updating files: 100% (11555/11555), done.
    Submodule '3rdparty' (https://github.com/nextcloud/3rdparty.git) registered for path '3rdparty'
    Cloning into 'nextcloud-docker-dev/workspace/server/3rdparty'...
    remote: Enumerating objects: 60497, done.        
remote: Counting objects: 100% (540/540), done.        
remote: Compressing objects: 100% (160/160), done.        
remote: Total 60497 (delta 498), reused 391 (delta 378), pack-reused 59957 (from 3)        
Receiving objects: 100% (60497/60497), 77.19 MiB | 3.47 MiB/s, done.
Resolving deltas: 100% (34079/34079), done.
    Submodule path '3rdparty': checked out '069a6106ccc99fd8a5ac1836085deeeee9447b7d'
    🌏 Fetching viewer
       > Cloning into 'workspace/server/apps-extra/viewer'...
    ✅ viewer installed
    🌏 Fetching recommendations
       > Cloning into 'workspace/server/apps-extra/recommendations'...
    ✅ recommendations installed
    🌏 Fetching files_pdfviewer
       > Cloning into 'workspace/server/apps-extra/files_pdfviewer'...
    ✅ files_pdfviewer installed
    🌏 Fetching profiler
       > Cloning into 'workspace/server/apps-extra/profiler'...
    ✅ profiler installed
    🌏 Fetching hmr_enabler
       > Cloning into 'workspace/server/apps-extra/hmr_enabler'...
    ✅ hmr_enabler installed
    🌏 Fetching circles
       > Cloning into 'workspace/server/apps-extra/circles'...
    ✅ circles installed


 ╔═════════════════════════════════════════╗
 ║ oOo Ready to start developing 🎉        ║
 ╚═════════════════════════════════════════╝

 🚀  Start the Nextcloud server by running

        $ docker compose up -d nextcloud


 💤  Stop it with

        $ docker compose stop nextcloud


 🗑  Fresh install and wipe all data

        $ docker compose down -v

        Note that for performance reasons the server repository has been cloned with
        --depth=1. To get the full history it is highly recommended to run:

        $ cd workspace/server
        $ git fetch --unshallow
        $ git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
        $ git fetch origin

        This may take some time depending on your internet connection speed.

        You might as well use the script in scripts/download-full-history.sh.

For more details about the individual setup options see
the README.md file or checkout the repo at
https://github.com/juliusknorr/nextcloud-docker-dev

Next Steps

I'm yet to test the complete setup and start an app development, which was the reason for me to come over this. I'll update the PR and this issue as I find new challenges, until I complete the process, where I would like to contribute the results as:

  • Changes to the project
  • Documenting the process
Lenguaje dominante
PHP
Estrellas
192
Forks
103
Merge medio
33 min
PR fusionados (30 d)
1

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de nextcloud/nextcloud-docker-dev

Todos los issues de nextcloud/nextcloud-docker-dev

Issues similares

Más issues de PHP

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.