Hey Everyone,
I'm looking for someone to tackle a good first issue in my open source ERP project Samarium. This is a perfect opportunity if you want to:
- 🎯 Make your first open source contribution
- 🐳 Learn Docker best practices
- ⚡ Improve developer experience for future contributors
- 🛠️ Work with Laravel/PHP in a containerized environment
The Problem
Right now, our Docker setup isn't truly automated. After running docker-compose up --build -d
, users have to manually execute several commands:
docker exec -it samarium_app npm run dev
docker exec -it samarium_app composer dump-autoload
docker exec -it samarium_app php artisan migrate
docker exec -it samarium_app php artisan key:generate
docker exec -it samarium_app php artisan storage:link
docker exec -it samarium_app php artisan db:seed
This goes against Docker's philosophy of providing a complete, automated setup experience. New contributors shouldn't have to remember and run multiple manual steps!
What We Need
The Goal: Make the setup truly one-command after initial configuration.
Users should only need to:
-
cp .env.docker.example .env
docker-compose up --build -d
- ✨ That's it! Application ready to use.
The Solution (Implementation Ideas)
The fix involves creating a Docker entrypoint script that:
- ✅ Runs initialization commands automatically on first startup
- ✅ Uses a flag/file to prevent re-running on container restarts
- ✅ Handles errors gracefully
- ✅ Works in both development and production environments
Files you'll likely work with:
-
Dockerfile
- Add the entrypoint script -
docker-compose.yml
- Possible adjustments needed - Create new
docker-entrypoint.sh
- The automation magic -
README.md
- Update installation docs
Why This is Perfect for Beginners
🎓 Learning opportunities:
- Docker entrypoint scripts and best practices
- Laravel artisan commands and application lifecycle
- Bash scripting for automation
- Understanding containerization principles
🤝 Great first contribution because:
- Clear, well-defined scope
- Immediate, visible impact on user experience
- Self-contained task that doesn't require deep codebase knowledge
About Samarium
Samarium is a simple ERP system built with Laravel and Livewire that helps with:
- Invoice generation
- Finance tracking
- Website management
- Task management
- And more!
It's designed with a clean, simple UI and modular architecture.
Ready to Contribute?
Check out the full issue details: GitHub Issue Link
Getting started:
- 🍴 Fork the repository
- 📖 Read the detailed issue description
- 💬 Comment on the issue if you have questions
- 🚀 Start coding!
I'm happy to provide guidance and answer questions. This is a welcoming project for all contributors.
Looking forward to your contribution! 🎉
Drop a comment below if you're interested or have any questions. Let's make this Docker setup smooth for everyone!
Top comments (0)