2.5 KiB
2.5 KiB
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.fundpointing 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:
git clone https://gitea.jeffemmett.com/jeffemmett/kindness-fund-website.git
cd kindness-fund-website
Step 2: Build and Start the Docker Container
# 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:
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:
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:
sudo nginx -t
If the test passes, reload Nginx:
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:
cd kindness-fund-website
git pull
docker compose down
docker compose up -d --build
Troubleshooting
Check Docker Container Logs
docker logs kindness-fund-website
Check Nginx Logs
sudo tail -f /var/log/nginx/dokindthings.fund.error.log
sudo tail -f /var/log/nginx/dokindthings.fund.access.log
Check Container Status
docker ps
Rebuild Container
If you need to completely rebuild:
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