AFFiNE
Workspace that mixes docs, whiteboards and databases, so a page can flip between writing and an endless canvas. Edits sync to this server as you type.
Documents / Productivity / Wiki
Question-and-answer site for a community, product forum or team knowledge base, with voting, accepted answers, tags, reputation and badges.
It isn't in the main Portainer Templates list yet, so use this one. Portainer takes one URL at a time, so it swaps out whatever list you had before.
In Portainer, head to Settings --> App Templates, paste this in as the URL and save.
https://raw.githubusercontent.com/NotAFlightRisk/portainer-templates-extras/main/templates.json http://<your-server>:9080 in a browser.Save this as compose.yml, then run docker compose up -d next to it.
services:
apache-answer:
image: apache/answer:latest
container_name: apache-answer
restart: unless-stopped
ports:
- 9080:80
environment:
TZ: UTC
volumes:
- apache-answer-data:/data
volumes:
apache-answer-data:
Or skip the file and start it with one command.
docker run -d \
--name apache-answer \
--restart unless-stopped \
-p 9080:80 \
-e TZ=UTC \
-v apache-answer-data:/data \
apache/answer:latest Open http://<your-host>:9080 from the address you'll actually use, since the setup wizard saves it as the Site URL that links and uploads are built from. On the database step pick SQLite (it defaults to MySQL, which isn't there) and leave the file as /data/answer.db. The last step creates the admin, and whoever reaches the wizard first gets to, so do it straight away. Sign-ups stay open but need email verification, so new accounts can't post until you set up Admin --> Advanced --> SMTP, or close them under Advanced --> Login. The database, config and uploads all live in the volume. Docs: answer.apache.org/docs
What the Portainer form asks for. With compose they go in the environment block instead.
| Variable | What it's for | Default |
|---|---|---|
TZ | Timezone Like Europe/London. The site starts on it, and you can change it later in the admin. | UTC |
Change the left side of a port if it clashes with something else on your server. The volumes are where the data lives, so keep them when you update.
| On your server | In the container |
|---|---|
9080 | 80/tcp |
apache-answer-data | /data |