120 lines
2.5 KiB
Markdown
120 lines
2.5 KiB
Markdown
# Deployment Instructions for dokindthings.fund
|
|
|
|
This guide will help you deploy the Kindness Fund website to your private server at dokindthings.fund.
|
|
|
|
## Prerequisites
|
|
|
|
- Docker and Docker Compose installed on your server
|
|
- Nginx installed and configured
|
|
- Domain `dokindthings.fund` pointing to your server's IP address
|
|
- SSL certificate (Let's Encrypt recommended)
|
|
|
|
## Step 1: Clone the Repository
|
|
|
|
On your server, clone the repository from your Gitea instance:
|
|
|
|
```bash
|
|
git clone https://gitea.jeffemmett.com/jeffemmett/kindness-fund-website.git
|
|
cd kindness-fund-website
|
|
```
|
|
|
|
## Step 2: Build and Start the Docker Container
|
|
|
|
```bash
|
|
# Create the external network if it doesn't exist
|
|
docker network create web
|
|
|
|
# Build and start the container
|
|
docker compose up -d --build
|
|
```
|
|
|
|
The application will be available on port 3001 locally.
|
|
|
|
## Step 3: Configure Nginx
|
|
|
|
Copy the Nginx configuration to your Nginx sites-available directory:
|
|
|
|
```bash
|
|
sudo cp nginx/dokindthings.fund.conf /etc/nginx/sites-available/dokindthings.fund
|
|
sudo ln -s /etc/nginx/sites-available/dokindthings.fund /etc/nginx/sites-enabled/
|
|
```
|
|
|
|
## Step 4: Set Up SSL Certificate
|
|
|
|
If you don't have an SSL certificate yet, use Let's Encrypt:
|
|
|
|
```bash
|
|
sudo certbot --nginx -d dokindthings.fund -d www.dokindthings.fund
|
|
```
|
|
|
|
This will automatically obtain and configure the SSL certificate.
|
|
|
|
If you already have certificates, update the paths in the Nginx configuration file.
|
|
|
|
## Step 5: Test and Reload Nginx
|
|
|
|
Test the Nginx configuration:
|
|
|
|
```bash
|
|
sudo nginx -t
|
|
```
|
|
|
|
If the test passes, reload Nginx:
|
|
|
|
```bash
|
|
sudo systemctl reload nginx
|
|
```
|
|
|
|
## Step 6: Verify Deployment
|
|
|
|
Visit https://dokindthings.fund in your browser to verify the site is working.
|
|
|
|
## Updating the Site
|
|
|
|
To update the site with new changes:
|
|
|
|
```bash
|
|
cd kindness-fund-website
|
|
git pull
|
|
docker compose down
|
|
docker compose up -d --build
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### Check Docker Container Logs
|
|
|
|
```bash
|
|
docker logs kindness-fund-website
|
|
```
|
|
|
|
### Check Nginx Logs
|
|
|
|
```bash
|
|
sudo tail -f /var/log/nginx/dokindthings.fund.error.log
|
|
sudo tail -f /var/log/nginx/dokindthings.fund.access.log
|
|
```
|
|
|
|
### Check Container Status
|
|
|
|
```bash
|
|
docker ps
|
|
```
|
|
|
|
### Rebuild Container
|
|
|
|
If you need to completely rebuild:
|
|
|
|
```bash
|
|
docker compose down
|
|
docker compose build --no-cache
|
|
docker compose up -d
|
|
```
|
|
|
|
## Notes
|
|
|
|
- The application runs on port 3001 internally
|
|
- Nginx acts as a reverse proxy, forwarding HTTPS traffic from port 443 to port 3001
|
|
- The Docker container will automatically restart unless stopped manually
|
|
- Make sure your firewall allows traffic on ports 80 and 443
|