The included Compose stack is the fastest reproducible way to evaluate Lineweb Social locally. It runs the application, MariaDB, the queue worker, and the scheduler with one command:
./bin/docker-setupThe setup script generates a local .env.docker with a unique application key
and database password, builds the locked PHP and JavaScript dependencies, runs
the migrations, waits for the health endpoint, and then exposes the application
only on http://127.0.0.1:8080.
.env.dockeris mode-restricted and ignored by Git. Never commit or share it.- MariaDB is reachable only inside the Compose network; it has no published host port.
- Application containers run without root privileges, drop Linux capabilities, use a read-only filesystem, and retain only the writable cache and storage volumes.
- Database records and private media use named volumes, so a normal stop or
docker compose downdoes not delete them. - Mail is logged instead of delivered. Configure and verify a transactional provider before inviting real members.
This stack uses Laravel's development HTTP server and is intended for local evaluation and controlled development only. It is not the production deployment recipe. A public deployment still needs HTTPS, a production web server, tested backups and restore, monitoring, mail delivery, and an explicit rollback plan.
All commands must use the generated environment file:
# Status
docker compose --env-file .env.docker ps
# Logs
docker compose --env-file .env.docker logs --follow app worker scheduler
# Stop without deleting data
docker compose --env-file .env.docker down
# Rebuild after updating the source
docker compose --env-file .env.docker up --build --detachTo run an Artisan command inside the application image:
docker compose --env-file .env.docker run --rm app artisan aboutThe following command permanently deletes the Compose database, uploaded media, sessions, and caches. Use it only when a full reset is intentional:
docker compose --env-file .env.docker down --volumesRemove .env.docker afterwards only if you also want the next setup to generate
a new application key and database password.