# LinkAce - Decent UI with light & dark themes (but not without issues & FOUCs) - UX is a bit odd at times and not very intuitive (e.g. Clicking on a link name will open the link in one place, but in another it will open the link-ace entry) - Imports only from `bookmarks.html` exported from a browser (and it looks like it's crashing at the end, as you need to manually refresh the page) - Auto-tags bookmarks on import - No bulk actions (e.g. cannot tag/untag 10 items at once) - Search is not quick & easy to use and filters are odd: - e.g. you can filter for "Private links only" but not for "Public links only" - you can uncheck "title" and "description" and it will still find stuff - [Github repo](https://github.com/Kovah/LinkAce/) - [Docs](https://www.linkace.org/docs) ![Screenshot](linkace.png) ## Important step! After `docker-compose up -d` you need to run a few commands: ```sh # generate app key docker exec linkace_app_1 php artisan key:generate # set permissions chmod 777 .env sudo chmod -R 777 logs ``` ## .env ```ini # The application name is used internally and may not be changed APP_NAME=LinkAce COMPOSE_PROJECT_NAME=linkace APP_URL=http://192.168.1.10 APP_ENV=production APP_DEBUG=false SETUP_COMPLETED=false # The app key is generated later, please leave it blank APP_KEY= # Set to true, if you are using a proxy that terminates SSL. Required to get the correct URLs for LinkAce FORCE_HTTPS=false # session expiration in minutes. Default is 7 days. SESSION_LIFETIME=10080 BACKUP_ENABLED=false BACKUP_DISK=local BACKUP_MAX_SIZE=512 ## If you are using the standard configuration provided by LinkAce, you can leave all values except the password as they are. Docker will automatically create a linkace database and a corresponding user. DB_CONNECTION=mysql DB_HOST=db DB_PORT=3306 DB_DATABASE=linkace # Even if you use the standard configuration, please set a secure password here. DB_USERNAME=linkace DB_PASSWORD=ChangeThisToASecurePassword! ## Redis cache configuration # REDIS_HOST=redis # REDIS_PASSWORD=ChangeThisToASecurePassword! # REDIS_PORT=6379 ## You probably do not want to change any values blow. Only continue if you know what you are doing. SESSION_DRIVER=file LOG_CHANNEL=stack BROADCAST_DRIVER=log CACHE_DRIVER=file QUEUE_DRIVER=database ``` ## docker-compose.yml ```yml --- version: "3" services: db: image: mariadb:10.5 restart: unless-stopped command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_bin environment: - MYSQL_ROOT_PASSWORD=${DB_PASSWORD} - MYSQL_USER=${DB_USERNAME} - MYSQL_PASSWORD=${DB_PASSWORD} - MYSQL_DATABASE=${DB_DATABASE} volumes: - ./db:/var/lib/mysql app: image: linkace/linkace:simple restart: unless-stopped depends_on: - db ports: - "3123:80" volumes: - ./.env:/app/.env - ./logs:/app/storage/logs - ./backups:/app/storage/app/backups ```