Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Fresh install, "Error occured" Docker windows #250

Closed
1 task done
nulledone opened this issue Dec 31, 2024 · 7 comments
Closed
1 task done

[BUG] Fresh install, "Error occured" Docker windows #250

nulledone opened this issue Dec 31, 2024 · 7 comments

Comments

@nulledone
Copy link

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

I'm on a fresh install, tried with different compose ymls from solidnerd and lsrc. Always same result. At my first try I've encountered Error 500 on localhost:6875, however I've even tried with my custom domain still same issue. Searching through web yielded unhelpful results that did not aid my issue.

Error on the page is:
An Error Occurred
An unknown error occurred

Expected Behavior

No response

Steps To Reproduce

  1. compose up -d with yml

Environment

- OS:Windows
- How docker service was installed: WSL2

CPU architecture

x86-64

Docker creation

YML, exactly as following:
services:
  bookstack:
    image: lscr.io/linuxserver/bookstack:latest
    container_name: bookstack
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - APP_URL=http://localhost:6875
      - APP_KEY= **REMOVED**
      - DB_HOST=db
      - DB_PORT=3306
      - DB_USERNAME=bookstackuser
      - DB_PASSWORD=yourpassword
      - DB_DATABASE=bookstack
      - QUEUE_CONNECTION= #optional
    volumes:
      - ./bs_config:/config
    ports:
      - 6875:80
    restart: unless-stopped

  db:
    image: mariadb:latest
    container_name: bookstack_db
    environment:
      MYSQL_ROOT_PASSWORD: yourpassword
      MYSQL_DATABASE: bookstack
      MYSQL_USER: bookstackuser
      MYSQL_PASSWORD: yourpassword
    volumes:
      - ./db_data:/var/lib/mysql
    restart: unless-stopped

volumes:
  db_data:

Container logs

bootstack log on first setup:
2024-12-31 16:08:57   2023_01_24_104625_refactor_joint_permissions_storage .............. 3ms FAIL
2024-12-31 16:08:57 
2024-12-31 16:08:57    Illuminate\Database\QueryException 
2024-12-31 16:08:57 
2024-12-31 16:08:57   SQLSTATE[HY000]: General error: 1030 Got error 194 "Tablespace is missing for a table" from storage engine InnoDB (Connection: mysql, SQL: truncate table `joint_permissions`)
2024-12-31 16:08:57 
2024-12-31 16:08:57   at /app/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829
2024-12-31 16:08:57     825▕                     $this->getName(), $query, $this->prepareBindings($bindings), $e
2024-12-31 16:08:57     826▕                 );
2024-12-31 16:08:57     827▕             }
2024-12-31 16:08:57     828▕ 
2024-12-31 16:08:57   ➜ 829▕             throw new QueryException(
2024-12-31 16:08:57     830▕                 $this->getName(), $query, $this->prepareBindings($bindings), $e
2024-12-31 16:08:57     831▕             );
2024-12-31 16:08:57     832▕         }
2024-12-31 16:08:57     833▕     }
2024-12-31 16:08:57 
2024-12-31 16:08:57       +6 vendor frames 
2024-12-31 16:08:57 
2024-12-31 16:08:57   7   /app/www/database/migrations/2023_01_24_104625_refactor_joint_permissions_storage.php:18
2024-12-31 16:08:57       Illuminate\Database\Query\Builder::truncate()
2024-12-31 16:08:57       +24 vendor frames 
2024-12-31 16:08:57 
2024-12-31 16:08:57   32  /app/www/artisan:35
2024-12-31 16:08:57       Illuminate\Foundation\Console\Kernel::handle()
2024-12-31 16:08:57 

db log:
2024-12-31 16:08:47 2024-12-31 13:08:47 0 [Note] mariadbd: ready for connections.
2024-12-31 16:08:47 Version: '11.6.2-MariaDB-ubu2404'  socket: '/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution
2024-12-31 16:08:48 2024-12-31 13:08:48 3 [Warning] Aborted connection 3 to db: 'unconnected' user: 'unauthenticated' host: '172.21.0.3' (This connection closed normally without authentication)
2024-12-31 16:08:57 2024-12-31 13:08:57 4 [ERROR] InnoDB: Cannot rename './bookstack/joint_permissions.ibd' to './bookstack/#sql-ib69.ibd' because the source file does not exist.
2024-12-31 16:08:43 2024-12-31 13:08:43+00:00 [Note] [Entrypoint]: Temporary server stopped
2024-12-31 16:08:43 
2024-12-31 16:08:43 2024-12-31 13:08:43+00:00 [Note] [Entrypoint]: MariaDB init process done. Ready for start up.
Copy link

Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.

@j0nnymoe
Copy link
Member

The issue here is using windows as a host, Assuming you're just using Docker Desktop, you should try install Ubuntu for WSL2 then installing docker-engine within that to see if you get the same issue.

@nulledone
Copy link
Author

I have just over 20 containers on Docker and none of them have such issue. I would rather have more viable solution than your suggestion.

@thespad
Copy link
Member

thespad commented Dec 31, 2024

There is a specific known issue with WSL and the SQL migrations. See #125 for examples.

In some cases it can be resolved by using internal WSL paths and not Windows-mounted ones, but it doesn't seem to be a silver bullet.

@drizuid
Copy link
Member

drizuid commented Dec 31, 2024

I would rather have more viable solution than your suggestion.

to be clear here, as stated in our support policy, we do not support docker desktop or docker on windows, but we will endeavor to assist. Our suggestion is use ubuntu on wsl2 and docker run or docker compose, ensuring you use internal wsl paths. We do not run or test docker on windows, we do not use docker desktop; we HAVE tested ubuntu on wsl2 using internal paths and have had success this way, though there are still known issues, as indicated by spad above with #125

@nulledone
Copy link
Author

It sucks to hear that support is limited for Docker Desktop, however I believe I've found another workaround. That may aid other people in future. As this issue is rather a WSL limitation than bookstack, I'm closing it.

I am a Docker Desktop junkie, I refuse to use or migrate to anything else.

bookstack:
volumes:
      - bookstackdata_1:/config
db:
volumes:
      - bookstackdb:/var/lib/mysql

volumes:
  bookstackdata_1:
    driver: local
    driver_opts:
      type: none
      device: A:\Bookstack\data
      o: bind
  bookstackdb:
    driver: local
    driver_opts:
      type: none
      device: A:\Bookstack\db
      o: bind

@LinuxServer-CI LinuxServer-CI moved this from Issues to Done in Issue & PR Tracker Jan 1, 2025
@thespad
Copy link
Member

thespad commented Jan 1, 2025

MySQL 8.0 is EOL in a little over a year, I would not recommend setting up anything new using it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

4 participants