Hecate, Greek Goddess guarding of the portal between realms, is the one stop shop for planning your next trip
- Download latest release of Go
docker-compose up -d
builds and runs the applicationgo run *.go
builds and runs the final binary locally
The project now uses SQLite for local data storage. The database file is automatically created in the /app/data
directory when the application starts.
If you have an existing PostgreSQL database dump and want to migrate to SQLite:
- Ensure you have
pg_restore
andsqlite3
installed - Run the migration script:
./scripts/migrate_postgres_to_sqlite.sh path/to/your/postgres_dump.sql
The migration script does the following:
- Converts PostgreSQL custom dump to plain SQL
- Modifies SQL to be SQLite-compatible
- Replaces SERIAL with INTEGER PRIMARY KEY AUTOINCREMENT
- Converts JSONB to TEXT
- Adjusts sequence and data type references
- Creates a new SQLite database file
- Imports the converted data
- The SQLite database is persisted using a Docker volume
sqlite_data
- The database file is located at
/app/data/hecate.db
inside the container - When running locally, the database will be created in a
./data
directory
Since SQLite is a file-based database, you can backup the database by simply copying the .db
file:
# Inside the container
docker exec hecate cp /app/data/hecate.db /app/data/hecate_backup.db
# Or locally
cp ./data/hecate.db ./data/hecate_backup.db
To migrate the database to a new system, just copy the .db
file to the new location.
-
Start the application:
docker-compose up -d
-
Stop the application:
docker-compose down
-
Rebuild the application:
docker-compose up -d --build
-
Install dependencies:
go mod download
-
Run the application:
go run *.go