felsökning docker
This commit is contained in:
+156
@@ -0,0 +1,156 @@
|
||||
# Updating Sloth Manager
|
||||
|
||||
This guide covers the full workflow from making changes in development to deploying them to production.
|
||||
|
||||
---
|
||||
|
||||
## Development workflow
|
||||
|
||||
### 1. Make your changes locally
|
||||
|
||||
Run the app in development mode while making changes:
|
||||
|
||||
```bash
|
||||
# Terminal 1 — backend
|
||||
cd backend
|
||||
npm run dev
|
||||
|
||||
# Terminal 2 — frontend
|
||||
cd frontend
|
||||
npm start
|
||||
```
|
||||
|
||||
Test your changes at `http://localhost:3000`.
|
||||
|
||||
### 2. Commit to Gitea
|
||||
|
||||
When you are happy with the changes:
|
||||
|
||||
```bash
|
||||
cd dns-manager
|
||||
|
||||
# Review what changed
|
||||
git status
|
||||
git diff
|
||||
|
||||
# Stage and commit
|
||||
git add .
|
||||
git commit -m "Short description of what changed"
|
||||
|
||||
# Push to Gitea
|
||||
git push
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Deploying to production
|
||||
|
||||
### On your production server
|
||||
|
||||
```bash
|
||||
# 1. Pull the latest changes from Gitea
|
||||
cd /path/to/dns-manager
|
||||
git pull
|
||||
|
||||
# 2. Rebuild and restart the containers
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
That's it. Docker will rebuild only the layers that changed, so subsequent builds are faster than the first.
|
||||
|
||||
---
|
||||
|
||||
## What happens during an update
|
||||
|
||||
- The Docker images are rebuilt with the new code
|
||||
- The containers are replaced with the new images
|
||||
- The `./sloth-data` volume is **untouched** — all your data (users, DNS cache, secrets, IP addresses, audit log, settings) is preserved
|
||||
- Downtime is typically a few seconds while the new containers start
|
||||
|
||||
---
|
||||
|
||||
## Verifying the update
|
||||
|
||||
After deploying, confirm everything is running:
|
||||
|
||||
```bash
|
||||
# Check container status
|
||||
docker compose ps
|
||||
|
||||
# Check backend logs for errors
|
||||
docker compose logs backend --tail 50
|
||||
|
||||
# Check frontend logs
|
||||
docker compose logs frontend --tail 20
|
||||
```
|
||||
|
||||
Open the app in your browser and verify the changes are live.
|
||||
|
||||
---
|
||||
|
||||
## Rolling back to a previous version
|
||||
|
||||
If something goes wrong, roll back to the last working commit:
|
||||
|
||||
```bash
|
||||
# Find the commit you want to roll back to
|
||||
git log --oneline
|
||||
|
||||
# Check out that commit
|
||||
git checkout <commit-hash>
|
||||
|
||||
# Rebuild
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
To return to the latest version later:
|
||||
|
||||
```bash
|
||||
git checkout main
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
### Using tags for release management (recommended)
|
||||
|
||||
Tag stable versions before deploying to production so you always have a clean rollback point:
|
||||
|
||||
```bash
|
||||
# On your dev machine — tag before pushing
|
||||
git tag v1.1
|
||||
git push origin v1.1
|
||||
|
||||
# On the production server — deploy a specific tag
|
||||
git fetch --tags
|
||||
git checkout v1.1
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Backing up data before a major update
|
||||
|
||||
For significant updates it is good practice to back up your data first:
|
||||
|
||||
```bash
|
||||
# On the production server
|
||||
cp -r ./sloth-data ./sloth-data-backup-$(date +%Y%m%d)
|
||||
```
|
||||
|
||||
Or as a compressed archive:
|
||||
|
||||
```bash
|
||||
tar czf sloth-backup-$(date +%Y%m%d).tar.gz ./sloth-data
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Quick reference
|
||||
|
||||
| Task | Command |
|
||||
|------|---------|
|
||||
| Pull latest code | `git pull` |
|
||||
| Rebuild and restart | `docker compose up -d --build` |
|
||||
| View running containers | `docker compose ps` |
|
||||
| View logs | `docker compose logs -f` |
|
||||
| Roll back to a tag | `git checkout v1.x && docker compose up -d --build` |
|
||||
| Back up data | `cp -r ./sloth-data ./sloth-data-backup-$(date +%Y%m%d)` |
|
||||
@@ -1,5 +1,5 @@
|
||||
# Cloudflare
|
||||
CLOUDFLARE_API_TOKEN=6wDdCPIi63p9Mbd1bDsaoITtkkd9MKSCcRhnRzDZ
|
||||
CLOUDFLARE_API_TOKEN=your_cloudflare_api_password
|
||||
|
||||
# Loopia
|
||||
LOOPIA_USER=your_loopia_api_user@loopiaapi
|
||||
|
||||
Reference in New Issue
Block a user