mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-04 05:12:38 +02:00
refactor: update migration handling and enhance documentation for updates
This commit is contained in:
parent
f92567acd8
commit
25ab830b4c
2 changed files with 65 additions and 8 deletions
|
|
@ -212,11 +212,10 @@ run_migrations() {
|
||||||
echo "✅ Database migrations complete"
|
echo "✅ Database migrations complete"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Run migrations on first start or when explicitly requested
|
# Always run migrations on startup - alembic upgrade head is safe to run
|
||||||
if [ ! -f /data/.migrations_run ] || [ "${FORCE_MIGRATIONS:-false}" = "true" ]; then
|
# every time. It only applies pending migrations (never re-runs applied ones,
|
||||||
run_migrations
|
# never calls downgrade). This ensures updates are applied automatically.
|
||||||
touch /data/.migrations_run
|
run_migrations
|
||||||
fi
|
|
||||||
|
|
||||||
# ================================================
|
# ================================================
|
||||||
# Environment Variables Info
|
# Environment Variables Info
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,6 @@ description: Setting up SurfSense using Docker
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Docker Installation
|
|
||||||
|
|
||||||
This guide explains how to run SurfSense using Docker, with options ranging from quick single-command deployment to full production setups.
|
This guide explains how to run SurfSense using Docker, with options ranging from quick single-command deployment to full production setups.
|
||||||
|
|
||||||
## Quick Start with Docker 🐳
|
## Quick Start with Docker 🐳
|
||||||
|
|
@ -126,6 +123,53 @@ docker rm surfsense
|
||||||
docker rm surfsense && docker volume rm surfsense-data
|
docker rm surfsense && docker volume rm surfsense-data
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Updating
|
||||||
|
|
||||||
|
To update SurfSense to the latest version, you can use either of the following methods:
|
||||||
|
|
||||||
|
<Callout type="info">
|
||||||
|
Your data is safe! The `surfsense-data` volume persists across updates, and database migrations are applied automatically on every startup.
|
||||||
|
</Callout>
|
||||||
|
|
||||||
|
**Option 1: Manual Update**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Stop and remove the current container
|
||||||
|
docker rm -f surfsense
|
||||||
|
|
||||||
|
# Pull the latest image
|
||||||
|
docker pull ghcr.io/modsetter/surfsense:latest
|
||||||
|
|
||||||
|
# Start with the new image
|
||||||
|
docker run -d -p 3000:3000 -p 8000:8000 -p 5133:5133 \
|
||||||
|
-v surfsense-data:/data \
|
||||||
|
--name surfsense \
|
||||||
|
--restart unless-stopped \
|
||||||
|
ghcr.io/modsetter/surfsense:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
**Option 2: Using Watchtower (one-time auto-update)**
|
||||||
|
|
||||||
|
[Watchtower](https://github.com/nicholas-fedor/watchtower) can automatically pull the latest image, stop the old container, and restart it with the same options:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run --rm \
|
||||||
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
|
nickfedor/watchtower \
|
||||||
|
--run-once surfsense
|
||||||
|
```
|
||||||
|
|
||||||
|
<Callout type="warn">
|
||||||
|
Use the `nickfedor/watchtower` fork. The original `containrrr/watchtower` is no longer maintained and may fail with newer Docker versions.
|
||||||
|
</Callout>
|
||||||
|
|
||||||
|
If you used Docker Compose for the quick start, updating is simpler:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose -f docker-compose.quickstart.yml pull
|
||||||
|
docker compose -f docker-compose.quickstart.yml up -d
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Full Docker Compose Setup (Production)
|
## Full Docker Compose Setup (Production)
|
||||||
|
|
@ -395,6 +439,20 @@ pgAdmin is included in the Docker setup to help manage your PostgreSQL database.
|
||||||
- Password: `postgres` (or your custom POSTGRES_PASSWORD)
|
- Password: `postgres` (or your custom POSTGRES_PASSWORD)
|
||||||
6. Click "Save" to connect
|
6. Click "Save" to connect
|
||||||
|
|
||||||
|
## Updating (Full Docker Compose)
|
||||||
|
|
||||||
|
To update the full Docker Compose production setup to the latest version:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Pull latest changes
|
||||||
|
git pull
|
||||||
|
|
||||||
|
# Rebuild and restart containers
|
||||||
|
docker compose up --build -d
|
||||||
|
```
|
||||||
|
|
||||||
|
Database migrations are applied automatically on startup.
|
||||||
|
|
||||||
## Useful Docker Commands
|
## Useful Docker Commands
|
||||||
|
|
||||||
### Container Management
|
### Container Management
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue