Comments (6)
Begin with a limited user dialog that only listens on limited network interfaces/ports (todo: how?)
grocy is a PHP app, not a webserver - so this is technically completely out of control of grocy.
Prompt for a password via the dialog, and ensure that it is a strong password -- or generate a strong password for the user if they prefer
If we do that, and grocy is set up to be reachable from the public internet, everyone could (yes, theoretically, most probably not really a problem in reality) catch up there and create those initial credentials.
grocy is generally based around GIGO, so if the user doesn't care or whatever and leaves the (clearly mentioned to be changed) initial credentials + makes their instance available publicly on the internet (since weak credentials are commonly not a problem in your home network) or maybe even disables authentication at all (config option ref) - that's all someones choice.
from grocy-docker.
grocy is a PHP app, not a webserver - so this is technically completely out of control of grocy.
If we do that, and grocy is set up to be reachable from the public internet, everyone could (yes, theoretically, most probably not really a problem in reality) catch up there and create those initial credentials.
Yep, agreed for both of those 👍
Could you transfer this to grocy-docker
? I'll do some research soon; it seems like this should be a well-known problem with existing and reusable solutions (?).
from grocy-docker.
grocy/docs#7 could make sense to also transfer to grocy-docker
, with this plan.
from grocy-docker.
Could you transfer this to
grocy-docker
?
Will do that now...
from grocy-docker.
I wonder whether the running container ID (not the image ID) could be introspected and used as the default admin password. There could be a question about whether the user wants to update that on first-login -- but it'd be fine to choose not to.
That wouldn't be perfect, but the container ID is information that random systems and/or people scanning the network for known applications shouldn't be able to obtain (unless they have some login access to the host machine already), and that a person should hopefully be able to access easily during first-time Grocy container startup (todo: check -- is that true?).
from grocy-docker.
Another option could be storing an initial password (or better the hash thereof) in grocy.env, but implementing that would still require some effort I guess.
from grocy-docker.
Related Issues (20)
- Consider deprecating use of docker HOT 3
- grocy/grocy-docker or linuxserver/grocy HOT 7
- Rollback to PHP 8.0 HOT 3
- Update base images to use Alpine 3.17.2 HOT 2
- Plan from migrating away from dockerhub? HOT 3
- frontend container: intermittent build error: unable to remove temporary directory contents HOT 1
- GitHub Actions: update buildah-build action in publish workflow to a more recent version
- 404 on node_modules following upgrade to 4.0.0 HOT 44
- Update guide incomplete. HOT 1
- No assets in the web UI after 3.3.2->4.0.2 upgrade (docker-compose + nginx) HOT 10
- Frontend issues with grocy >= 4.0.1 HOT 4
- Feature Request: Populate data directory if using docker bind mounts HOT 6
- Feature request: Proxy authentication by http header value HOT 2
- Allow changing the name of the backend container. HOT 2
- Docker image not found (with bages linked) HOT 1
- Use of docker volume for data makes it hard to customize HOT 2
- Request: Allow setting the front-end nginx configuration for subdirectory HOT 1
- Can't add item on first login HOT 1
- Popup menus collapse to zero height on firefox until browser window is resized HOT 3
- Unable to set custom domain for grocy in Android app HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from grocy-docker.