A full FoolFuuka stack on top of docker to remove the setup overhead and allow portability.
- Save docker-compose.yml (and maybe .env) on your system. Edit
foolstack-scraper
environment - Adjust
foolstack-scraper
and add the boards you wish to archive docker-compose up -d
>> http://yourhost:8080/admin Login:admin:admin
- Add the boards, that you defined in
foolstack-scraper
, in the webui. - Run "Trigger search indexing" (see bellow). You will get ERRORS, just run it again till none are displayed.
- Restart the
foolstack-sphinx
container
Trigger search indexing: docker exec -it foolstack-sphinx indexer --rotate --all
Trigger background search indexing: docker exec -t -d foolstack-sphinx indexer --rotate --all
If you are binding directories:
- ff-db
999:999
- ff-sphinx-data:
101:101
- The rest is
1000:1000
version: "2.1"
services:
foolstack-db:
image: ghcr.io/suika/foolstack-docker:percona
container_name: foolstack-db
restart: always
networks:
- foolstack
environment:
MYSQL_ROOT_PASSWORD: pass
volumes:
- ff-db:/var/lib/mysql
- ff-db-logs:/var/log/mysql
foolstack-php:
image: ghcr.io/suika/foolstack-docker:php
container_name: foolstack-php
restart: always
networks:
- foolstack
depends_on:
foolstack-db:
condition: service_healthy
foolstack-redis:
condition: service_healthy
volumes:
- ff-foolframe-temp:/var/www/foolfuuka/public/foolframe/foolz
- ff-foolfuuka-temp:/var/www/foolfuuka/public/foolfuuka/foolz
- ff-foolfuuka-conf:/var/www/foolfuuka/app/foolz/foolfuuka/config
- ff-foolframe-conf:/var/www/foolfuuka/app/foolz/foolframe/config
- ff-foolframe-logs:/var/www/foolfuuka/app/foolz/foolframe/logs
# - ff-boards:/var/www/foolfuuka/public/foolfuuka/boards # uncomment for image uploads by foolfuuka
foolstack-nginx:
image: ghcr.io/suika/foolstack-docker:nginx
container_name: foolstack-nginx
restart: always
networks:
- foolstack
depends_on:
foolstack-db:
condition: service_healthy
foolstack-php:
condition: service_healthy
foolstack-redis:
condition: service_healthy
volumes:
- ff-foolframe-temp:/var/www/foolfuuka/public/foolframe/foolz:ro
- ff-foolfuuka-temp:/var/www/foolfuuka/public/foolfuuka/foolz:ro
- ff-boards:/var/www/foolfuuka/public/foolfuuka/boards:ro
ports:
- 8080:80
foolstack-redis:
container_name: foolstack-redis
image: healthcheck/redis
restart: always
networks:
- foolstack
volumes:
- ff-redis:/data
foolstack-scraper:
image: ghcr.io/suika/foolstack-docker:hayden # :asagi :eve :hayden
container_name: foolstack-scraper
restart: always
networks:
- foolstack
depends_on:
foolstack-db:
condition: service_healthy
environment:
- SCRAPER_BOARDS=w,wg
- SCRAPER_DOWNLOAD_MEDIA=True
- SCRAPER_DOWNLOAD_THUMBS=True
volumes:
- ff-boards:/boards
foolstack-sphinx:
image: ghcr.io/suika/foolstack-docker:manticore
container_name: foolstack-sphinx
restart: always
networks:
- foolstack
depends_on:
foolstack-db:
condition: service_healthy
volumes:
- ff-sphinx-data:/var/lib/manticore
- ff-sphinx-logs:/var/log/manticore
volumes:
ff-foolframe-temp: # FoolFrame generated content on the fly via php
driver: local
ff-foolfuuka-temp: # FoolFuuka generated content on the fly via php
driver: local
ff-foolframe-logs: # FoolFrame logs
driver: local
ff-foolfuuka-conf: # Persistent configs
driver: local
ff-foolframe-conf: # Persistent configs
driver: local
ff-db: # Percona DB
driver: local
ff-db-logs: # Percona DB Logs
driver: local
ff-sphinx-data: # MantiCore DB
driver: local
ff-sphinx-logs: # MantiCore Logs
driver: local
ff-boards: # Downloaded images and thumbs
driver: local
ff-redis: # Redis
driver: local
networks:
foolstack:
name: foolstack