Fix compose file
This commit is contained in:
parent
861d469082
commit
502d84cc37
4 changed files with 50 additions and 70 deletions
12
.env.example
12
.env.example
|
|
@ -20,12 +20,12 @@ LOG_STACK=single
|
||||||
LOG_DEPRECATIONS_CHANNEL=null
|
LOG_DEPRECATIONS_CHANNEL=null
|
||||||
LOG_LEVEL=debug
|
LOG_LEVEL=debug
|
||||||
|
|
||||||
DB_CONNECTION=sqlite
|
DB_CONNECTION=mysql
|
||||||
# DB_HOST=127.0.0.1
|
DB_HOST=db
|
||||||
# DB_PORT=3306
|
DB_PORT=3306
|
||||||
# DB_DATABASE=laravel
|
DB_DATABASE=incr
|
||||||
# DB_USERNAME=root
|
DB_USERNAME=incr_user
|
||||||
# DB_PASSWORD=
|
DB_PASSWORD=incr_password
|
||||||
|
|
||||||
SESSION_DRIVER=database
|
SESSION_DRIVER=database
|
||||||
SESSION_LIFETIME=120
|
SESSION_LIFETIME=120
|
||||||
|
|
|
||||||
70
README.md
70
README.md
|
|
@ -46,68 +46,24 @@ ### Quick Start (Production)
|
||||||
|
|
||||||
#### Docker
|
#### Docker
|
||||||
|
|
||||||
Create a `docker-compose.yml` file:
|
Clone the repository and run with Docker Compose:
|
||||||
|
|
||||||
```yaml
|
|
||||||
services:
|
|
||||||
app:
|
|
||||||
image: codeberg.org/lvl0/incr:0.1.14
|
|
||||||
container_name: incr-app
|
|
||||||
restart: unless-stopped
|
|
||||||
working_dir: /var/www/html
|
|
||||||
environment:
|
|
||||||
- APP_ENV=production
|
|
||||||
- APP_DEBUG=false
|
|
||||||
- DB_CONNECTION=mysql
|
|
||||||
- DB_HOST=db
|
|
||||||
- DB_PORT=3306
|
|
||||||
- DB_DATABASE=incr
|
|
||||||
- DB_USERNAME=incr_user
|
|
||||||
- DB_PASSWORD=incr_password
|
|
||||||
volumes:
|
|
||||||
- ./storage:/var/www/html/storage
|
|
||||||
- ./public:/var/www/html/public
|
|
||||||
ports:
|
|
||||||
- "80:80"
|
|
||||||
depends_on:
|
|
||||||
- db
|
|
||||||
networks:
|
|
||||||
- incr-network
|
|
||||||
|
|
||||||
db:
|
|
||||||
image: mysql:8.0
|
|
||||||
container_name: incr-db
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
- MYSQL_DATABASE=incr
|
|
||||||
- MYSQL_USER=incr_user
|
|
||||||
- MYSQL_PASSWORD=incr_password
|
|
||||||
- MYSQL_ROOT_PASSWORD=root_password
|
|
||||||
volumes:
|
|
||||||
- db_data:/var/lib/mysql
|
|
||||||
ports:
|
|
||||||
- "3306:3306"
|
|
||||||
networks:
|
|
||||||
- incr-network
|
|
||||||
|
|
||||||
networks:
|
|
||||||
incr-network:
|
|
||||||
driver: bridge
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
db_data:
|
|
||||||
driver: local
|
|
||||||
```
|
|
||||||
|
|
||||||
Then run:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker compose up -d
|
git clone https://github.com/your-username/incr.git
|
||||||
|
cd incr
|
||||||
```
|
```
|
||||||
|
|
||||||
The application will be available at `http://localhost`.
|
Run the application using the provided docker-compose configuration:
|
||||||
|
|
||||||
**Default credentials**: You'll need to register a new account on first visit.
|
```bash
|
||||||
|
# Using Docker Compose
|
||||||
|
docker-compose -f docker/docker-compose.yml up --build
|
||||||
|
|
||||||
|
# Or using Podman Compose
|
||||||
|
podman-compose -f docker/docker-compose.yml up --build
|
||||||
|
```
|
||||||
|
|
||||||
|
The application will be available at `http://localhost:5001`.
|
||||||
|
|
||||||
### Development
|
### Development
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,10 @@ version: '3.8'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
image: codeberg.org/lvl0/incr:0.1.14
|
# image: codeberg.org/lvl0/incr:latest
|
||||||
|
build:
|
||||||
|
context: ..
|
||||||
|
dockerfile: docker/Dockerfile
|
||||||
container_name: incr-app
|
container_name: incr-app
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
working_dir: /var/www/html
|
working_dir: /var/www/html
|
||||||
|
|
@ -15,18 +18,17 @@ services:
|
||||||
- DB_DATABASE=incr
|
- DB_DATABASE=incr
|
||||||
- DB_USERNAME=incr_user
|
- DB_USERNAME=incr_user
|
||||||
- DB_PASSWORD=incr_password
|
- DB_PASSWORD=incr_password
|
||||||
volumes:
|
volumes: []
|
||||||
- ../storage:/var/www/html/storage
|
|
||||||
- ../public:/var/www/html/public
|
|
||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "5001:80"
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
db:
|
||||||
|
condition: service_healthy
|
||||||
networks:
|
networks:
|
||||||
- incr-network
|
- incr-network
|
||||||
|
|
||||||
db:
|
db:
|
||||||
image: mysql:8.0
|
image: docker.io/library/mysql:8.0
|
||||||
container_name: incr-db
|
container_name: incr-db
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
|
|
@ -38,6 +40,12 @@ services:
|
||||||
- db_data:/var/lib/mysql
|
- db_data:/var/lib/mysql
|
||||||
ports:
|
ports:
|
||||||
- "3306:3306"
|
- "3306:3306"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "incr_user", "-pincr_password"]
|
||||||
|
timeout: 10s
|
||||||
|
retries: 10
|
||||||
|
interval: 10s
|
||||||
|
start_period: 10s
|
||||||
networks:
|
networks:
|
||||||
- incr-network
|
- incr-network
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,22 @@
|
||||||
# Copy public files to shared volume if needed
|
# Copy public files to shared volume if needed
|
||||||
cp -r /var/www/html/public/. /var/www/html/public_shared/ 2>/dev/null || true
|
cp -r /var/www/html/public/. /var/www/html/public_shared/ 2>/dev/null || true
|
||||||
|
|
||||||
|
# Create .env file if it doesn't exist
|
||||||
|
if [ ! -f /var/www/html/.env ]; then
|
||||||
|
cp /var/www/html/.env.example /var/www/html/.env 2>/dev/null || touch /var/www/html/.env
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Wait for database to be ready
|
||||||
|
echo "Waiting for database..."
|
||||||
|
until php artisan tinker --execute="DB::connection()->getPdo();" 2>/dev/null; do
|
||||||
|
echo "Database not ready, waiting..."
|
||||||
|
sleep 2
|
||||||
|
done
|
||||||
|
echo "Database is ready!"
|
||||||
|
|
||||||
|
# Generate app key if not set
|
||||||
|
php artisan key:generate --force
|
||||||
|
|
||||||
# Laravel optimizations
|
# Laravel optimizations
|
||||||
php artisan config:cache
|
php artisan config:cache
|
||||||
php artisan route:cache
|
php artisan route:cache
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue