23 lines
1.2 KiB
Markdown
23 lines
1.2 KiB
Markdown
# Eternity Project web server
|
|
|
|
A Dockerized publishing service for eternityproject.fi. It provides local accounts, password hashing, authenticated publishing, and owner-only post editing. Content is persisted to SQLite in a named Docker volume.
|
|
|
|
## Run it
|
|
|
|
1. Copy `.env.example` to `.env` and replace `SECRET_KEY` with a long random string.
|
|
2. Build and start the service:
|
|
|
|
```sh
|
|
docker compose up --build -d
|
|
```
|
|
|
|
Open `http://localhost:8000`, create the first account, and publish a field note. The first request initializes the database automatically.
|
|
|
|
## Accounts and MFA
|
|
|
|
The initial administrator account is `admin` with password `admin`, as requested for first-run access. Sign in, enroll MFA, and change this password before exposing the service to the internet. New registrations are held for approval in **Accounts**; accepted users must enroll a TOTP authenticator before they can publish.
|
|
|
|
## Production notes
|
|
|
|
Put this service behind a TLS reverse proxy for `eternityproject.fi` (for example Caddy or Nginx). Set a strong unique `SECRET_KEY`; the Compose file intentionally refuses to start without it. Back up the `eternity_data` Docker volume, which contains accounts and posts.
|