omegaup / deploy

Deployment for omegaUp
2 stars 8 forks source link

Permission denied en docker container cuando el UID no es 1000 #21

Closed omarocegueda closed 3 years ago

omarocegueda commented 3 years ago

Al seguir las instrucciones para instalar el entorno de desarrollo con docker container, obtengo muchos mensajes de error al ejecutar:

docker-compose up --no-build

Ejemplo:

...
frontend_1     | 2020-10-03 23:10:21,134 INFO spawned: 'developer-environment' with pid 17402
frontend_1     | mkdir: cannot create directory ‘/opt/omegaup/frontend/www/phpminiadmin’: Permission denied
frontend_1     | 2020-10-03 23:10:21,139 INFO success: developer-environment entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
frontend_1     | 2020-10-03 23:10:21,139 INFO exited: developer-environment (exit status 1; not expected)
frontend_1     | 2020-10-03 23:10:21,141 INFO spawned: 'developer-environment' with pid 17404
frontend_1     | mkdir: cannot create directory ‘/opt/omegaup/frontend/www/phpminiadmin’: Permission denied
frontend_1     | 2020-10-03 23:10:21,147 INFO success: developer-environment entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
frontend_1     | 2020-10-03 23:10:21,147 INFO exited: developer-environment (exit status 1; not expected)
frontend_1     | 2020-10-03 23:10:21,148 INFO spawned: 'developer-environment' with pid 17410
frontend_1     | mkdir: cannot create directory ‘/opt/omegaup/frontend/www/phpminiadmin’: Permission denied
frontend_1     | 2020-10-03 23:10:21,154 INFO success: developer-environment entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
frontend_1     | 2020-10-03 23:10:21,154 INFO exited: developer-environment (exit status 1; not expected)
frontend_1     | 2020-10-03 23:10:21,155 INFO spawned: 'developer-environment' with pid 17412
frontend_1     | mkdir: cannot create directory ‘/opt/omegaup/frontend/www/phpminiadmin’: Permission denied
...

Al tratar de ver la instancia local de OmegaUp (http://localhost:8001) obtengo:

No config file.
You are missing the config file. These are the default values:

        <?php
require_once dirname(__DIR__) . '/server/try_define.php';

# ###################################
# GLOBAL CONFIG
# ###################################
...
omarocegueda commented 3 years ago

Al parecer faltan algunos sudo en /usr/bin/developer-environment.sh. Eso resuelve algunos errores pero aun obtengo:

frontend_1     | error Could not write file "/opt/omegaup/yarn-error.log": "EACCES: permission denied, open '/opt/omegaup/yarn-error.log'"
frontend_1     | error An unexpected error occurred: "EACCES: permission denied, mkdir '/opt/omegaup/node_modules'".
omarocegueda commented 3 years ago

Despues de:

sudo chmod 777 -R /opt/omegaup/node_modules

(para descartar los errores de acceso), frontend dice:

Please run cd /opt/omegaup && yarn install && yarn run dev-all
Error: EACCES: permission denied, mkdir '/opt/omegaup/frontend/www/css/dist'

argh... mejor su y luego yarn install && yarn run dev-all

Finalmente obtuve lo que dicen las instrucciones! :

Child frontend:
       1692 modules
    Child HtmlWebpackCompiler:
           1 module
Child style:
       1 module
    Child extract-text-webpack-plugin node_modules/extract-text-webpack-plugin/dist node_modules/css-loader/dist/cjs.js!node_modules/sass-loader/dist/cjs.js!frontend/www/sass/main.scss:
           2 modules
Child grader:
       1131 modules
    Child vs/editor/editor:
           36 modules
    Child vs/language/css/cssWorker:
           67 modules
    Child vs/language/html/htmlWorker:
           61 modules
    Child vs/language/json/jsonWorker:
           60 modules
    Child vs/language/typescript/tsWorker:
           41 modules
Done in 38.19s.
lhchavez commented 3 years ago

creo que esto es porque todos lo hemos estado probando con el usuario principal de Ubuntu. según yo, si haces

id -u

debe imprimir algo distinto de 1000. si ese es el caso, https://stackoverflow.com/a/56844765 debería ayudar