DEV Community

Cover image for 🐳 Help Make Docker Setup Truly Automated!
Basebasket
Basebasket

Posted on

🐳 Help Make Docker Setup Truly Automated!

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
Enter fullscreen mode Exit fullscreen mode

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:

  1. cp .env.docker.example .env
  2. docker-compose up --build -d
  3. 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:

  1. 🍴 Fork the repository
  2. 📖 Read the detailed issue description
  3. 💬 Comment on the issue if you have questions
  4. 🚀 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!

Here is the application admin panel. If you are wondering how this application looks like in the first place.

Image description

Top comments (0)