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)