git clone https://github.com/danbugs/smithereens.git
cd smithereens
# Create a .env file in the root directory
echo "STARTGG_TOKEN=your_token_here" > .env
# Or export it as an environment variable
export STARTGG_TOKEN=your_token_here
# Using make
make build-all
make local
make local-stop
If you want to run the services locally without Docker:
cd backend
export SMITHE_STARTGG_TOKEN="Bearer your_token_here"
export SMITHE_CLIENT_VERSION=20
export SMITHE_PORT=3000
cargo run
cd frontend
npm install
npm run dev
The frontend development server will proxy API requests to the backend automatically.
# Build both images
make build-all
# Build individually
make build-frontend
make build-backend
Backend (environment variables):
SMITHE_STARTGG_TOKEN=Bearer YOUR_TOKEN_HERE
SMITHE_CLIENT_VERSION=20
SMITHE_PORT=3000
smithereens/
โโโ frontend/ # Svelte frontend application
โ โโโ src/ # Source code
โ โโโ Dockerfile # Frontend container definition
โ โโโ nginx.conf # Nginx configuration
โโโ backend/ # Rust backend API
โ โโโ src/ # Source code
โ โโโ Dockerfile # Backend container definition
โโโ docker-compose.yaml
โโโ Makefile # Convenient commands
โโโ README.md
We welcome contributions from the community! Whether youโre fixing bugs, adding features, or improving documentation, your help makes Smithereens better for everyone.
git checkout -b feature/amazing-feature
)git commit -m 'Add amazing feature'
)git push origin feature/amazing-feature
)docker-compose.yaml
if 8083 or 3000 are already taken# View logs
docker compose logs -f
# Check specific service
docker compose logs -f backend
docker compose logs -f frontend
# Restart services
docker compose restart
This project is licensed under the terms described in the LICENSE.md file.
If you encounter any issues or have questions: