Downloading and Running Your Project
Download your configured DevOur project and run it locally.
Prerequisites
Before downloading and running your project, ensure you have:
- Docker and Docker Compose installed
- A DevOur project with at least one version created
- Configured Firebase and Stripe settings in your project
Download Methods
From the Web Dashboard
- Open your project in DevOur
- Find the version in the Versions list
- Click Create Bundle if the version's bundle hasn't been built yet, and wait for it to finish
- Click Download once the bundle is ready
- Extract the downloaded ZIP file to your desired location
From the CLI
The CLI provides a streamlined download experience:
devour fetch <projectId>
Replace <projectId> with your project ID from devour ls.
Download a specific version:
devour fetch --version 1.0.0
When the version doesn't have a bundle yet, devour fetch offers to build it
first.
The CLI extracts files directly to your current directory. Create an empty directory first for a clean setup:
mkdir my-project
cd my-project
devour fetch <projectId>
For CLI installation instructions, see CLI Setup.
Running Your Project
After extracting or fetching your project, start it with Docker Compose:
docker compose up -d --force-recreate --build
This command:
- Builds the client and server containers
- Starts a PostgreSQL database (if using the default database)
- Connects all services on a shared network
Initial build may take several minutes. Subsequent starts are faster.
To build the frontend for production:
docker build --target production -t your_project_client ./client
Accessing Your Application
Once running, access your application at:
- Frontend: http://localhost:3009
- API: http://localhost:3009/api
Project Structure
Your downloaded project contains:
my-project/
├── client/ # React frontend application
├── server/ # API server
├── docker-compose.yml
└── devour.json # Project configuration
Customizing Your Project
Once downloaded, the project is yours to modify freely. You can:
- Edit the React frontend in
client/to match your branding and requirements - Extend the API server in
server/with custom functionality - Adjust
docker-compose.ymlto change ports, add services, or modify container settings - Update environment variables and configuration files
DevOur generates a starting point; how you extend it is entirely up to you.
Stopping Your Project
Stop all running containers:
docker compose down
Stop and remove volumes (deletes database data):
docker compose down -v
Updating Your Project
When you make changes in DevOur and create a new version:
- Stop running containers:
docker compose down - Back up any local modifications
- Remove old containers and images (optional but recommended):
docker compose rm -f docker image prune -a --filter "label=com.docker.compose.project" - Download the new version
- Restart with
docker compose up -d --force-recreate --build
Troubleshooting
Containers fail to start: Check Docker is running and port 3009 is
available, or pick another port for the frontend in docker-compose.yml. Run
docker compose logs to see error details.
Database connection errors: For the default PostgreSQL container, ensure it's healthy before the server starts. The compose file includes health checks, but initial startup may require patience. For external databases, verify your connection string, ensure the database server is accessible from your machine, and check that firewall rules allow the connection.
Authentication not working: Verify your Firebase configuration in project settings. The service account JSON must have the correct permissions.
Payment features not working: Confirm your Stripe keys are correctly configured and products are synced from Stripe.