
Halcyon is another web interface of Mastodon.
| Platform | Version |
|---|---|
| Mastodon | latest |
At first, you need to create .env file. This file defines environment variables that enable the application container.
cp .env.example .env
Then, Set your host URL in the .env. It's necessary for registration of Mastodon API.
APP_URL=https://example.com
If you want, uncomment following variables to change several information of client.
- # MASTODON_CLIENT_NAME="My Halcyon Fork"
- # MASTODON_WEBSITE=https://example.com/about/
+ MASTODON_CLIENT_NAME="My Halcyon Fork"
+ MASTODON_WEBSITE=https://example.com/about/
Then, modify docker-compose.yml to uncomment following lines. It makes database persistence.
db:
restart: always
image: postgres:10.1-alpine
- # volumes:
- # - ./postgres:/var/lib/postgresql/data
+ volumes:
+ - ./postgres:/var/lib/postgresql/data
redis:
restart: always
image: redis:4.0.2-alpine
- # volumes:
- # - ./redis:/data
+ volumes:
+ - ./redis:/data
Then initialize the database, install dependencies and compile assets.
docker-compose run --rm web ash -c "composer install --no-progress \
&& php artisan key:generate \
&& php artisan migrate \
&& yarn install --pure-lockfile \
&& npm run prod"
Finally, run containers. By default, container exposes its web server in localhost:2800 so you need to proxy a port in your host to the container.
docker-compose up
docker-compose down
Move onto the web container
docker-compose exec web ash
Change NODE_ENV to development and then install dependence packages for development.
cd /halcyon
export NODE_ENV="development"
yarn --pure-lockfile
After modifying codes, you can build them with:
npm run dev
# Build automatically if updated files
npm run watch
Thanks for supporting Halcyon in Patreon!
3AucsLDnY37qipYngLM5KH9heWkJ1AEArv.Content type
Image
Digest
Size
137.7 MB
Last updated
over 8 years ago
docker pull neetshin/halcyon