mirror of
https://github.com/Such-Software/xmrcheckout.git
synced 2026-10-17 05:51:34 +02:00
Add README.md
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
# xmrcheckout.com
|
||||
|
||||
Non-custodial Monero checkout software. Payments go directly from the
|
||||
customer to the merchant. This project never requests spend keys and
|
||||
never moves funds.
|
||||
|
||||
## Run the homepage
|
||||
|
||||
### Docker
|
||||
```
|
||||
docker build -t xmrcheckout-home .
|
||||
docker run --rm -p 8080:80 xmrcheckout-home
|
||||
```
|
||||
|
||||
Open `http://localhost:8080` for the homepage.
|
||||
|
||||
## Run the full stack locally (Docker Compose)
|
||||
|
||||
```
|
||||
docker compose up --build
|
||||
```
|
||||
|
||||
Open `https://localhost` for the UI (HTTP redirects to HTTPS).
|
||||
The API runs on `http://127.0.0.1:8000` and Postgres on port `5432`.
|
||||
|
||||
## Self-hosted deployment (Docker Compose)
|
||||
|
||||
1. Copy the environment template and fill in required values:
|
||||
```
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
2. Set required values in `.env`:
|
||||
- `POSTGRES_USER`, `POSTGRES_PASSWORD`, `POSTGRES_DB`
|
||||
- `API_KEYS`, `API_KEY_ENCRYPTION_KEY`
|
||||
- `SITE_URL` (public URL for the UI)
|
||||
- Monero view-only wallet settings (`MONERO_WALLET_RPC_*`) and daemon URL
|
||||
- `MONERO_DAEMON_URL` if you use your own daemon
|
||||
|
||||
3. Choose a wallet-rpc target and provision view-only wallets:
|
||||
- Use the bundled wallet-rpc containers:
|
||||
- Set `MONERO_WALLET_RPC_URLS=http://wallet-rpc-reconciler-1:18083,http://wallet-rpc-reconciler-2:18083,http://wallet-rpc-reconciler-3:18083`
|
||||
- Or point to an external wallet-rpc service:
|
||||
- Set `MONERO_WALLET_RPC_URLS`, `MONERO_WALLET_RPC_USER`,
|
||||
`MONERO_WALLET_RPC_PASSWORD`, and `MONERO_WALLET_RPC_WALLET_PASSWORD`
|
||||
|
||||
4. Start the stack:
|
||||
```
|
||||
docker compose up --build -d
|
||||
```
|
||||
|
||||
### Donations (disabled by default)
|
||||
|
||||
Donation endpoints and UI are off by default for self-hosted deployments.
|
||||
To enable donations:
|
||||
- Set `DONATIONS_ENABLED=true`
|
||||
- Set `FOUNDER_PAYMENT_ADDRESS` and `FOUNDER_VIEW_KEY`
|
||||
|
||||
The UI uses the same flag (via Compose), so `/donate` stays unavailable
|
||||
unless donations are explicitly enabled.
|
||||
|
||||
## Run the API (Python)
|
||||
|
||||
1. Set environment variables (see `api/.env.example`):
|
||||
```
|
||||
export DATABASE_URL=postgresql://xmrcheckout:xmrcheckout@localhost:5432/xmrcheckout
|
||||
export API_KEYS=change-me-1
|
||||
```
|
||||
|
||||
2. Install dependencies:
|
||||
```
|
||||
python -m venv .venv
|
||||
source .venv/bin/activate
|
||||
pip install -r api/requirements.txt
|
||||
```
|
||||
|
||||
3. Start the API:
|
||||
```
|
||||
uvicorn api.app.main:app --reload
|
||||
```
|
||||
|
||||
The API listens on `http://127.0.0.1:8000`.
|
||||
Reference in New Issue
Block a user